Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
131d5a48e7 | ||
|
|
827fe90d1a | ||
|
|
3950a6ac47 | ||
|
|
e9024b77d8 | ||
|
|
c91bd3f9cf | ||
|
|
52eb54c922 | ||
|
|
34707b1ed5 | ||
|
|
c26bc402a4 | ||
|
|
ff682bff13 | ||
|
|
dff8e5df3f | ||
|
|
b8ab915083 | ||
|
|
ac3b405df6 | ||
|
|
2924282425 | ||
|
|
fa4c5c645f | ||
|
|
2ddf80a41b | ||
|
|
bc97ca6356 | ||
|
|
0d64108dc8 | ||
|
|
a7ee29e57a | ||
|
|
a768a013f7 | ||
|
|
0dc5cba6b8 | ||
|
|
57a64a1340 | ||
|
|
5497b10e46 | ||
|
|
d2b0877bd8 | ||
|
|
d8b85102bc | ||
|
|
80dddb6752 | ||
|
|
3b4f53a409 | ||
|
|
618ce76ba0 | ||
|
|
d973e5a568 | ||
|
|
3126383beb | ||
|
|
ff2d8357be | ||
|
|
1cb0b8021f | ||
|
|
66f595e485 | ||
|
|
faea5fcac1 | ||
|
|
93e96a5e47 | ||
|
|
747faf54b3 | ||
|
|
d7752784f1 | ||
|
|
0b32eaf1b1 | ||
|
|
fedebd60c8 | ||
|
|
18fc6a629e | ||
|
|
345900742c | ||
|
|
9a19768a86 | ||
|
|
1e4b38675b | ||
|
|
84ce2c9a7d | ||
|
|
f062ae54e6 | ||
|
|
64bb0ebdbd | ||
|
|
b7935442d8 |
+2
-2
@@ -110,9 +110,9 @@ message(STATUS "Configuring PROJ:")
|
||||
#PROJ version information
|
||||
################################################################################
|
||||
include(ProjVersion)
|
||||
proj_version(MAJOR 8 MINOR 1 PATCH 0)
|
||||
proj_version(MAJOR 8 MINOR 1 PATCH 1)
|
||||
set(PROJ_API_VERSION "22")
|
||||
set(PROJ_BUILD_VERSION "23.0.1")
|
||||
set(PROJ_BUILD_VERSION "22.1.1")
|
||||
|
||||
################################################################################
|
||||
# Build features and variants
|
||||
|
||||
@@ -1,3 +1,56 @@
|
||||
8.1.1 Release Notes
|
||||
-------------------
|
||||
|
||||
Updates
|
||||
-------
|
||||
|
||||
o EPSG Database updated to version 10.028 (#2773)
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
|
||||
o Include algorithm header file to avoid build errors on Alpine Linux (#2769)
|
||||
|
||||
o CMake: fix installation of executables on iOS (#2766)
|
||||
|
||||
o Associate extents to transformations of CRS's that include GEOIDMODEL (#2769)
|
||||
|
||||
o Logging: avoid some overhead when logging is not enabled (#2775)
|
||||
|
||||
o ortho: remove useless and invalid log trace (#2777)
|
||||
|
||||
o CMake: remove external nlohmann_json from INTERFACE_LINK_LIBRARIES target (#2781)
|
||||
o reateOperations(): fix SourceTargetCRSExtentUse::NONE mode (#2783)
|
||||
|
||||
o GeoTIFF grid reading: perf improvements (#2788)
|
||||
|
||||
o Conversion::createUTM(): avoid integer overflow (#2796)
|
||||
|
||||
o Inverse laea ellipsoidal: return PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN
|
||||
when appropriates (#2801)
|
||||
|
||||
o Make sure that proj_crs_promote_to_3D returns a derived CRS (#2806)
|
||||
|
||||
o createOperations(): fix missing deg<-->rad conversion when transforming with a
|
||||
CRS that has a fallback-to-PROJ4-string behaviour and is a BoundCRS of a
|
||||
GeographicCRS (#2808)
|
||||
|
||||
o WKT2 import/export: preserve PROJ.4 CRS extension string in REMARKS[] (#2812)
|
||||
|
||||
o BoundCRS: accept importing/exporting in WKT2 and PROJJSON the
|
||||
scope/area/extent/id attributes (#2815)
|
||||
|
||||
o ConcatenatedOperation::fixStepsDirection(): fix bad chaining of steps when
|
||||
inverse map projection is involved in non-final step (#2819)
|
||||
|
||||
|
||||
THANKS TO
|
||||
---------
|
||||
|
||||
Brendan Jurd
|
||||
Kristian Evers
|
||||
Even Rouault
|
||||
|
||||
8.1.0 Release Notes
|
||||
-------------------
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT([PROJ], [8.1.0],
|
||||
AC_INIT([PROJ], [8.1.1],
|
||||
[https://github.com/OSGeo/PROJ/issues], proj, [https://proj.org])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_LANG(C)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$id": "https://proj.org/schemas/v0.2/projjson.schema.json",
|
||||
"$id": "https://proj.org/schemas/v0.3/projjson.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for PROJJSON (v0.2.1)",
|
||||
"description": "Schema for PROJJSON (v0.3)",
|
||||
"$comment": "This file exists both in data/ and in schemas/vXXX/. Keep both in sync. And if changing the value of $id, change PROJJSON_CURRENT_VERSION accordingly in io.cpp",
|
||||
|
||||
"oneOf": [
|
||||
@@ -111,12 +111,20 @@
|
||||
|
||||
"bound_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["BoundCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"source_crs": { "$ref": "#/definitions/crs" },
|
||||
"target_crs": { "$ref": "#/definitions/crs" },
|
||||
"transformation": { "$ref": "#/definitions/abridged_transformation" }
|
||||
"transformation": { "$ref": "#/definitions/abridged_transformation" },
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "source_crs", "target_crs", "transformation" ],
|
||||
"additionalProperties": false
|
||||
|
||||
+323
-91
@@ -688,19 +688,19 @@ INSERT INTO "conversion" VALUES('EPSG','6308','Cyprus Transverse Mercator','Intr
|
||||
INSERT INTO "usage" VALUES('EPSG','9713','conversion','EPSG','6308','EPSG','3236','EPSG','1056');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6361','Mexico LCC','','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',12.0,'EPSG','9102','EPSG','8822','Longitude of false origin',-102.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',17.5,'EPSG','9102','EPSG','8824','Latitude of 2nd standard parallel',29.5,'EPSG','9102','EPSG','8826','Easting at false origin',2500000.0,'EPSG','9001','EPSG','8827','Northing at false origin',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9719','conversion','EPSG','6361','EPSG','1160','EPSG','1241');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6374','Ukraine TM zone 7','Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','6374','Ukraine TM zone 7','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9721','conversion','EPSG','6374','EPSG','3906','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6375','Ukraine TM zone 8','Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','6375','Ukraine TM zone 8','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9722','conversion','EPSG','6375','EPSG','3907','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6376','Ukraine TM zone 9','Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','6376','Ukraine TM zone 9','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9723','conversion','EPSG','6376','EPSG','3908','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6377','Ukraine TM zone 10','Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',30.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','6377','Ukraine TM zone 10','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',30.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9724','conversion','EPSG','6377','EPSG','3909','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6378','Ukraine TM zone 11','Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','6378','Ukraine TM zone 11','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9725','conversion','EPSG','6378','EPSG','3910','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6379','Ukraine TM zone 12','Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',36.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','6379','Ukraine TM zone 12','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',36.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9726','conversion','EPSG','6379','EPSG','3912','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6380','Ukraine TM zone 13','Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','6380','Ukraine TM zone 13','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9727','conversion','EPSG','6380','EPSG','3913','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6390','Cayman Islands LCC (ft)','','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',19.2,'EPSG','9110','EPSG','8822','Longitude of false origin',-80.34,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',19.2,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',19.42,'EPSG','9110','EPSG','8826','Easting at false origin',2950000.0,'EPSG','9002','EPSG','8827','Northing at false origin',1900000.0,'EPSG','9002',NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9730','conversion','EPSG','6390','EPSG','1063','EPSG','1027');
|
||||
@@ -2913,7 +2913,7 @@ INSERT INTO "conversion" VALUES('EPSG','16093','3-degree Gauss-Kruger zone 63','
|
||||
INSERT INTO "usage" VALUES('EPSG','12096','conversion','EPSG','16093','EPSG','2651','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16094','3-degree Gauss-Kruger zone 64','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 168W (code 16194). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-168.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',64500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12097','conversion','EPSG','16094','EPSG','2652','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16099','3-degree Gauss-Kruger zone 60','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 180 (code 16190). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',180.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',60500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16099','3-degree Gauss-Kruger zone 60','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger CM 180E (code 16190).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',180.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',60500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12098','conversion','EPSG','16099','EPSG','2648','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16100','UTM grid system (southern hemisphere)','Use UTM zone xx S (codes 16101-16160) for use outwith zone boundary or when easting is not prefixed by zone number.','EPSG','9824','Transverse Mercator Zoned Grid System','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8830','Initial longitude',-180.0,'EPSG','9102','EPSG','8831','Zone width',6.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9996,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',10000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12099','conversion','EPSG','16100','EPSG','1999','EPSG','1163');
|
||||
@@ -3079,7 +3079,7 @@ INSERT INTO "conversion" VALUES('EPSG','16188','3-degree Gauss-Kruger CM 174E','
|
||||
INSERT INTO "usage" VALUES('EPSG','12179','conversion','EPSG','16188','EPSG','2646','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16189','3-degree Gauss-Kruger CM 177E','3-degree Gauss-Kruger zone 59N (code 16089) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','12180','conversion','EPSG','16189','EPSG','2647','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16190','3-degree Gauss-Kruger CM 180','3-degree Gauss-Kruger zone 60N (code 16099) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',180.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16190','3-degree Gauss-Kruger CM 180E','3-degree Gauss-Kruger zone 60N (code 16099) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',180.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12181','conversion','EPSG','16190','EPSG','2648','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16191','3-degree Gauss-Kruger CM 177W','3-degree Gauss-Kruger zone 61N (code 16091) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','12182','conversion','EPSG','16191','EPSG','2649','EPSG','1055');
|
||||
@@ -3091,67 +3091,67 @@ INSERT INTO "conversion" VALUES('EPSG','16194','3-degree Gauss-Kruger CM 168W','
|
||||
INSERT INTO "usage" VALUES('EPSG','12185','conversion','EPSG','16194','EPSG','2652','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16201','6-degree Gauss-Kruger zone 1','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 3E (code 16301). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',3.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',1500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12186','conversion','EPSG','16201','EPSG','1933','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16202','6-degree Gauss-Kruger zone 2','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 9E (code 16302). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',9.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',2500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16202','6-degree Gauss-Kruger zone 2','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 9E (code 16302).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',9.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',2500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12187','conversion','EPSG','16202','EPSG','2741','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16203','6-degree Gauss-Kruger zone 3','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 15E (code 16303). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',15.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',3500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16203','6-degree Gauss-Kruger zone 3','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 15E (code 16303).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',15.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',3500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12188','conversion','EPSG','16203','EPSG','2742','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16204','6-degree Gauss-Kruger zone 4','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 21E (code 16304). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',4500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16204','6-degree Gauss-Kruger zone 4','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 21E (code 16304).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',4500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12189','conversion','EPSG','16204','EPSG','2743','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16205','6-degree Gauss-Kruger zone 5','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 27E (code 16305). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',5500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16205','6-degree Gauss-Kruger zone 5','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 27E (code 16305).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',5500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12190','conversion','EPSG','16205','EPSG','2744','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16206','6-degree Gauss-Kruger zone 6','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 33E (code 16306). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',6500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16206','6-degree Gauss-Kruger zone 6','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 33E (code 16306).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',6500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12191','conversion','EPSG','16206','EPSG','2745','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16207','6-degree Gauss-Kruger zone 7','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 39E (code 16307). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',7500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16207','6-degree Gauss-Kruger zone 7','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 39E (code 16307).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',7500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12192','conversion','EPSG','16207','EPSG','2746','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16208','6-degree Gauss-Kruger zone 8','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 45E (code 16308). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',8500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16208','6-degree Gauss-Kruger zone 8','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 45E (code 16308).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',8500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12193','conversion','EPSG','16208','EPSG','1947','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16209','6-degree Gauss-Kruger zone 9','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 51E (code 16309). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',51.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',9500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16209','6-degree Gauss-Kruger zone 9','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 51E (code 16309).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',51.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',9500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12194','conversion','EPSG','16209','EPSG','1949','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16210','6-degree Gauss-Kruger zone 10','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 57E (code 16310). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',57.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',10500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16210','6-degree Gauss-Kruger zone 10','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 57E (code 16310).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',57.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',10500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12195','conversion','EPSG','16210','EPSG','1951','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16211','6-degree Gauss-Kruger zone 11','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 63E (code 16311). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',63.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',11500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16211','6-degree Gauss-Kruger zone 11','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 63E (code 16311).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',63.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',11500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12196','conversion','EPSG','16211','EPSG','1953','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16212','6-degree Gauss-Kruger zone 12','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 69E (code 16312). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',69.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',12500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16212','6-degree Gauss-Kruger zone 12','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 69E (code 16312).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',69.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',12500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12197','conversion','EPSG','16212','EPSG','1955','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16213','6-degree Gauss-Kruger zone 13','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 75E (code 16313). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',75.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',13500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16213','6-degree Gauss-Kruger zone 13','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 75E (code 16313).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',75.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',13500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12198','conversion','EPSG','16213','EPSG','1957','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16214','6-degree Gauss-Kruger zone 14','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 81E (code 16314). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',81.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',14500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16214','6-degree Gauss-Kruger zone 14','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 81E (code 16314).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',81.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',14500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12199','conversion','EPSG','16214','EPSG','1959','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16215','6-degree Gauss-Kruger zone 15','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 87E (code 16315). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',87.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',15500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16215','6-degree Gauss-Kruger zone 15','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 87E (code 16315).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',87.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',15500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12200','conversion','EPSG','16215','EPSG','1961','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16216','6-degree Gauss-Kruger zone 16','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 93E (code 16316). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',93.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',16500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16216','6-degree Gauss-Kruger zone 16','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 93E (code 16316).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',93.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',16500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12201','conversion','EPSG','16216','EPSG','1963','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16217','6-degree Gauss-Kruger zone 17','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 99E (code 16317). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',99.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',17500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16217','6-degree Gauss-Kruger zone 17','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 99E (code 16317).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',99.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',17500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12202','conversion','EPSG','16217','EPSG','1965','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16218','6-degree Gauss-Kruger zone 18','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 105E (code 16318). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',105.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',18500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16218','6-degree Gauss-Kruger zone 18','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 105E (code 16318).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',105.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',18500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12203','conversion','EPSG','16218','EPSG','1967','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16219','6-degree Gauss-Kruger zone 19','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 111E (code 16319). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',111.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',19500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16219','6-degree Gauss-Kruger zone 19','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 111E (code 16319).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',111.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',19500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12204','conversion','EPSG','16219','EPSG','1969','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16220','6-degree Gauss-Kruger zone 20','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 117E (code 16320). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',117.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',20500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16220','6-degree Gauss-Kruger zone 20','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 117E (code 16320).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',117.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',20500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12205','conversion','EPSG','16220','EPSG','1971','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16221','6-degree Gauss-Kruger zone 21','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 123E (code 16321). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',123.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',21500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16221','6-degree Gauss-Kruger zone 21','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 123E (code 16321).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',123.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',21500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12206','conversion','EPSG','16221','EPSG','1973','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16222','6-degree Gauss-Kruger zone 22','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 129E (code 16322). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',129.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',22500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16222','6-degree Gauss-Kruger zone 22','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 129E (code 16322).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',129.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',22500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12207','conversion','EPSG','16222','EPSG','1975','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16223','6-degree Gauss-Kruger zone 23','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 135E (code 16323). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',135.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',23500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16223','6-degree Gauss-Kruger zone 23','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 135E (code 16323).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',135.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',23500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12208','conversion','EPSG','16223','EPSG','1977','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16224','6-degree Gauss-Kruger zone 24','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 141E (code 16324). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',141.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',24500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16224','6-degree Gauss-Kruger zone 24','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 141E (code 16324).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',141.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',24500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12209','conversion','EPSG','16224','EPSG','1979','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16225','6-degree Gauss-Kruger zone 25','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 147E (code 16325). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',147.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',25500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16225','6-degree Gauss-Kruger zone 25','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 147E (code 16325).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',147.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',25500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12210','conversion','EPSG','16225','EPSG','1981','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16226','6-degree Gauss-Kruger zone 26','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 153E (code 16326). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',153.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',26500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16226','6-degree Gauss-Kruger zone 26','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 153E (code 16326).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',153.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',26500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12211','conversion','EPSG','16226','EPSG','1983','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16227','6-degree Gauss-Kruger zone 27','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 159E (code 16327). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',159.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',27500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16227','6-degree Gauss-Kruger zone 27','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 159E (code 16327).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',159.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',27500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12212','conversion','EPSG','16227','EPSG','1985','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16228','6-degree Gauss-Kruger zone 28','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 165E (code 16328). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',165.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',28500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16228','6-degree Gauss-Kruger zone 28','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 165E (code 16328).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',165.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',28500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12213','conversion','EPSG','16228','EPSG','1987','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16229','6-degree Gauss-Kruger zone 29','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 171E (code 16329). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',29500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16229','6-degree Gauss-Kruger zone 29','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 171E (code 16329).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',29500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12214','conversion','EPSG','16229','EPSG','1989','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16230','6-degree Gauss-Kruger zone 30','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 177E (code 16330). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',30500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16230','6-degree Gauss-Kruger zone 30','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 177E (code 16330).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',30500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12215','conversion','EPSG','16230','EPSG','1991','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16231','6-degree Gauss-Kruger zone 31','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 177W (code 16331). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',31500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16231','6-degree Gauss-Kruger zone 31','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 177W (code 16331).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',31500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12216','conversion','EPSG','16231','EPSG','1873','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16232','6-degree Gauss-Kruger zone 32','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 171W (code 16332). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',32500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16232','6-degree Gauss-Kruger zone 32','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger CM 171W (code 16332).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',32500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12217','conversion','EPSG','16232','EPSG','1875','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16233','6-degree Gauss-Kruger zone 33','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 165W (code 16333). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-165.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',33500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12218','conversion','EPSG','16233','EPSG','1877','EPSG','1211');
|
||||
@@ -3209,35 +3209,35 @@ INSERT INTO "conversion" VALUES('EPSG','16259','6-degree Gauss-Kruger zone 59','
|
||||
INSERT INTO "usage" VALUES('EPSG','12244','conversion','EPSG','16259','EPSG','1929','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16260','6-degree Gauss-Kruger zone 60','Also found with zone truncated from false easting: see 6-degree Gauss-Kruger cm 3W (code 16360). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-3.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',60500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12245','conversion','EPSG','16260','EPSG','1931','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16261','3-degree Gauss-Kruger zone 1','Also found with zone truncated from false easting: see Gauss-Kruger cm 3E (code 16301). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',3.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',1500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16261','3-degree Gauss-Kruger zone 1','Also found with zone truncated from false easting: see Gauss-Kruger CM 3E (code 16301).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',3.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',1500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12246','conversion','EPSG','16261','EPSG','2299','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16262','3-degree Gauss-Kruger zone 2','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 6E (code 16362). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',6.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',2500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16262','3-degree Gauss-Kruger zone 2','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger CM 6E (code 16362).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',6.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',2500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12247','conversion','EPSG','16262','EPSG','2300','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16263','3-degree Gauss-Kruger zone 3','Also found with zone truncated from false easting: see Gauss-Kruger cm 9E (code 16302). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',9.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',3500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16263','3-degree Gauss-Kruger zone 3','Also found with zone truncated from false easting: see Gauss-Kruger CM 9E (code 16302).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',9.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',3500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12248','conversion','EPSG','16263','EPSG','2301','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16264','3-degree Gauss-Kruger zone 4','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 12E (code 16364). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',12.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',4500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16264','3-degree Gauss-Kruger zone 4','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger CM 12E (code 16364).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',12.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',4500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12249','conversion','EPSG','16264','EPSG','2302','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16265','3-degree Gauss-Kruger zone 5','Also found with zone truncated from false easting: see Gauss-Kruger cm 15E (code 16303). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',15.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',5500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16265','3-degree Gauss-Kruger zone 5','Also found with zone truncated from false easting: see Gauss-Kruger CM 15E (code 16303).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',15.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',5500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12250','conversion','EPSG','16265','EPSG','2303','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16266','3-degree Gauss-Kruger zone 6','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 18E (code 16366). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',18.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',6500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16266','3-degree Gauss-Kruger zone 6','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger CM 18E (code 16366).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',18.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',6500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12251','conversion','EPSG','16266','EPSG','2304','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16267','3-degree Gauss-Kruger zone 7','Also found with zone truncated from false easting: see Gauss-Kruger cm 21E (code 16304). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',7500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16267','3-degree Gauss-Kruger zone 7','Also found with zone truncated from false easting: see Gauss-Kruger CM 21E (code 16304).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',7500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12252','conversion','EPSG','16267','EPSG','2305','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16268','3-degree Gauss-Kruger zone 8','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 24E (code 16368). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',8500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16268','3-degree Gauss-Kruger zone 8','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger CM 24E (code 16368).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',8500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12253','conversion','EPSG','16268','EPSG','2306','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16269','3-degree Gauss-Kruger zone 9','Also found with zone truncated from false easting: see Gauss-Kruger cm 27E (code 16305). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',9500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16269','3-degree Gauss-Kruger zone 9','Also found with zone truncated from false easting: see Gauss-Kruger CM 27E (code 16305).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',9500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12254','conversion','EPSG','16269','EPSG','2534','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16270','3-degree Gauss-Kruger zone 10','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 30E (code 16370). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',30.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',10500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16270','3-degree Gauss-Kruger zone 10','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger CM 30E (code 16370).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',30.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',10500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12255','conversion','EPSG','16270','EPSG','2535','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16271','3-degree Gauss-Kruger zone 11','Also found with zone truncated from false easting: see Gauss-Kruger cm 33E (code 16306). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',11500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16271','3-degree Gauss-Kruger zone 11','Also found with zone truncated from false easting: see Gauss-Kruger CM 33E (code 16306).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',11500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12256','conversion','EPSG','16271','EPSG','2536','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16272','3-degree Gauss-Kruger zone 12','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 36E (code 16372). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',36.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',12500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16272','3-degree Gauss-Kruger zone 12','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger CM 36E (code 16372).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',36.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',12500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12257','conversion','EPSG','16272','EPSG','2537','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16273','3-degree Gauss-Kruger zone 13','Also found with zone truncated from false easting: see Gauss-Kruger cm 39E (code 16307). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',13500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16273','3-degree Gauss-Kruger zone 13','Also found with zone truncated from false easting: see Gauss-Kruger CM 39E (code 16307).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',13500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12258','conversion','EPSG','16273','EPSG','2538','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16274','3-degree Gauss-Kruger zone 14','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 42E (code 16374). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',42.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',14500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16274','3-degree Gauss-Kruger zone 14','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger CM 42E (code 16374).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',42.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',14500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12259','conversion','EPSG','16274','EPSG','2539','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16275','3-degree Gauss-Kruger zone 15','Also found with zone truncated from false easting: see Gauss-Kruger cm 45E (code 16308). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',15500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16275','3-degree Gauss-Kruger zone 15','Also found with zone truncated from false easting: see Gauss-Kruger CM 45E (code 16308).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',15500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12260','conversion','EPSG','16275','EPSG','2540','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16276','3-degree Gauss-Kruger zone 16','Also found with zone truncated from false easting: see 3-degree Gauss-Kruger cm 48E (code 16376). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',48.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',16500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12261','conversion','EPSG','16276','EPSG','2604','EPSG','1055');
|
||||
@@ -3289,67 +3289,67 @@ INSERT INTO "conversion" VALUES('EPSG','16299','3-degree Gauss-Kruger zone 39','
|
||||
INSERT INTO "usage" VALUES('EPSG','12284','conversion','EPSG','16299','EPSG','2627','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16301','Gauss-Kruger CM 3E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 1N (code 16201), or for a restricted longitude range 3-degree Gauss-Kruger zone 1N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',3.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12285','conversion','EPSG','16301','EPSG','1933','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16302','Gauss-Kruger CM 9E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 2N (code 16202), or for a restricted longitude range 3-degree Gauss-Kruger zone 3N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',9.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16302','Gauss-Kruger CM 9E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 2N (code 16202).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',9.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12286','conversion','EPSG','16302','EPSG','1935','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16303','Gauss-Kruger CM 15E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 3N (code 16203), or for a restricted longitude range 3-degree Gauss-Kruger zone 5N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',15.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16303','Gauss-Kruger CM 15E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 3N (code 16203).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',15.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12287','conversion','EPSG','16303','EPSG','1937','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16304','Gauss-Kruger CM 21E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 4N (code 16204), or for a restricted longitude range 3-degree Gauss-Kruger zone 7N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16304','Gauss-Kruger CM 21E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 4N (code 16204).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12288','conversion','EPSG','16304','EPSG','1939','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16305','Gauss-Kruger CM 27E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 5N (code 16205), or for a restricted longitude range 3-degree Gauss-Kruger zone 9N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16305','Gauss-Kruger CM 27E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 5N (code 16205).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12289','conversion','EPSG','16305','EPSG','1941','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16306','Gauss-Kruger CM 33E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 6N (code 16206), or for a restricted longitude range 3-degree Gauss-Kruger zone 11N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16306','Gauss-Kruger CM 33E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 6N (code 16206).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12290','conversion','EPSG','16306','EPSG','1943','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16307','Gauss-Kruger CM 39E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 7N (code 16207), or for a restricted longitude range 3-degree Gauss-Kruger zone 13N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16307','Gauss-Kruger CM 39E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 7N (code 16207).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12291','conversion','EPSG','16307','EPSG','1945','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16308','Gauss-Kruger CM 45E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 8N (code 16208), or for a restricted longitude range 3-degree Gauss-Kruger zone 15N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16308','Gauss-Kruger CM 45E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 8N (code 16208).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12292','conversion','EPSG','16308','EPSG','1947','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16309','Gauss-Kruger CM 51E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 9N (code 16209), or for a restricted longitude range 3-degree Gauss-Kruger zone 17N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',51.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16309','Gauss-Kruger CM 51E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 9N (code 16209).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',51.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12293','conversion','EPSG','16309','EPSG','1949','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16310','Gauss-Kruger CM 57E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 10N (code 16210), or for a restricted longitude range 3-degree Gauss-Kruger zone 19N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',57.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16310','Gauss-Kruger CM 57E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 10N (code 16210).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',57.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12294','conversion','EPSG','16310','EPSG','1951','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16311','Gauss-Kruger CM 63E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 11N (code 16211), or for a restricted longitude range 3-degree Gauss-Kruger zone 21N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',63.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16311','Gauss-Kruger CM 63E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 11N (code 16211).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',63.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12295','conversion','EPSG','16311','EPSG','1953','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16312','Gauss-Kruger CM 69E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 12N (code 16212), or for a restricted longitude range 3-degree Gauss-Kruger zone 23N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',69.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16312','Gauss-Kruger CM 69E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 12N (code 16212).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',69.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12296','conversion','EPSG','16312','EPSG','1955','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16313','Gauss-Kruger CM 75E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 13N (code 16213), or for a restricted longitude range 3-degree Gauss-Kruger zone 25N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',75.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16313','Gauss-Kruger CM 75E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 13N (code 16213).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',75.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12297','conversion','EPSG','16313','EPSG','1957','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16314','Gauss-Kruger CM 81E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 14N (code 16214), or for a restricted longitude range 3-degree Gauss-Kruger zone 27N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',81.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16314','Gauss-Kruger CM 81E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 14N (code 16214).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',81.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12298','conversion','EPSG','16314','EPSG','1959','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16315','Gauss-Kruger CM 87E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 15N (code 16215), or for a restricted longitude range 3-degree Gauss-Kruger zone 29N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',87.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16315','Gauss-Kruger CM 87E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 15N (code 16215).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',87.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12299','conversion','EPSG','16315','EPSG','1961','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16316','Gauss-Kruger CM 93E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 16N (code 16216), or for a restricted longitude range 3-degree Gauss-Kruger zone 31N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',93.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16316','Gauss-Kruger CM 93E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 16N (code 16216).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',93.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12300','conversion','EPSG','16316','EPSG','1963','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16317','Gauss-Kruger CM 99E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 17N (code 16217), or for a restricted longitude range 3-degree Gauss-Kruger zone 33N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',99.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16317','Gauss-Kruger CM 99E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 17N (code 16217).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',99.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12301','conversion','EPSG','16317','EPSG','1965','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16318','Gauss-Kruger CM 105E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 18N (code 16218), or for a restricted longitude range 3-degree Gauss-Kruger zone 35N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',105.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16318','Gauss-Kruger CM 105E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 18N (code 16218).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',105.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12302','conversion','EPSG','16318','EPSG','1967','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16319','Gauss-Kruger CM 111E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 19N (code 16219), or for a restricted longitude range 3-degree Gauss-Kruger zone 37N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',111.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16319','Gauss-Kruger CM 111E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 19N (code 16219).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',111.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12303','conversion','EPSG','16319','EPSG','1969','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16320','Gauss-Kruger CM 117E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 20N (code 16220), or for a restricted longitude range 3-degree Gauss-Kruger zone 39N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',117.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16320','Gauss-Kruger CM 117E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 20N (code 16220).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',117.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12304','conversion','EPSG','16320','EPSG','1971','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16321','Gauss-Kruger CM 123E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 21N (code 16221), or for a restricted longitude range 3-degree Gauss-Kruger zone 41N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',123.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16321','Gauss-Kruger CM 123E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 21N (code 16221).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',123.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12305','conversion','EPSG','16321','EPSG','1973','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16322','Gauss-Kruger CM 129E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 22N (code 16222), or for a restricted longitude range 3-degree Gauss-Kruger zone 43N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',129.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16322','Gauss-Kruger CM 129E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 22N (code 16222).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',129.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12306','conversion','EPSG','16322','EPSG','1975','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16323','Gauss-Kruger CM 135E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 23N (code 16223), or for a restricted longitude range 3-degree Gauss-Kruger zone 45N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',135.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16323','Gauss-Kruger CM 135E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 23N (code 16223).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',135.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12307','conversion','EPSG','16323','EPSG','1977','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16324','Gauss-Kruger CM 141E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 24N (code 16224), or for a restricted longitude range 3-degree Gauss-Kruger zone 47N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',141.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16324','Gauss-Kruger CM 141E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 24N (code 16224).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',141.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12308','conversion','EPSG','16324','EPSG','1979','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16325','Gauss-Kruger CM 147E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 25N (code 16225), or for a restricted longitude range 3-degree Gauss-Kruger zone 49N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',147.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16325','Gauss-Kruger CM 147E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 25N (code 16225).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',147.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12309','conversion','EPSG','16325','EPSG','1981','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16326','Gauss-Kruger CM 153E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 26N (code 16226), or for a restricted longitude range 3-degree Gauss-Kruger zone 51N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',153.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16326','Gauss-Kruger CM 153E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 26N (code 16226).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',153.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12310','conversion','EPSG','16326','EPSG','1983','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16327','Gauss-Kruger CM 159E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 27N (code 16227), or for a restricted longitude range 3-degree Gauss-Kruger zone 53N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',159.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16327','Gauss-Kruger CM 159E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 27N (code 16227).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',159.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12311','conversion','EPSG','16327','EPSG','1985','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16328','Gauss-Kruger CM 165E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 28N (code 16228), or for a restricted longitude range 3-degree Gauss-Kruger zone 55N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',165.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16328','Gauss-Kruger CM 165E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 28N (code 16228).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',165.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12312','conversion','EPSG','16328','EPSG','1987','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16329','Gauss-Kruger CM 171E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 29N (code 16229), or for a restricted longitude range 3-degree Gauss-Kruger zone 57N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16329','Gauss-Kruger CM 171E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 29N (code 16229).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12313','conversion','EPSG','16329','EPSG','1989','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16330','Gauss-Kruger CM 177E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 30N (code 16230), or for a restricted longitude range 3-degree Gauss-Kruger zone 59N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16330','Gauss-Kruger CM 177E','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 30N (code 16230).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12314','conversion','EPSG','16330','EPSG','1991','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16331','Gauss-Kruger CM 177W','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 31N (code 16231), or for a restricted longitude range 3-degree Gauss-Kruger zone 61N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16331','Gauss-Kruger CM 177W','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 31N (code 16231).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12315','conversion','EPSG','16331','EPSG','1873','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16332','Gauss-Kruger CM 171W','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 32N (code 16232), or for a restricted longitude range 3-degree Gauss-Kruger zone 62N (code 16261). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16332','Gauss-Kruger CM 171W','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 32N (code 16232).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12316','conversion','EPSG','16332','EPSG','1875','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16333','Gauss-Kruger CM 165W','Usually used with zone prefix to FE - see 6-degree Gauss-Kruger zone 33N (code 16233). Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-165.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12317','conversion','EPSG','16333','EPSG','1877','EPSG','1211');
|
||||
@@ -3417,23 +3417,23 @@ INSERT INTO "conversion" VALUES('EPSG','16364','3-degree Gauss-Kruger CM 12E','3
|
||||
INSERT INTO "usage" VALUES('EPSG','12348','conversion','EPSG','16364','EPSG','2302','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16365','3-degree Gauss-Kruger CM 15E','3-degree Gauss-Kruger zone 5N (code 16265) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',15.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','12349','conversion','EPSG','16365','EPSG','2303','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16366','3-degree Gauss-Kruger CM 18E','3-degree Gauss-Kruger zone 6N (code 16266) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',18.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16366','3-degree Gauss-Kruger CM 18E','3-degree Gauss-Kruger zone 6N (code 16266) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',18.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12350','conversion','EPSG','16366','EPSG','2304','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16367','3-degree Gauss-Kruger CM 21E','3-degree Gauss-Kruger zone 7N (code 16267) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','12351','conversion','EPSG','16367','EPSG','2305','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16368','3-degree Gauss-Kruger CM 24E','3-degree Gauss-Kruger zone 8N (code 16268) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16368','3-degree Gauss-Kruger CM 24E','3-degree Gauss-Kruger zone 8N (code 16268) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12352','conversion','EPSG','16368','EPSG','2306','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16369','3-degree Gauss-Kruger CM 27E','3-degree Gauss-Kruger zone 9N (code 16269) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','12353','conversion','EPSG','16369','EPSG','2534','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16370','3-degree Gauss-Kruger CM 30E','3-degree Gauss-Kruger zone 10N (code 16270) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',30.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16370','3-degree Gauss-Kruger CM 30E','3-degree Gauss-Kruger zone 10N (code 16270) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',30.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12354','conversion','EPSG','16370','EPSG','2535','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16371','3-degree Gauss-Kruger CM 33E','3-degree Gauss-Kruger zone 11N (code 16271) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','12355','conversion','EPSG','16371','EPSG','2536','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16372','3-degree Gauss-Kruger CM 36E','3-degree Gauss-Kruger zone 12N (code 16272) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',36.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16372','3-degree Gauss-Kruger CM 36E','3-degree Gauss-Kruger zone 12N (code 16272) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',36.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12356','conversion','EPSG','16372','EPSG','2537','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16373','3-degree Gauss-Kruger CM 39E','3-degree Gauss-Kruger zone 13N (code 16273) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','12357','conversion','EPSG','16373','EPSG','2538','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16374','3-degree Gauss-Kruger CM 42E','3-degree Gauss-Kruger zone 14N (code 16274) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',42.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','16374','3-degree Gauss-Kruger CM 42E','3-degree Gauss-Kruger zone 14N (code 16274) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',42.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12358','conversion','EPSG','16374','EPSG','2539','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16375','3-degree Gauss-Kruger CM 45E','3-degree Gauss-Kruger zone 15N (code 16275) without zone prefix to false easting value. Original transformation by Gauss-Kruger formula.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','12359','conversion','EPSG','16375','EPSG','2540','EPSG','1055');
|
||||
@@ -3518,12 +3518,244 @@ INSERT INTO "conversion" VALUES('EPSG','16716','TM 116 SE','Used by BP for Teran
|
||||
INSERT INTO "usage" VALUES('EPSG','12398','conversion','EPSG','16716','EPSG','2588','EPSG','1136');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16732','TM 132 SE','Used for Tangguh developments.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',132.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9996,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',10000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12399','conversion','EPSG','16732','EPSG','2589','EPSG','1136');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16907','GSK 3-degree Gauss-Kruger zone 7','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 21E (code 17107).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',7250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16011','conversion','EPSG','16907','EPSG','2305','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16908','GSK 3-degree Gauss-Kruger zone 8','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 24E (code 17108).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',8250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16015','conversion','EPSG','16908','EPSG','2748','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16909','GSK 3-degree Gauss-Kruger zone 9','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 27E (code 17109).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',9250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16016','conversion','EPSG','16909','EPSG','2749','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16910','GSK 3-degree Gauss-Kruger zone 10','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 30E (code 17110).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',30.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',10250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16017','conversion','EPSG','16910','EPSG','2535','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16911','GSK 3-degree Gauss-Kruger zone 11','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 33E (code 17111).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',11250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16018','conversion','EPSG','16911','EPSG','2751','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16912','GSK 3-degree Gauss-Kruger zone 12','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 36E (code 17112).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',36.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',12250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16019','conversion','EPSG','16912','EPSG','2752','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16913','GSK 3-degree Gauss-Kruger zone 13','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 39E (code 17113).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',13250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16020','conversion','EPSG','16913','EPSG','2753','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16914','GSK 3-degree Gauss-Kruger zone 14','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 42E (code 17114).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',42.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',14250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16021','conversion','EPSG','16914','EPSG','2754','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16915','GSK 3-degree Gauss-Kruger zone 15','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 45E (code 17115).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',15250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16022','conversion','EPSG','16915','EPSG','2755','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16916','GSK 3-degree Gauss-Kruger zone 16','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 48E (code 17116).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',48.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',16250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16023','conversion','EPSG','16916','EPSG','2756','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16917','GSK 3-degree Gauss-Kruger zone 17','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 51E (code 17117).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',51.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',17250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16024','conversion','EPSG','16917','EPSG','2757','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16918','GSK 3-degree Gauss-Kruger zone 18','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 54E (code 17118).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',54.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',18250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16025','conversion','EPSG','16918','EPSG','2758','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16919','GSK 3-degree Gauss-Kruger zone 19','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 57E (code 17119).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',57.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',19250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16026','conversion','EPSG','16919','EPSG','2759','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16920','GSK 3-degree Gauss-Kruger zone 20','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 60E (code 17120).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',60.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',20250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16027','conversion','EPSG','16920','EPSG','2760','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16921','GSK 3-degree Gauss-Kruger zone 21','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 63E (code 17121).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',63.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',21250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16028','conversion','EPSG','16921','EPSG','2609','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16922','GSK 3-degree Gauss-Kruger zone 22','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 66E (code 17122).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',66.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',22250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15917','conversion','EPSG','16922','EPSG','2762','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16923','GSK 3-degree Gauss-Kruger zone 23','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 69E (code 17123).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',69.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',23250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15916','conversion','EPSG','16923','EPSG','2763','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16924','GSK 3-degree Gauss-Kruger zone 24','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 72E (code 17124).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',72.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',24250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15915','conversion','EPSG','16924','EPSG','2764','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16925','GSK 3-degree Gauss-Kruger zone 25','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 75E (code 17125).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',75.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',25250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15914','conversion','EPSG','16925','EPSG','2765','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16926','GSK 3-degree Gauss-Kruger zone 26','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 78E (code 17126).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',78.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',26250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15913','conversion','EPSG','16926','EPSG','2766','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16927','GSK 3-degree Gauss-Kruger zone 27','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 81E (code 17127).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',81.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',27250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15912','conversion','EPSG','16927','EPSG','2767','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16928','GSK 3-degree Gauss-Kruger zone 28','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 84E (code 17128).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',84.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',28250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15911','conversion','EPSG','16928','EPSG','2768','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16929','GSK 3-degree Gauss-Kruger zone 29','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 87E (code 17129).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',87.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',29250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15910','conversion','EPSG','16929','EPSG','2769','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16930','GSK 3-degree Gauss-Kruger zone 30','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 90E (code 17130).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',90.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',30250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15909','conversion','EPSG','16930','EPSG','2676','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16931','GSK 3-degree Gauss-Kruger zone 31','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 93E (code 17131).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',93.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',31250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15908','conversion','EPSG','16931','EPSG','2677','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16932','GSK 3-degree Gauss-Kruger zone 32','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 96E (code 17132).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',96.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',32250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15907','conversion','EPSG','16932','EPSG','2678','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16933','GSK 3-degree Gauss-Kruger zone 33','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 99E (code 17133).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',99.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',33250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15925','conversion','EPSG','16933','EPSG','2679','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16934','GSK 3-degree Gauss-Kruger zone 34','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 102E (code 17134).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',102.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',34250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15926','conversion','EPSG','16934','EPSG','2680','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16935','GSK 3-degree Gauss-Kruger zone 35','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 105E (code 17135).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',105.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',35250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15927','conversion','EPSG','16935','EPSG','2681','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16936','GSK 3-degree Gauss-Kruger zone 36','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 108E (code 17136).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',108.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',36250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15928','conversion','EPSG','16936','EPSG','2682','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16937','GSK 3-degree Gauss-Kruger zone 37','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 111E (code 17137).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',111.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',37250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15938','conversion','EPSG','16937','EPSG','2683','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16938','GSK 3-degree Gauss-Kruger zone 38','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 114E (code 17138).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',114.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',38250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15939','conversion','EPSG','16938','EPSG','2684','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16939','GSK 3-degree Gauss-Kruger zone 39','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 117E (code 17139).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',117.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',39250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15940','conversion','EPSG','16939','EPSG','2685','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16940','GSK 3-degree Gauss-Kruger zone 40','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 120E (code 17140).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',120.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',40250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15941','conversion','EPSG','16940','EPSG','2686','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16941','GSK 3-degree Gauss-Kruger zone 41','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 123E (code 17141).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',123.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',41250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15942','conversion','EPSG','16941','EPSG','2687','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16942','GSK 3-degree Gauss-Kruger zone 42','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 126E (code 17142).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',126.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',42250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15943','conversion','EPSG','16942','EPSG','2688','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16943','GSK 3-degree Gauss-Kruger zone 43','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 129E (code 17143).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',129.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',43250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15944','conversion','EPSG','16943','EPSG','2689','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16944','GSK 3-degree Gauss-Kruger zone 44','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 132E (code 17144).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',132.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',44250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15945','conversion','EPSG','16944','EPSG','2690','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16945','GSK 3-degree Gauss-Kruger zone 45','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 135E (code 17145).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',135.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',45250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15946','conversion','EPSG','16945','EPSG','2691','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16946','GSK 3-degree Gauss-Kruger zone 46','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 138E (code 17146).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',138.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',46250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15947','conversion','EPSG','16946','EPSG','2692','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16947','GSK 3-degree Gauss-Kruger zone 47','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 141E (code 17147).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',141.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',47250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15948','conversion','EPSG','16947','EPSG','2693','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16948','GSK 3-degree Gauss-Kruger zone 48','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 144E (code 17148).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',144.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',48250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15949','conversion','EPSG','16948','EPSG','2694','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16949','GSK 3-degree Gauss-Kruger zone 49','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 147E (code 17149).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',147.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',49250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15950','conversion','EPSG','16949','EPSG','2695','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16950','GSK 3-degree Gauss-Kruger zone 50','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 150E (code 17150).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',150.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',50250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15951','conversion','EPSG','16950','EPSG','2696','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16951','GSK 3-degree Gauss-Kruger zone 51','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 153E (code 17151).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',153.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',51250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15983','conversion','EPSG','16951','EPSG','2697','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16952','GSK 3-degree Gauss-Kruger zone 52','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 156E (code 17152).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',156.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',52250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15984','conversion','EPSG','16952','EPSG','2698','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16953','GSK 3-degree Gauss-Kruger zone 53','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 159E (code 17153).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',159.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',53250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15985','conversion','EPSG','16953','EPSG','2699','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16954','GSK 3-degree Gauss-Kruger zone 54','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 162E (code 17154).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',162.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',54250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15986','conversion','EPSG','16954','EPSG','2700','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16955','GSK 3-degree Gauss-Kruger zone 55','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 165E (code 17155).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',165.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',55250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15987','conversion','EPSG','16955','EPSG','2701','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16956','GSK 3-degree Gauss-Kruger zone 56','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 168E (code 17156).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',168.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',56250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15988','conversion','EPSG','16956','EPSG','2702','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16957','GSK 3-degree Gauss-Kruger zone 57','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 171E (code 17157).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',57250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15989','conversion','EPSG','16957','EPSG','2703','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16958','GSK 3-degree Gauss-Kruger zone 58','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 174E (code 17158).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',174.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',58250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15990','conversion','EPSG','16958','EPSG','2704','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16959','GSK 3-degree Gauss-Kruger zone 59','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 177E (code 17159).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',59250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15994','conversion','EPSG','16959','EPSG','2705','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16960','GSK 3-degree Gauss-Kruger zone 60','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 180 (code 17160).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',180.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',60250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15991','conversion','EPSG','16960','EPSG','2706','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16961','GSK 3-degree Gauss-Kruger zone 61','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 177W (code 17161).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',61250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15992','conversion','EPSG','16961','EPSG','2707','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16962','GSK 3-degree Gauss-Kruger zone 62','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 174W (code 17162).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-174.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',62250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15993','conversion','EPSG','16962','EPSG','2708','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16963','GSK 3-degree Gauss-Kruger zone 63','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 171W (code 17163).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',63250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15995','conversion','EPSG','16963','EPSG','2709','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','16964','GSK 3-degree Gauss-Kruger zone 64','Also found with zone truncated from false easting: see GSK 3-degree Gauss-Kruger CM 168W (code 17164).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-168.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',64250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15996','conversion','EPSG','16964','EPSG','2710','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17001','TM 1 NW','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-1.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9996,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12400','conversion','EPSG','17001','EPSG','1505','EPSG','1136');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17005','TM 5 NW','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-5.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9996,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12401','conversion','EPSG','17005','EPSG','2296','EPSG','1136');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17054','TM 54 NW','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-54.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9996,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12402','conversion','EPSG','17054','EPSG','1727','EPSG','1136');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17107','GSK 3-degree Gauss-Kruger CM 21E','GSK 3-degree Gauss-Kruger zone 7N (code 16907) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16012','conversion','EPSG','17107','EPSG','2305','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17108','GSK 3-degree Gauss-Kruger CM 24E','GSK 3-degree Gauss-Kruger zone 8N (code 16908) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16029','conversion','EPSG','17108','EPSG','2748','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17109','GSK 3-degree Gauss-Kruger CM 27E','GSK 3-degree Gauss-Kruger zone 9N (code 16909) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',27.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16030','conversion','EPSG','17109','EPSG','2749','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17110','GSK 3-degree Gauss-Kruger CM 30E','GSK 3-degree Gauss-Kruger zone 10N (code 16910) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',30.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16031','conversion','EPSG','17110','EPSG','2750','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17111','GSK 3-degree Gauss-Kruger CM 33E','GSK 3-degree Gauss-Kruger zone 11N (code 16911) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16032','conversion','EPSG','17111','EPSG','2751','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17112','GSK 3-degree Gauss-Kruger CM 36E','GSK 3-degree Gauss-Kruger zone 12N (code 16912) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',36.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16033','conversion','EPSG','17112','EPSG','2752','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17113','GSK 3-degree Gauss-Kruger CM 39E','GSK 3-degree Gauss-Kruger zone 13N (code 16913) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',39.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16034','conversion','EPSG','17113','EPSG','2753','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17114','GSK 3-degree Gauss-Kruger CM 42E','GSK 3-degree Gauss-Kruger zone 14N (code 16914) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',42.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16035','conversion','EPSG','17114','EPSG','2754','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17115','GSK 3-degree Gauss-Kruger CM 45E','GSK 3-degree Gauss-Kruger zone 15N (code 16915) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',45.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16036','conversion','EPSG','17115','EPSG','2755','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17116','GSK 3-degree Gauss-Kruger CM 48E','GSK 3-degree Gauss-Kruger zone 16N (code 16916) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',48.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16037','conversion','EPSG','17116','EPSG','2756','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17117','GSK 3-degree Gauss-Kruger CM 51E','GSK 3-degree Gauss-Kruger zone 17N (code 16917) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',51.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16040','conversion','EPSG','17117','EPSG','2757','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17118','GSK 3-degree Gauss-Kruger CM 54E','GSK 3-degree Gauss-Kruger zone 18N (code 16918) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',54.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16041','conversion','EPSG','17118','EPSG','2758','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17119','GSK 3-degree Gauss-Kruger CM 57E','GSK 3-degree Gauss-Kruger zone 19N (code 16919) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',57.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16039','conversion','EPSG','17119','EPSG','2759','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17120','GSK 3-degree Gauss-Kruger CM 60E','GSK 3-degree Gauss-Kruger zone 20N (code 16920) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',60.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16038','conversion','EPSG','17120','EPSG','2760','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17121','GSK 3-degree Gauss-Kruger CM 63E','GSK 3-degree Gauss-Kruger zone 21N (code 16921) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',63.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16042','conversion','EPSG','17121','EPSG','2761','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17122','GSK 3-degree Gauss-Kruger CM 66E','GSK 3-degree Gauss-Kruger zone 22N (code 16922) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',66.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15933','conversion','EPSG','17122','EPSG','2762','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17123','GSK 3-degree Gauss-Kruger CM 69E','GSK 3-degree Gauss-Kruger zone 23N (code 16923) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',69.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15937','conversion','EPSG','17123','EPSG','2763','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17124','GSK 3-degree Gauss-Kruger CM 72E','GSK 3-degree Gauss-Kruger zone 24N (code 16924) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',72.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15936','conversion','EPSG','17124','EPSG','2764','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17125','GSK 3-degree Gauss-Kruger CM 75E','GSK 3-degree Gauss-Kruger zone 25N (code 16925) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',75.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15935','conversion','EPSG','17125','EPSG','2765','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17126','GSK 3-degree Gauss-Kruger CM 78E','GSK 3-degree Gauss-Kruger zone 26N (code 16926) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',78.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15934','conversion','EPSG','17126','EPSG','2766','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17127','GSK 3-degree Gauss-Kruger CM 81E','GSK 3-degree Gauss-Kruger zone 27N (code 16927) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',81.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15932','conversion','EPSG','17127','EPSG','2767','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17128','GSK 3-degree Gauss-Kruger CM 84E','GSK 3-degree Gauss-Kruger zone 28N (code 16928) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',84.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15931','conversion','EPSG','17128','EPSG','2768','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17129','GSK 3-degree Gauss-Kruger CM 87E','GSK 3-degree Gauss-Kruger zone 29N (code 16929) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',87.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15930','conversion','EPSG','17129','EPSG','2769','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17130','GSK 3-degree Gauss-Kruger CM 90E','GSK 3-degree Gauss-Kruger zone 30N (code 16930) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',90.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15929','conversion','EPSG','17130','EPSG','2676','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17131','GSK 3-degree Gauss-Kruger CM 93E','GSK 3-degree Gauss-Kruger zone 31N (code 16931) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',93.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15923','conversion','EPSG','17131','EPSG','2677','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17132','GSK 3-degree Gauss-Kruger CM 96E','GSK 3-degree Gauss-Kruger zone 32N (code 16932) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',96.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15924','conversion','EPSG','17132','EPSG','2678','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17133','GSK 3-degree Gauss-Kruger CM 99E','GSK 3-degree Gauss-Kruger zone 33N (code 16933) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',99.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15921','conversion','EPSG','17133','EPSG','2679','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17134','GSK 3-degree Gauss-Kruger CM 102E','GSK 3-degree Gauss-Kruger zone 34N (code 16934) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',102.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15920','conversion','EPSG','17134','EPSG','2680','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17135','GSK 3-degree Gauss-Kruger CM 105E','GSK 3-degree Gauss-Kruger zone 35N (code 16935) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',105.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15919','conversion','EPSG','17135','EPSG','2681','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17136','GSK 3-degree Gauss-Kruger CM 108E','GSK 3-degree Gauss-Kruger zone 36N (code 16936) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',108.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15918','conversion','EPSG','17136','EPSG','2682','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17137','GSK 3-degree Gauss-Kruger CM 111E','GSK 3-degree Gauss-Kruger zone 37N (code 16937) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',111.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15953','conversion','EPSG','17137','EPSG','2683','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17138','GSK 3-degree Gauss-Kruger CM 114E','GSK 3-degree Gauss-Kruger zone 38N (code 16938) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',114.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15954','conversion','EPSG','17138','EPSG','2684','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17139','GSK 3-degree Gauss-Kruger CM 117E','GSK 3-degree Gauss-Kruger zone 39N (code 16939) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',117.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15955','conversion','EPSG','17139','EPSG','2685','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17140','GSK 3-degree Gauss-Kruger CM 120E','GSK 3-degree Gauss-Kruger zone 40N (code 16940) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',120.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15956','conversion','EPSG','17140','EPSG','2686','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17141','GSK 3-degree Gauss-Kruger CM 123E','GSK 3-degree Gauss-Kruger zone 41N (code 16941) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',123.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15957','conversion','EPSG','17141','EPSG','2687','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17142','GSK 3-degree Gauss-Kruger CM 126E','GSK 3-degree Gauss-Kruger zone 42N (code 16942) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',126.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15958','conversion','EPSG','17142','EPSG','2688','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17143','GSK 3-degree Gauss-Kruger CM 129E','GSK 3-degree Gauss-Kruger zone 43N (code 16943) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',129.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15959','conversion','EPSG','17143','EPSG','2689','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17144','GSK 3-degree Gauss-Kruger CM 132E','GSK 3-degree Gauss-Kruger zone 44N (code 16944) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',132.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15960','conversion','EPSG','17144','EPSG','2690','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17145','GSK 3-degree Gauss-Kruger CM 135E','GSK 3-degree Gauss-Kruger zone 45N (code 16945) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',135.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15961','conversion','EPSG','17145','EPSG','2691','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17146','GSK 3-degree Gauss-Kruger CM 138E','GSK 3-degree Gauss-Kruger zone 46N (code 16946) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',138.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15962','conversion','EPSG','17146','EPSG','2692','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17147','GSK 3-degree Gauss-Kruger CM 141E','GSK 3-degree Gauss-Kruger zone 47N (code 16947) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',141.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15963','conversion','EPSG','17147','EPSG','2693','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17148','GSK 3-degree Gauss-Kruger CM 144E','GSK 3-degree Gauss-Kruger zone 48N (code 16948) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',144.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15964','conversion','EPSG','17148','EPSG','2694','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17149','GSK 3-degree Gauss-Kruger CM 147E','GSK 3-degree Gauss-Kruger zone 49N (code 16949) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',147.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15965','conversion','EPSG','17149','EPSG','2695','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17150','GSK 3-degree Gauss-Kruger CM 150E','GSK 3-degree Gauss-Kruger zone 50N (code 16950) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',150.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15966','conversion','EPSG','17150','EPSG','2696','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17151','GSK 3-degree Gauss-Kruger CM 153E','GSK 3-degree Gauss-Kruger zone 51N (code 16951) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',153.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15997','conversion','EPSG','17151','EPSG','2697','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17152','GSK 3-degree Gauss-Kruger CM 156E','GSK 3-degree Gauss-Kruger zone 52N (code 16952) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',156.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15998','conversion','EPSG','17152','EPSG','2698','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17153','GSK 3-degree Gauss-Kruger CM 159E','GSK 3-degree Gauss-Kruger zone 53N (code 16953) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',159.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15999','conversion','EPSG','17153','EPSG','2699','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17154','GSK 3-degree Gauss-Kruger CM 162E','GSK 3-degree Gauss-Kruger zone 54N (code 16954) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',162.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16000','conversion','EPSG','17154','EPSG','2700','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17155','GSK 3-degree Gauss-Kruger CM 165E','GSK 3-degree Gauss-Kruger zone 55N (code 16955) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',165.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16001','conversion','EPSG','17155','EPSG','2701','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17156','GSK 3-degree Gauss-Kruger CM 168E','GSK 3-degree Gauss-Kruger zone 56N (code 16956) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',168.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16002','conversion','EPSG','17156','EPSG','2702','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17157','GSK 3-degree Gauss-Kruger CM 171E','GSK 3-degree Gauss-Kruger zone 57N (code 16957) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16003','conversion','EPSG','17157','EPSG','2703','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17158','GSK 3-degree Gauss-Kruger CM 174E','GSK 3-degree Gauss-Kruger zone 58N (code 16958) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',174.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16004','conversion','EPSG','17158','EPSG','2704','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17159','GSK 3-degree Gauss-Kruger CM 177E','GSK 3-degree Gauss-Kruger zone 59N (code 16959) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16005','conversion','EPSG','17159','EPSG','2705','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17160','GSK 3-degree Gauss-Kruger CM 180E','GSK 3-degree Gauss-Kruger zone 60N (code 16960) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',180.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16482','conversion','EPSG','17160','EPSG','2706','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17161','GSK 3-degree Gauss-Kruger CM 177W','GSK 3-degree Gauss-Kruger zone 61N (code 16961) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-177.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16007','conversion','EPSG','17161','EPSG','2707','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17162','GSK 3-degree Gauss-Kruger CM 174W','GSK 3-degree Gauss-Kruger zone 62N (code 16962) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-174.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16008','conversion','EPSG','17162','EPSG','2708','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17163','GSK 3-degree Gauss-Kruger CM 171W','GSK 3-degree Gauss-Kruger zone 63N (code 16963) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-171.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16009','conversion','EPSG','17163','EPSG','2709','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17164','GSK 3-degree Gauss-Kruger CM 168W','GSK 3-degree Gauss-Kruger zone 64N (code 16964) without zone prefix to false easting value.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-168.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',250000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16010','conversion','EPSG','17164','EPSG','2710','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17204','SCAR IMW SP19-20','After: Sievers, J. and H. Bennat (1989). "Reference systems of maps and geographic information systems of Antarctica." Antarctic Science 1(4): 351-362.','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',-90.0,'EPSG','9102','EPSG','8822','Longitude of false origin',-66.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',-60.4,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',-63.2,'EPSG','9110','EPSG','8826','Easting at false origin',0.0,'EPSG','9001','EPSG','8827','Northing at false origin',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12403','conversion','EPSG','17204','EPSG','2991','EPSG','1211');
|
||||
INSERT INTO "conversion" VALUES('EPSG','17205','SCAR IMW SP21-22','After: Sievers, J. and H. Bennat (1989). "Reference systems of maps and geographic information systems of Antarctica." Antarctic Science 1(4): 351-362.','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',-90.0,'EPSG','9102','EPSG','8822','Longitude of false origin',-54.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',-60.4,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',-63.2,'EPSG','9110','EPSG','8826','Easting at false origin',0.0,'EPSG','9001','EPSG','8827','Northing at false origin',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
|
||||
+10
-10
@@ -3150,10 +3150,10 @@ INSERT INTO "extent" VALUES('EPSG','4170','Japan - northern Honshu','Japan - nor
|
||||
INSERT INTO "extent" VALUES('EPSG','4171','Northern Mariana Islands - Rota, Saipan and Tinian','Northern Mariana Islands - onshore - Rota, Saipan and Tinian.',14.06,15.35,145.06,145.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4172','Falkland Islands - offshore 63°W to 57°W','Falkland Islands (Malvinas) - offshore - between 63°W and 57°W.',-56.25,-47.68,-63.01,-56.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4173','Heard Island and McDonald Islands - west of 66°E','Heard Island and McDonald Islands - offshore west of 66°E.',-57.5,-53.43,62.92,66.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4174','Australia','Australia - onshore and offshore. Includes Lord Howe Island, Macquarie Islands, Ashmore and Cartier Islands.',-60.56,-8.88,105.8,164.7,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4174','Australia','Australia - onshore and offshore. Includes Lord Howe Island, Macquarie Island, Ashmore and Cartier Islands.',-60.55,-8.88,105.8,164.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4175','Australasia - Australia and Norfolk Island - 162°E to 168°E','Australia - offshore east of 162°E. Norfolk Island - onshore and offshore west of 168°E.',-59.39,-25.94,162.0,168.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4176','Australasia - Australia and Christmas Island - 108°E to 114°E','Australia - onshore and offshore west of 114°E. Christmas Island - offshore east of 108°E.',-37.84,-10.72,108.0,114.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4177','Australia - GDA','Australia including Lord Howe Island, Macquarie Islands, Ashmore and Cartier Islands, Christmas Island, Cocos (Keeling) Islands, Norfolk Island. All onshore and offshore.',-60.56,-8.47,93.41,173.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4177','Australia - GDA','Australia including Lord Howe Island, Macquarie Island, Ashmore and Cartier Islands, Christmas Island, Cocos (Keeling) Islands, Norfolk Island. All onshore and offshore.',-60.55,-8.47,93.41,173.34,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4178','Australia - 114°E to 120°E','Australia - onshore and offshore between 114°E and 120°E.',-38.53,-12.06,114.0,120.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4179','Norfolk Island - east of 168°E','Norfolk Island - offshore east of 168°E.',-32.48,-25.61,168.0,173.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4180','USA - Oregon - Baker City','United States (USA) - Oregon - Baker City area.',44.6,45.19,-118.15,-117.37,0);
|
||||
@@ -3172,7 +3172,7 @@ INSERT INTO "extent" VALUES('EPSG','4192','USA - Oregon - Bend-Klamath Falls','U
|
||||
INSERT INTO "extent" VALUES('EPSG','4193','Vietnam - west of 103°30''E onshore','Vietnam - onshore west of 103°30''E.',9.2,22.82,102.14,103.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4194','Japan onshore excluding northern main province','Japan - onshore, excluding northern prefectures of ''main province'' (see remarks).',20.37,45.54,122.83,154.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4195','USA - Oregon - Bend-Redmond-Prineville','United States (USA) - Oregon - Bend-Redmond-Prineville area.',43.76,44.98,-121.88,-119.79,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4196','Australia and Macquarie - 156°E to 162°E','Australia including Lord Howe Island and Macquarie Islands - onshore and offshore between 156°E and 162°E.',-60.56,-14.08,156.0,162.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4196','Australia - 156°E to 162°E including Macquarie','Australia including Lord Howe Island and Macquarie Island - onshore and offshore between 156°E and 162°E.',-60.55,-14.08,156.0,162.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4197','USA - Oregon - Eugene','United States (USA) - Oregon - Eugene area.',43.74,44.71,-123.8,-122.18,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4198','USA - Oregon - Grants Pass-Ashland','United States (USA) - Oregon - Grants Pass-Ashland area.',41.88,42.85,-123.95,-122.37,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4199','USA - Oregon - Canyonville-Grants Pass','United States (USA) - Oregon - Canyonville-Grants Pass area.',42.49,43.24,-123.83,-122.43,0);
|
||||
@@ -3557,14 +3557,14 @@ INSERT INTO "extent" VALUES('EPSG','4578','Argentina - 67.5°W to 64.5°W mainla
|
||||
INSERT INTO "extent" VALUES('EPSG','4579','Argentina - 64.5°W to 61.5°W mainland onshore','Argentina - between 64°30''W and 61°30''W, onshore mainland.',-43.14,-21.99,-64.5,-61.49,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4580','Germany - Baden-Wurttemberg','Germany - Baden-Wurttemberg.',47.54,49.8,7.51,10.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4581','Africa - Morocco and Western Sahara - onshore','Africa - Morocco and Western Sahara - onshore.',20.71,35.97,-17.16,-1.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4582','UK - London to Birmingham and Crewe','UK - HS2 phases 1 and 2a railway corridor from London to Birmingham, Lichfield and Crewe.',51.45,53.3,-2.75,0.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4583','UK - Liverpool to Leeds','UK - on or related to the Trans-Pennine rail route from Liverpool via Manchester to Bradford and Leeds.',53.32,53.9,-3.14,-1.34,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4582','UK - London to Birmingham and Crewe','United Kingdom (UK) - HS2 phases 1 and 2a railway corridor from London to Birmingham, Lichfield and Crewe.',51.45,53.3,-2.75,0.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4583','UK - Liverpool to Leeds','United Kingdom (UK) - on or related to the Trans-Pennine rail route from Liverpool via Manchester to Bradford and Leeds.',53.32,53.9,-3.14,-1.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4584','Germany - Saarland','Germany - Saarland.',49.11,49.64,6.35,7.41,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4585','Austria - Vienna','Austria - Vienna city state.',48.12,48.34,16.18,16.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4586','World - south of 50°S','Southern hemisphere - south of 50°S onshore and offshore, including Antarctica.',-90.0,-50.0,-180.0,180.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4587','Congo DR (Zaire) - 6th parallel south 21.5°E to 23°E','The Democratic Republic of the Congo (Zaire) - adjacent to 6th parallel south traverse between 21°30''E and 23°E.',-7.31,-5.31,21.5,23.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4588','UK - London to Sheffield','UK - on or related to the Midland Mainline rail route from Sheffield to London.',51.46,53.42,-1.89,0.16,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4589','UK - Aberdeen to Inverness','UK - on or related to the A96 highway from Aberdeen to Inverness.',57.1,57.71,-4.31,-2.1,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4588','UK - London to Sheffield','United Kingdom (UK) - on or related to the Midland Mainline rail route from Sheffield to London.',51.46,53.41,-1.89,0.15,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4589','UK - Aberdeen to Inverness','United Kingdom (UK) - on or related to the A96 highway from Aberdeen to Inverness.',57.1,57.7,-4.3,-2.1,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4590','Spain - Ceuta','Spain - Ceuta onshore.',35.82,35.97,-5.4,-5.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4591','Spain - Canary Islands - Lanzarote','Spain - Canary Islands - Lanzarote onshore.',28.78,29.47,-13.95,-13.37,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4592','Spain - Canary Islands - Fuerteventura','Spain - Canary Islands - Fuerteventura onshore.',27.99,28.81,-14.58,-13.75,0);
|
||||
@@ -3582,7 +3582,7 @@ INSERT INTO "extent" VALUES('EPSG','4603','Spain - Balearic Islands - Menorca','
|
||||
INSERT INTO "extent" VALUES('EPSG','4604','Spain - Balearic Islands - Ibiza and Formentera','Spain - Balearic Islands - Ibiza and Formentera - onshore.',38.59,39.17,1.12,1.68,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4605','Spain - mainland onshore and Ceuta','Spain - mainland and Ceuta - onshore.',35.82,43.82,-9.37,3.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4606','Europe - British Isles - UK and Ireland onshore, UKCS','United Kingdom (UK) - offshore to boundary of UKCS within 49°45''N to 61°N and 9°W to 2°E; onshore Great Britain (England, Wales and Scotland) and Northern Ireland. Ireland onshore. Isle of Man onshore.',49.75,61.01,-9.0,2.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4607','UK - Glasgow to Kilmarnock','UK - on or related to the rail route from Glasgow via Barrhead to Kilmarnock and the branch to East Kilbride.',55.55,55.95,-4.65,-4.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4607','UK - Glasgow to Kilmarnock','United Kingdom (UK) - on or related to the rail route from Glasgow to Kilmarnock via Barrhead and the branch to East Kilbride.',55.55,55.95,-4.65,-4.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4608','Europe - EVRF2019','Europe - onshore - Andorra; Austria; Belarus; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Czechia; Denmark; Estonia; Finland; France - mainland; Germany; Gibraltar, Hungary; Italy - mainland and Sicily; Latvia; Liechtenstein; Lithuania; Luxembourg; Netherlands; North Macedonia; Norway; Poland; Portugal - mainland; Romania; Russia – west of approximately 60°E; San Marino; Slovakia; Slovenia; Spain - mainland; Sweden; Switzerland; United Kingdom (UK) - Great Britain mainland; Ukraine; Vatican City State.',35.95,77.07,-9.56,69.15,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4609','Europe - ETRF EVRF2019','Europe - onshore - Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Czechia; Denmark; Estonia; Finland; France - mainland; Germany; Gibraltar, Hungary; Italy - mainland and Sicily; Latvia; Liechtenstein; Lithuania; Luxembourg; Netherlands; North Macedonia; Norway; Poland; Portugal - mainland; Romania; San Marino; Slovakia; Slovenia; Spain - mainland; Sweden; Switzerland; United Kingdom (UK) - Great Britain mainland; Vatican City State.',35.95,71.21,-9.56,31.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4610','Argentina - Buenos Aires city','Argentina - autonomous city of Buenos Aires.',-34.71,-34.5,-58.54,-58.29,0);
|
||||
@@ -3591,8 +3591,8 @@ INSERT INTO "extent" VALUES('EPSG','4612','Canada - Newfoundland','Canada - Newf
|
||||
INSERT INTO "extent" VALUES('EPSG','4613','Europe - Lyon-Turin','France and Italy - on or related to the rail route from Lyon to Turin.',44.87,45.89,4.65,7.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4614','Argentina - Comodoro Rivadavia - west of 67.5°W','Argentina - Comodoro Rivadavia area west of 67°30''W.',-46.7,-45.19,-69.5,-67.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4615','Norway, Svalbard and Jan Mayen - offshore','Norway (offshore) and Svalbard and Jan Mayen (offshore).',56.08,84.73,-13.63,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4616','UK - Great Britain onshore; Isle of Man','United Kingdom (UK) - Great Britain - England, Scotland and Wales onshore; Isle of Man onshore.',49.81,60.93,-8.69,1.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4616','UK - Great Britain onshore; Isle of Man','United Kingdom (UK) - Great Britain - England, Scotland and Wales onshore; Isle of Man onshore.',49.81,60.93,-8.69,1.9,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4617','Canada - east of 42°W','Canada offshore Atlantic - east of 42°W.',45.53,49.53,-42.0,-40.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4618','Canada - 41°N to 85°N, west of 50°W','Canada - onshore and offshore between 41°N and 85°N and west of 50°W - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon.',41.0,85.0,-141.01,-50.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4619','Italy - 6°22''E to 18°40''E and north of 35°16''N; San Marino, Vatican City State','Italy - onshore and offshore between 6°22''E and 18°40''E and north of 35°16''N; San Marino, Vatican City State.',35.26,47.1,6.36,18.67,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4620','UK - Tweedmouth to Aberdeen','On or related to the complex of rail routes in the East of Scotland, incorporating the route from Tweedbank through the Borders to Edinburgh; the line from Edinburgh to Aberdeen; routes via Kirkaldy and Cowdenbeath; and routes via Leuchars and Perth to Dundee. ',55.55,57.2,-3.55,-1.95,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4620','UK - Tweedmouth to Aberdeen','United Kingdom (UK) - on or related to the complex of rail routes in the East of Scotland, incorporating the route from Tweedbank through the Borders to Edinburgh; the line from Edinburgh to Aberdeen; routes via Kirkaldy and Cowdenbeath; and routes via Leuchars and Perth to Dundee. ',55.55,57.2,-3.55,-1.95,0);
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MAJOR', 1);
|
||||
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MINOR', 1);
|
||||
|
||||
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.027');
|
||||
INSERT INTO "metadata" VALUES('EPSG.DATE', '2021-06-17');
|
||||
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.028');
|
||||
INSERT INTO "metadata" VALUES('EPSG.DATE', '2021-07-07');
|
||||
|
||||
-- The value of ${PROJ_VERSION} is substituted at build time by the actual
|
||||
-- value.
|
||||
|
||||
@@ -7663,10 +7663,242 @@ INSERT INTO "projected_crs" VALUES('EPSG','21149','Batavia / UTM zone 49S',NULL,
|
||||
INSERT INTO "usage" VALUES('EPSG','6285','projected_crs','EPSG','21149','EPSG','1586','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21150','Batavia / UTM zone 50S',NULL,'EPSG','4400','EPSG','4211','EPSG','16150',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6286','projected_crs','EPSG','21150','EPSG','1585','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21207','GSK-2011 / GSK 3GK zone 7',NULL,'EPSG','4530','EPSG','7683','EPSG','16907',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16450','projected_crs','EPSG','21207','EPSG','2747','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21208','GSK-2011 / GSK 3GK zone 8',NULL,'EPSG','4530','EPSG','7683','EPSG','16908',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16452','projected_crs','EPSG','21208','EPSG','2748','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21209','GSK-2011 / GSK 3GK zone 9',NULL,'EPSG','4530','EPSG','7683','EPSG','16909',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16453','projected_crs','EPSG','21209','EPSG','2749','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21210','GSK-2011 / GSK 3GK zone 10',NULL,'EPSG','4530','EPSG','7683','EPSG','16910',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16454','projected_crs','EPSG','21210','EPSG','2750','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21211','GSK-2011 / GSK 3GK zone 11',NULL,'EPSG','4530','EPSG','7683','EPSG','16911',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16455','projected_crs','EPSG','21211','EPSG','2751','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21212','GSK-2011 / GSK 3GK zone 12',NULL,'EPSG','4530','EPSG','7683','EPSG','16912',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16456','projected_crs','EPSG','21212','EPSG','2752','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21213','GSK-2011 / GSK 3GK zone 13',NULL,'EPSG','4530','EPSG','7683','EPSG','16913',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16457','projected_crs','EPSG','21213','EPSG','2753','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21214','GSK-2011 / GSK 3GK zone 14',NULL,'EPSG','4530','EPSG','7683','EPSG','16914',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16458','projected_crs','EPSG','21214','EPSG','2754','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21215','GSK-2011 / GSK 3GK zone 15',NULL,'EPSG','4530','EPSG','7683','EPSG','16915',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16459','projected_crs','EPSG','21215','EPSG','2755','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21216','GSK-2011 / GSK 3GK zone 16',NULL,'EPSG','4530','EPSG','7683','EPSG','16916',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16460','projected_crs','EPSG','21216','EPSG','2756','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21217','GSK-2011 / GSK 3GK zone 17',NULL,'EPSG','4530','EPSG','7683','EPSG','16917',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16461','projected_crs','EPSG','21217','EPSG','2757','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21218','GSK-2011 / GSK 3GK zone 18',NULL,'EPSG','4530','EPSG','7683','EPSG','16918',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16462','projected_crs','EPSG','21218','EPSG','2758','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21219','GSK-2011 / GSK 3GK zone 19',NULL,'EPSG','4530','EPSG','7683','EPSG','16919',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16463','projected_crs','EPSG','21219','EPSG','2759','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21220','GSK-2011 / GSK 3GK zone 20',NULL,'EPSG','4530','EPSG','7683','EPSG','16920',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16464','projected_crs','EPSG','21220','EPSG','2760','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21221','GSK-2011 / GSK 3GK zone 21',NULL,'EPSG','4530','EPSG','7683','EPSG','16921',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16465','projected_crs','EPSG','21221','EPSG','2761','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21222','GSK-2011 / GSK 3GK zone 22',NULL,'EPSG','4530','EPSG','7683','EPSG','16922',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16420','projected_crs','EPSG','21222','EPSG','2762','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21223','GSK-2011 / GSK 3GK zone 23',NULL,'EPSG','4530','EPSG','7683','EPSG','16923',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16421','projected_crs','EPSG','21223','EPSG','2763','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21224','GSK-2011 / GSK 3GK zone 24',NULL,'EPSG','4530','EPSG','7683','EPSG','16924',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16422','projected_crs','EPSG','21224','EPSG','2764','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21225','GSK-2011 / GSK 3GK zone 25',NULL,'EPSG','4530','EPSG','7683','EPSG','16925',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16423','projected_crs','EPSG','21225','EPSG','2765','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21226','GSK-2011 / GSK 3GK zone 26',NULL,'EPSG','4530','EPSG','7683','EPSG','16926',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16424','projected_crs','EPSG','21226','EPSG','2766','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21227','GSK-2011 / GSK 3GK zone 27',NULL,'EPSG','4530','EPSG','7683','EPSG','16927',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16425','projected_crs','EPSG','21227','EPSG','2767','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21228','GSK-2011 / GSK 3GK zone 28',NULL,'EPSG','4530','EPSG','7683','EPSG','16928',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16426','projected_crs','EPSG','21228','EPSG','2768','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21229','GSK-2011 / GSK 3GK zone 29',NULL,'EPSG','4530','EPSG','7683','EPSG','16929',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16501','projected_crs','EPSG','21229','EPSG','2769','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21230','GSK-2011 / GSK 3GK zone 30',NULL,'EPSG','4530','EPSG','7683','EPSG','16930',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16502','projected_crs','EPSG','21230','EPSG','2676','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21231','GSK-2011 / GSK 3GK zone 31',NULL,'EPSG','4530','EPSG','7683','EPSG','16931',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16442','projected_crs','EPSG','21231','EPSG','2677','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21232','GSK-2011 / GSK 3GK zone 32',NULL,'EPSG','4530','EPSG','7683','EPSG','16932',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16443','projected_crs','EPSG','21232','EPSG','2678','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21233','GSK-2011 / GSK 3GK zone 33',NULL,'EPSG','4530','EPSG','7683','EPSG','16933',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16444','projected_crs','EPSG','21233','EPSG','2679','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21234','GSK-2011 / GSK 3GK zone 34',NULL,'EPSG','4530','EPSG','7683','EPSG','16934',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16445','projected_crs','EPSG','21234','EPSG','2680','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21235','GSK-2011 / GSK 3GK zone 35',NULL,'EPSG','4530','EPSG','7683','EPSG','16935',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16446','projected_crs','EPSG','21235','EPSG','2681','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21236','GSK-2011 / GSK 3GK zone 36',NULL,'EPSG','4530','EPSG','7683','EPSG','16936',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16447','projected_crs','EPSG','21236','EPSG','2682','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21237','GSK-2011 / GSK 3GK zone 37',NULL,'EPSG','4530','EPSG','7683','EPSG','16937',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16392','projected_crs','EPSG','21237','EPSG','2683','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21238','GSK-2011 / GSK 3GK zone 38',NULL,'EPSG','4530','EPSG','7683','EPSG','16938',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16393','projected_crs','EPSG','21238','EPSG','2684','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21239','GSK-2011 / GSK 3GK zone 39',NULL,'EPSG','4530','EPSG','7683','EPSG','16939',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16394','projected_crs','EPSG','21239','EPSG','2685','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21240','GSK-2011 / GSK 3GK zone 40',NULL,'EPSG','4530','EPSG','7683','EPSG','16940',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16395','projected_crs','EPSG','21240','EPSG','2686','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21241','GSK-2011 / GSK 3GK zone 41',NULL,'EPSG','4530','EPSG','7683','EPSG','16941',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16396','projected_crs','EPSG','21241','EPSG','2687','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21242','GSK-2011 / GSK 3GK zone 42',NULL,'EPSG','4530','EPSG','7683','EPSG','16942',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16397','projected_crs','EPSG','21242','EPSG','2688','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21243','GSK-2011 / GSK 3GK zone 43',NULL,'EPSG','4530','EPSG','7683','EPSG','16943',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16398','projected_crs','EPSG','21243','EPSG','2689','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21244','GSK-2011 / GSK 3GK zone 44',NULL,'EPSG','4530','EPSG','7683','EPSG','16944',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16399','projected_crs','EPSG','21244','EPSG','2690','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21245','GSK-2011 / GSK 3GK zone 45',NULL,'EPSG','4530','EPSG','7683','EPSG','16945',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16400','projected_crs','EPSG','21245','EPSG','2691','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21246','GSK-2011 / GSK 3GK zone 46',NULL,'EPSG','4530','EPSG','7683','EPSG','16946',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16401','projected_crs','EPSG','21246','EPSG','2692','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21247','GSK-2011 / GSK 3GK zone 47',NULL,'EPSG','4530','EPSG','7683','EPSG','16947',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16402','projected_crs','EPSG','21247','EPSG','2693','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21248','GSK-2011 / GSK 3GK zone 48',NULL,'EPSG','4530','EPSG','7683','EPSG','16948',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16403','projected_crs','EPSG','21248','EPSG','2694','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21249','GSK-2011 / GSK 3GK zone 49',NULL,'EPSG','4530','EPSG','7683','EPSG','16949',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16404','projected_crs','EPSG','21249','EPSG','2695','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21250','GSK-2011 / GSK 3GK zone 50',NULL,'EPSG','4530','EPSG','7683','EPSG','16950',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16405','projected_crs','EPSG','21250','EPSG','2696','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21251','GSK-2011 / GSK 3GK zone 51',NULL,'EPSG','4530','EPSG','7683','EPSG','16951',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16365','projected_crs','EPSG','21251','EPSG','2697','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21252','GSK-2011 / GSK 3GK zone 52',NULL,'EPSG','4530','EPSG','7683','EPSG','16952',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16366','projected_crs','EPSG','21252','EPSG','2698','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21253','GSK-2011 / GSK 3GK zone 53',NULL,'EPSG','4530','EPSG','7683','EPSG','16953',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16367','projected_crs','EPSG','21253','EPSG','2699','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21254','GSK-2011 / GSK 3GK zone 54',NULL,'EPSG','4530','EPSG','7683','EPSG','16954',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16368','projected_crs','EPSG','21254','EPSG','2700','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21255','GSK-2011 / GSK 3GK zone 55',NULL,'EPSG','4530','EPSG','7683','EPSG','16955',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16369','projected_crs','EPSG','21255','EPSG','2701','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21256','GSK-2011 / GSK 3GK zone 56',NULL,'EPSG','4530','EPSG','7683','EPSG','16956',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16370','projected_crs','EPSG','21256','EPSG','2702','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21257','GSK-2011 / GSK 3GK zone 57',NULL,'EPSG','4530','EPSG','7683','EPSG','16957',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16371','projected_crs','EPSG','21257','EPSG','2703','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21258','GSK-2011 / GSK 3GK zone 58',NULL,'EPSG','4530','EPSG','7683','EPSG','16958',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16372','projected_crs','EPSG','21258','EPSG','2704','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21259','GSK-2011 / GSK 3GK zone 59',NULL,'EPSG','4530','EPSG','7683','EPSG','16959',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16373','projected_crs','EPSG','21259','EPSG','2705','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21260','GSK-2011 / GSK 3GK zone 60',NULL,'EPSG','4530','EPSG','7683','EPSG','16960',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16375','projected_crs','EPSG','21260','EPSG','2706','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21261','GSK-2011 / GSK 3GK zone 61',NULL,'EPSG','4530','EPSG','7683','EPSG','16961',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16376','projected_crs','EPSG','21261','EPSG','2707','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21262','GSK-2011 / GSK 3GK zone 62',NULL,'EPSG','4530','EPSG','7683','EPSG','16962',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16377','projected_crs','EPSG','21262','EPSG','2708','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21263','GSK-2011 / GSK 3GK zone 63',NULL,'EPSG','4530','EPSG','7683','EPSG','16963',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16378','projected_crs','EPSG','21263','EPSG','2709','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21264','GSK-2011 / GSK 3GK zone 64',NULL,'EPSG','4530','EPSG','7683','EPSG','16964',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16379','projected_crs','EPSG','21264','EPSG','2710','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21291','Barbados 1938 / British West Indies Grid',NULL,'EPSG','4400','EPSG','4212','EPSG','19942',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6287','projected_crs','EPSG','21291','EPSG','3218','EPSG','1092');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21292','Barbados 1938 / Barbados National Grid',NULL,'EPSG','4400','EPSG','4212','EPSG','19943',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6288','projected_crs','EPSG','21292','EPSG','3218','EPSG','1092');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21307','GSK-2011 / GSK 3GK CM 21E',NULL,'EPSG','4530','EPSG','7683','EPSG','17107',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16451','projected_crs','EPSG','21307','EPSG','2747','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21308','GSK-2011 / GSK 3GK CM 24E',NULL,'EPSG','4530','EPSG','7683','EPSG','17108',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16466','projected_crs','EPSG','21308','EPSG','2748','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21309','GSK-2011 / GSK 3GK CM 27E',NULL,'EPSG','4530','EPSG','7683','EPSG','17109',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16467','projected_crs','EPSG','21309','EPSG','2749','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21310','GSK-2011 / GSK 3GK CM 30E',NULL,'EPSG','4530','EPSG','7683','EPSG','17110',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16468','projected_crs','EPSG','21310','EPSG','2750','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21311','GSK-2011 / GSK 3GK CM 33E',NULL,'EPSG','4530','EPSG','7683','EPSG','17111',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16469','projected_crs','EPSG','21311','EPSG','2751','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21312','GSK-2011 / GSK 3GK CM 36E',NULL,'EPSG','4530','EPSG','7683','EPSG','17112',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16470','projected_crs','EPSG','21312','EPSG','2752','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21313','GSK-2011 / GSK 3GK CM 39E',NULL,'EPSG','4530','EPSG','7683','EPSG','17113',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16479','projected_crs','EPSG','21313','EPSG','2753','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21314','GSK-2011 / GSK 3GK CM 42E',NULL,'EPSG','4530','EPSG','7683','EPSG','17114',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16471','projected_crs','EPSG','21314','EPSG','2754','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21315','GSK-2011 / GSK 3GK CM 45E',NULL,'EPSG','4530','EPSG','7683','EPSG','17115',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16472','projected_crs','EPSG','21315','EPSG','2755','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21316','GSK-2011 / GSK 3GK CM 48E',NULL,'EPSG','4530','EPSG','7683','EPSG','17116',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16473','projected_crs','EPSG','21316','EPSG','2756','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21317','GSK-2011 / GSK 3GK CM 51E',NULL,'EPSG','4530','EPSG','7683','EPSG','17117',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16474','projected_crs','EPSG','21317','EPSG','2757','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21318','GSK-2011 / GSK 3GK CM 54E',NULL,'EPSG','4530','EPSG','7683','EPSG','17118',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16475','projected_crs','EPSG','21318','EPSG','2758','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21319','GSK-2011 / GSK 3GK CM 57E',NULL,'EPSG','4530','EPSG','7683','EPSG','17119',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16476','projected_crs','EPSG','21319','EPSG','2759','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21320','GSK-2011 / GSK 3GK CM 60E',NULL,'EPSG','4530','EPSG','7683','EPSG','17120',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16477','projected_crs','EPSG','21320','EPSG','2760','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21321','GSK-2011 / GSK 3GK CM 63E',NULL,'EPSG','4530','EPSG','7683','EPSG','17121',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16478','projected_crs','EPSG','21321','EPSG','2761','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21322','GSK-2011 / GSK 3GK CM 66E',NULL,'EPSG','4530','EPSG','7683','EPSG','17122',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16448','projected_crs','EPSG','21322','EPSG','2762','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21323','GSK-2011 / GSK 3GK CM 69E',NULL,'EPSG','4530','EPSG','7683','EPSG','17123',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16430','projected_crs','EPSG','21323','EPSG','2763','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21324','GSK-2011 / GSK 3GK CM 72E',NULL,'EPSG','4530','EPSG','7683','EPSG','17124',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16449','projected_crs','EPSG','21324','EPSG','2764','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21325','GSK-2011 / GSK 3GK CM 75E',NULL,'EPSG','4530','EPSG','7683','EPSG','17125',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16431','projected_crs','EPSG','21325','EPSG','2765','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21326','GSK-2011 / GSK 3GK CM 78E',NULL,'EPSG','4530','EPSG','7683','EPSG','17126',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16432','projected_crs','EPSG','21326','EPSG','2766','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21327','GSK-2011 / GSK 3GK CM 81E',NULL,'EPSG','4530','EPSG','7683','EPSG','17127',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16433','projected_crs','EPSG','21327','EPSG','2767','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21328','GSK-2011 / GSK 3GK CM 84E',NULL,'EPSG','4530','EPSG','7683','EPSG','17128',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16434','projected_crs','EPSG','21328','EPSG','2768','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21329','GSK-2011 / GSK 3GK CM 87E',NULL,'EPSG','4530','EPSG','7683','EPSG','17129',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16435','projected_crs','EPSG','21329','EPSG','2769','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21330','GSK-2011 / GSK 3GK CM 90E',NULL,'EPSG','4530','EPSG','7683','EPSG','17130',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16436','projected_crs','EPSG','21330','EPSG','2676','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21331','GSK-2011 / GSK 3GK CM 93E',NULL,'EPSG','4530','EPSG','7683','EPSG','17131',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16437','projected_crs','EPSG','21331','EPSG','2677','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21332','GSK-2011 / GSK 3GK CM 96E',NULL,'EPSG','4530','EPSG','7683','EPSG','17132',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16429','projected_crs','EPSG','21332','EPSG','2678','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21333','GSK-2011 / GSK 3GK CM 99E',NULL,'EPSG','4530','EPSG','7683','EPSG','17133',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16438','projected_crs','EPSG','21333','EPSG','2679','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21334','GSK-2011 / GSK 3GK CM 102E',NULL,'EPSG','4530','EPSG','7683','EPSG','17134',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16439','projected_crs','EPSG','21334','EPSG','2680','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21335','GSK-2011 / GSK 3GK CM 105E',NULL,'EPSG','4530','EPSG','7683','EPSG','17135',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16440','projected_crs','EPSG','21335','EPSG','2681','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21336','GSK-2011 / GSK 3GK CM 108E',NULL,'EPSG','4530','EPSG','7683','EPSG','17136',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16441','projected_crs','EPSG','21336','EPSG','2682','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21337','GSK-2011 / GSK 3GK CM 111E',NULL,'EPSG','4530','EPSG','7683','EPSG','17137',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16406','projected_crs','EPSG','21337','EPSG','2683','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21338','GSK-2011 / GSK 3GK CM 114E',NULL,'EPSG','4530','EPSG','7683','EPSG','17138',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16407','projected_crs','EPSG','21338','EPSG','2684','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21339','GSK-2011 / GSK 3GK CM 117E',NULL,'EPSG','4530','EPSG','7683','EPSG','17139',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16408','projected_crs','EPSG','21339','EPSG','2685','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21340','GSK-2011 / GSK 3GK CM 120E',NULL,'EPSG','4530','EPSG','7683','EPSG','17140',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16409','projected_crs','EPSG','21340','EPSG','2686','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21341','GSK-2011 / GSK 3GK CM 123E',NULL,'EPSG','4530','EPSG','7683','EPSG','17141',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16481','projected_crs','EPSG','21341','EPSG','2687','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21342','GSK-2011 / GSK 3GK CM 126E',NULL,'EPSG','4530','EPSG','7683','EPSG','17142',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16411','projected_crs','EPSG','21342','EPSG','2688','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21343','GSK-2011 / GSK 3GK CM 129E',NULL,'EPSG','4530','EPSG','7683','EPSG','17143',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16412','projected_crs','EPSG','21343','EPSG','2689','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21344','GSK-2011 / GSK 3GK CM 132E',NULL,'EPSG','4530','EPSG','7683','EPSG','17144',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16413','projected_crs','EPSG','21344','EPSG','2690','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21345','GSK-2011 / GSK 3GK CM 135E',NULL,'EPSG','4530','EPSG','7683','EPSG','17145',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16414','projected_crs','EPSG','21345','EPSG','2691','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21346','GSK-2011 / GSK 3GK CM 138E',NULL,'EPSG','4530','EPSG','7683','EPSG','17146',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16415','projected_crs','EPSG','21346','EPSG','2692','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21347','GSK-2011 / GSK 3GK CM 141E',NULL,'EPSG','4530','EPSG','7683','EPSG','17147',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16416','projected_crs','EPSG','21347','EPSG','2693','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21348','GSK-2011 / GSK 3GK CM 144E',NULL,'EPSG','4530','EPSG','7683','EPSG','17148',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16417','projected_crs','EPSG','21348','EPSG','2694','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21349','GSK-2011 / GSK 3GK CM 147E',NULL,'EPSG','4530','EPSG','7683','EPSG','17149',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16418','projected_crs','EPSG','21349','EPSG','2695','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21350','GSK-2011 / GSK 3GK CM 150E',NULL,'EPSG','4530','EPSG','7683','EPSG','17150',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16419','projected_crs','EPSG','21350','EPSG','2696','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21351','GSK-2011 / GSK 3GK CM 153E',NULL,'EPSG','4530','EPSG','7683','EPSG','17151',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16380','projected_crs','EPSG','21351','EPSG','2697','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21352','GSK-2011 / GSK 3GK CM 156E',NULL,'EPSG','4530','EPSG','7683','EPSG','17152',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16381','projected_crs','EPSG','21352','EPSG','2698','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21353','GSK-2011 / GSK 3GK CM 159E',NULL,'EPSG','4530','EPSG','7683','EPSG','17153',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16382','projected_crs','EPSG','21353','EPSG','2699','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21354','GSK-2011 / GSK 3GK CM 162E',NULL,'EPSG','4530','EPSG','7683','EPSG','17154',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16383','projected_crs','EPSG','21354','EPSG','2700','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21355','GSK-2011 / GSK 3GK CM 165E',NULL,'EPSG','4530','EPSG','7683','EPSG','17155',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16384','projected_crs','EPSG','21355','EPSG','2701','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21356','GSK-2011 / GSK 3GK CM 168E',NULL,'EPSG','4530','EPSG','7683','EPSG','17156',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16385','projected_crs','EPSG','21356','EPSG','2702','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21357','GSK-2011 / GSK 3GK CM 171E',NULL,'EPSG','4530','EPSG','7683','EPSG','17157',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16386','projected_crs','EPSG','21357','EPSG','2703','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21358','GSK-2011 / GSK 3GK CM 174E',NULL,'EPSG','4530','EPSG','7683','EPSG','17158',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16374','projected_crs','EPSG','21358','EPSG','2704','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21359','GSK-2011 / GSK 3GK CM 177E',NULL,'EPSG','4530','EPSG','7683','EPSG','17159',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16387','projected_crs','EPSG','21359','EPSG','2705','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21360','GSK-2011 / GSK 3GK CM 180E',NULL,'EPSG','4530','EPSG','7683','EPSG','17160',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16388','projected_crs','EPSG','21360','EPSG','2706','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21361','GSK-2011 / GSK 3GK CM 177W',NULL,'EPSG','4530','EPSG','7683','EPSG','17161',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16389','projected_crs','EPSG','21361','EPSG','2707','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21362','GSK-2011 / GSK 3GK CM 174W',NULL,'EPSG','4530','EPSG','7683','EPSG','17162',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16390','projected_crs','EPSG','21362','EPSG','2708','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21363','GSK-2011 / GSK 3GK CM 171W',NULL,'EPSG','4530','EPSG','7683','EPSG','17163',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16483','projected_crs','EPSG','21363','EPSG','2709','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21364','GSK-2011 / GSK 3GK CM 168W',NULL,'EPSG','4530','EPSG','7683','EPSG','17164',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16484','projected_crs','EPSG','21364','EPSG','2710','EPSG','1055');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21413','Beijing 1954 / Gauss-Kruger zone 13',NULL,'EPSG','4530','EPSG','4214','EPSG','16213',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6289','projected_crs','EPSG','21413','EPSG','1587','EPSG','1211');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','21414','Beijing 1954 / Gauss-Kruger zone 14',NULL,'EPSG','4530','EPSG','4214','EPSG','16214',NULL,0);
|
||||
|
||||
@@ -29,7 +29,7 @@ by :c:func:`proj_create`, provided it expresses a coordinate operation
|
||||
uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
|
||||
- a OGC URN combining references for concatenated operations
|
||||
(e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
|
||||
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.2/projjson.schema.json
|
||||
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.3/projjson.schema.json
|
||||
|
||||
.. versionadded:: 8.0.0
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ Synopsis
|
||||
(*added in 6.2*)
|
||||
- a OGC URN combining references for concatenated operations
|
||||
(e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
|
||||
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.2/projjson.schema.json (*added in 6.2*)
|
||||
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.3/projjson.schema.json (*added in 6.2*)
|
||||
- a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (*added in 7.1*)
|
||||
|
||||
.. versionadded:: 6.0.0
|
||||
|
||||
@@ -55,7 +55,7 @@ Synopsis
|
||||
(*added in 6.2*)
|
||||
- a OGC URN combining references for concatenated operations
|
||||
(e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
|
||||
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.2/projjson.schema.json (*added in 6.2*)
|
||||
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.3/projjson.schema.json (*added in 6.2*)
|
||||
- a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (*added in 7.1*)
|
||||
|
||||
{object_reference} is a filename preceded by the '@' character. The
|
||||
|
||||
+5
-2
@@ -78,7 +78,7 @@ copyright = u'1983-{0}'.format(now.year)
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
version = '8.1.0'
|
||||
data_version = '1.5'
|
||||
data_version = '1.7'
|
||||
|
||||
# use same |release| as |version|
|
||||
release = version
|
||||
@@ -202,7 +202,7 @@ html_context = {
|
||||
'github_user': 'OSGeo',
|
||||
'github_repo': 'PROJ',
|
||||
# TODO: edit when switching active branch
|
||||
'github_version': '/8.0/docs/source/',
|
||||
'github_version': '/8.1/docs/source/',
|
||||
'css_files': [
|
||||
'_static/theme_overrides.css', # override wide tables in RTD theme
|
||||
],
|
||||
@@ -411,6 +411,9 @@ texinfo_documents = [
|
||||
breathe_projects = {
|
||||
"doxygen_api":"../build/xml/",
|
||||
}
|
||||
breathe_domain_by_extension = {
|
||||
"h" : "c",
|
||||
}
|
||||
|
||||
import redirects
|
||||
redirect_files = redirects.gather_redirects()
|
||||
|
||||
@@ -52,7 +52,7 @@ paragraph for more details.
|
||||
syntax "EPSG:2393+5717"),
|
||||
- a OGC URN combining references for concatenated operations
|
||||
(e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
|
||||
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.2/projjson.schema.json (*added in 6.2*)
|
||||
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.3/projjson.schema.json (*added in 6.2*)
|
||||
- a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (*added in 7.1*)
|
||||
|
||||
Example call:
|
||||
|
||||
@@ -13,8 +13,8 @@ distribution of the source code and various resource file archives. See
|
||||
Current Release
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* **2021-03-01** `proj-8.0.0.tar.gz`_ (`md5`_)
|
||||
* **2021-03-01** `proj-data-1.5.tar.gz`_
|
||||
* **2021-07-01** `proj-8.1.0.tar.gz`_ (`md5`_)
|
||||
* **2021-07-01** `proj-data-1.7.tar.gz`_
|
||||
* **PDF Manual** `proj.pdf`_
|
||||
|
||||
.. note::
|
||||
@@ -28,6 +28,9 @@ Current Release
|
||||
Past Releases
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* **2021-07-01** `proj-8.1.0.tar.gz`_
|
||||
* **2021-05-05** `proj-8.0.1.tar.gz`_
|
||||
* **2021-03-01** `proj-8.0.0.tar.gz`_
|
||||
* **2021-01-01** `proj-7.2.1.tar.gz`_
|
||||
* **2020-11-01** `proj-7.2.0.tar.gz`_
|
||||
* **2020-09-01** `proj-7.1.1.tar.gz`_
|
||||
@@ -50,6 +53,9 @@ Past Releases
|
||||
* **2015-09-13** `proj-4.9.2.tar.gz`_
|
||||
* **2015-03-04** `proj-4.9.1.tar.gz`_
|
||||
|
||||
* **2021-07-01** `proj-data-1.7.tar.gz`_
|
||||
* **2021-05-05** `proj-data-1.6.tar.gz`_
|
||||
* **2021-03-01** `proj-data-1.5.tar.gz`_
|
||||
* **2021-01-01** `proj-data-1.4.tar.gz`_
|
||||
* **2020-11-01** `proj-data-1.3.tar.gz`_
|
||||
* **2020-09-01** `proj-data-1.2.tar.gz`_
|
||||
@@ -76,8 +82,10 @@ Past Releases
|
||||
* **2018-03-01** `proj-datumgrid-oceania-1.1.zip`_
|
||||
* **2018-03-01** `proj-datumgrid-oceania-1.0.zip`_
|
||||
|
||||
.. _`proj-8.1.0.tar.gz`: https://download.osgeo.org/proj/proj-8.1.0.tar.gz
|
||||
.. _`md5`: https://download.osgeo.org/proj/proj-8.1.0.tar.gz.md5
|
||||
.. _`proj-8.0.1.tar.gz`: https://download.osgeo.org/proj/proj-8.0.1.tar.gz
|
||||
.. _`proj-8.0.0.tar.gz`: https://download.osgeo.org/proj/proj-8.0.0.tar.gz
|
||||
.. _`md5`: https://download.osgeo.org/proj/proj-8.0.0.tar.gz.md5
|
||||
.. _`proj-7.2.1.tar.gz`: https://download.osgeo.org/proj/proj-7.2.1.tar.gz
|
||||
.. _`proj-7.2.0.tar.gz`: https://download.osgeo.org/proj/proj-7.2.0.tar.gz
|
||||
.. _`proj-7.1.1.tar.gz`: https://download.osgeo.org/proj/proj-7.1.1.tar.gz
|
||||
@@ -100,6 +108,8 @@ Past Releases
|
||||
.. _`proj-4.9.2.tar.gz`: https://download.osgeo.org/proj/proj-4.9.2.tar.gz
|
||||
.. _`proj-4.9.3.tar.gz`: https://download.osgeo.org/proj/proj-4.9.3.tar.gz
|
||||
|
||||
.. _`proj-data-1.7.tar.gz`: https://download.osgeo.org/proj/proj-data-1.7.tar.gz
|
||||
.. _`proj-data-1.6.tar.gz`: https://download.osgeo.org/proj/proj-data-1.6.tar.gz
|
||||
.. _`proj-data-1.5.tar.gz`: https://download.osgeo.org/proj/proj-data-1.5.tar.gz
|
||||
.. _`proj-data-1.4.tar.gz`: https://download.osgeo.org/proj/proj-data-1.4.tar.gz
|
||||
.. _`proj-data-1.3.tar.gz`: https://download.osgeo.org/proj/proj-data-1.3.tar.gz
|
||||
|
||||
@@ -155,6 +155,12 @@ FSF's configuration procedure is used to ease installation of the PROJ system.
|
||||
Follow the CMake installation guide if you are not using a UNIX-like
|
||||
operating system.
|
||||
|
||||
If you are building from the git repository you have to first run::
|
||||
|
||||
./autogen.sh
|
||||
|
||||
which will generate a ``configure`` script that can be used in the next step.
|
||||
|
||||
The default destination path prefix for installed files is ``/usr/local``.
|
||||
Results from the installation script will be placed into subdirectories ``bin``,
|
||||
``include``, ``lib``, and ``man/man1``. If this default path prefix
|
||||
@@ -169,12 +175,6 @@ If another path prefix is required, then execute::
|
||||
In either case, the directory of the prefix path must exist and be writable by
|
||||
the installer.
|
||||
|
||||
If you are building from the git repository you have to first run::
|
||||
|
||||
./autogen.sh
|
||||
|
||||
which will generate a configure script that can be used as described above.
|
||||
|
||||
With the data files in place we can now build and install PROJ::
|
||||
|
||||
make
|
||||
|
||||
@@ -3,6 +3,138 @@
|
||||
News
|
||||
###############################################################################
|
||||
|
||||
8.1.0 Release Notes
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
*July 1st 2021*
|
||||
|
||||
Updates
|
||||
-------
|
||||
|
||||
+ **Database**
|
||||
|
||||
* Update to EPSG v10.027 (`#2751 <https://github.com/OSGeo/PROJ/issues/2751>`_)
|
||||
|
||||
* Decrease DB size by using ``WITHOUT ROWID`` tables (`#2730 <https://github.com/OSGeo/PROJ/issues/2730>`_) (#2647)
|
||||
|
||||
* Add a ``ANALYZE`` step during ``proj.db`` creation allowing for faster lookups (`#2729 <https://github.com/OSGeo/PROJ/issues/2729>`_)
|
||||
|
||||
* Added a ``PROJ.VERSION`` metadata entry (`#2646 <https://github.com/OSGeo/PROJ/issues/2646>`_)
|
||||
|
||||
* Added NGO48 (EPSG:4273) to ETRS89 (EPSG:4258) triangulation-based transformation (`#2554 <https://github.com/OSGeo/PROJ/issues/2554>`_)
|
||||
|
||||
* Additions to the norwegian NKG2020 transformation (`#2548 <https://github.com/OSGeo/PROJ/issues/2548>`_)
|
||||
|
||||
* ESRI projection database updated to version 12.8 (`#2717 <https://github.com/OSGeo/PROJ/issues/2717>`_)
|
||||
|
||||
+ **API additions**
|
||||
|
||||
* Added :c:func:`proj_get_geoid_models_from_database()` function that returns a list of geoid models available for a given CRS (`#2681 <https://github.com/OSGeo/PROJ/issues/2681>`_)
|
||||
|
||||
* Added :c:func`proj_get_celestial_body_list_from_database()` that returns a list of celestial bodies in the PROJ database (`#2667 <https://github.com/OSGeo/PROJ/issues/2667>`_)
|
||||
|
||||
* Added :c:func:`proj_get_celestial_body_name()` (`#2662 <https://github.com/OSGeo/PROJ/issues/2662>`_)
|
||||
|
||||
+ **Various improvements**
|
||||
|
||||
* :c:func:`proj_trans()`/:program:`cs2cs`: If two operations have the same accuracy, use the one that is contained within a larger one (`#2750 <https://github.com/OSGeo/PROJ/issues/2750>`_)
|
||||
|
||||
* Share SQLite database handle among all contexts (`#2738 <https://github.com/OSGeo/PROJ/issues/2738>`_)
|
||||
|
||||
* Added ``proj/internal/mutex.hpp`` as compat layer for mingw32 for std::mutex (`#2736 <https://github.com/OSGeo/PROJ/issues/2736>`_)
|
||||
|
||||
* :program:`projsync`: make it filter out files not intended for the current version (`#2725 <https://github.com/OSGeo/PROJ/issues/2725>`_)
|
||||
|
||||
* Improvements related to ``DerivedVerticalCRS`` using Change Unit and
|
||||
Height/Depth reversal methods (`#2696 <https://github.com/OSGeo/PROJ/issues/2696>`_)
|
||||
|
||||
* Update internal ``nlohmann/json`` to 3.9.1, and add a CMake option to
|
||||
be able to use external ``nlohmann/json`` (`#2686 <https://github.com/OSGeo/PROJ/issues/2686>`_)
|
||||
|
||||
* :cpp:func:`createFromUserInput()`: change name of CRS built from URN combined references to match the convention of EPSG projected CRS (`#2677 <https://github.com/OSGeo/PROJ/issues/2677>`_)
|
||||
|
||||
* Parse compound id with two authorities, like ESRI:103668+EPSG:5703 (`#2669 <https://github.com/OSGeo/PROJ/issues/2669>`_)
|
||||
|
||||
* Added :program:`projinfo` option option ``--list-crs`` (supports ``--area``) (`#2663 <https://github.com/OSGeo/PROJ/issues/2663>`_)
|
||||
|
||||
* Added support for hyperbolic Cassini-Soldner (`#2637 <https://github.com/OSGeo/PROJ/issues/2637>`_)
|
||||
|
||||
* Added capability to get SQL statements to add custom CRS in the database (`#2577 <https://github.com/OSGeo/PROJ/issues/2577>`_)
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fix 'Please include winsock2.h before windows.h' warning with msys (`#2692 <https://github.com/OSGeo/PROJ/issues/2692>`_)
|
||||
|
||||
* Minor changes to address lint in ``geodesic.c`` (`#2752 <https://github.com/OSGeo/PROJ/issues/2752>`_)
|
||||
|
||||
* :cpp:func:`BoundCRS::identify()`: avoid incompatible transformation for WKT1 / TOWGS84 export (`#2747 <https://github.com/OSGeo/PROJ/issues/2747>`_)
|
||||
|
||||
* :c:func:`proj_create()`: do not open proj.db if string is a PROJ string, even if :c:func:`proj_context_set_autoclose_database()` has been set (`#2735 <https://github.com/OSGeo/PROJ/issues/2735>`_)
|
||||
|
||||
* Fix export of transformation to PROJ string in a particular situation where CompoundCRS are involved (`#2721 <https://github.com/OSGeo/PROJ/issues/2721>`_)
|
||||
|
||||
|
||||
8.0.1 Release Notes
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
*May 5th 2021*
|
||||
|
||||
Updates
|
||||
-------
|
||||
|
||||
* Database: update to EPSG v10.018 (`#2636 <https://github.com/OSGeo/PROJ/issues/2636>`_)
|
||||
|
||||
* Add transformations for CHGeo2004, Swiss geoid model (`#2604 <https://github.com/OSGeo/PROJ/issues/2604>`_)
|
||||
|
||||
* Additions to the norwegian NKG2020 transformation (`#2600 <https://github.com/OSGeo/PROJ/issues/2600>`_)
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* :c:func:`pj_vlog()`: fix buffer overflow in case of super lengthy error message (`#2693 <https://github.com/OSGeo/PROJ/issues/2693>`_)
|
||||
|
||||
* Revert ":c:func:`proj_create_crs_to_crs_from_pj()`: do not use PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION if area is specified" (`#2679 <https://github.com/OSGeo/PROJ/issues/2679>`_)
|
||||
|
||||
* UTM: error out when value of ``+zone=`` is not an integer (`#2672 <https://github.com/OSGeo/PROJ/issues/2672>`_)
|
||||
|
||||
* :cpp:func:`getCRSInfoList()`: make result order deterministic (by increasing auth_name,
|
||||
code) (`#2661 <https://github.com/OSGeo/PROJ/issues/2661>`_)
|
||||
|
||||
* :cpp:func:`createOperation()`: make sure no to discard deprecated operations if the
|
||||
replacement uses an unknow grid (`#2623 <https://github.com/OSGeo/PROJ/issues/2623>`_)
|
||||
|
||||
* Fix build on Solaris 11.4 (`#2621 <https://github.com/OSGeo/PROJ/issues/2621>`_)
|
||||
|
||||
* Add mapping of ESRI Equal_Area projection method to EPSG (`#2612 <https://github.com/OSGeo/PROJ/issues/2612>`_)
|
||||
|
||||
* Fix incorrect EPGS extent code for EPSG:7789>EPSG:4976 NKG transformation (`#2599 <https://github.com/OSGeo/PROJ/issues/2599>`_)
|
||||
|
||||
* fix wrong capitalization of CHENyx06_ETRS.gsb (`#2597 <https://github.com/OSGeo/PROJ/issues/2597>`_)
|
||||
|
||||
* :cpp:func:`createOperations()`: improve handling of vertical transforms when
|
||||
when compound CRSs are used (`#2592 <https://github.com/OSGeo/PROJ/issues/2592>`_)
|
||||
|
||||
* :cpp:func:`CRS::promoteTo3D()`: propagate the extent from the 2D CRS (`#2589 <https://github.com/OSGeo/PROJ/issues/2589>`_)
|
||||
|
||||
* :cpp:func:`createFromCRSCodesWithIntermediates()`: improve performance when there is
|
||||
no match (`#2583 <https://github.com/OSGeo/PROJ/issues/2583>`_)
|
||||
|
||||
* Fix :c:func:`proj_clone()` to work on 'meta' coordinate operation ``PJ*`` objects that
|
||||
can be returned by :c:func:`proj_create_crs_to_crs()` (`#2582 <https://github.com/OSGeo/PROJ/issues/2582>`_)
|
||||
|
||||
* add ``PROJ_COMPUTE_VERSION``, ``PROJ_VERSION_NUMBER``,
|
||||
``PROJ_AT_LEAST_VERSION`` macros (`#2581 <https://github.com/OSGeo/PROJ/issues/2581>`_)
|
||||
|
||||
* Make :c:func:`proj_lp_dist()` and :c:func:`proj_geod()` work on a ``PJ*`` CRS object (`#2570 <https://github.com/OSGeo/PROJ/issues/2570>`_)
|
||||
|
||||
* Fix gcc 11 ``-Wnonnull`` compilation warnings (`#2559 <https://github.com/OSGeo/PROJ/issues/2559>`_)
|
||||
|
||||
* Fix use of uninitialized memory in gie tests (`#2558 <https://github.com/OSGeo/PROJ/issues/2558>`_)
|
||||
|
||||
* :c:func:`createOperations()`: fix incorrect height transformation between 3D promoted RGF93 and CH1903+ (`#2555 <https://github.com/OSGeo/PROJ/issues/2555>`_)
|
||||
|
||||
|
||||
|
||||
>>>>>>> Stashed changes
|
||||
8.0.0 Release Notes
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
*March 1st 2021*
|
||||
|
||||
@@ -173,6 +173,10 @@ class PROJ_GCC_DLL CRS : public common::ObjectUsage,
|
||||
PROJ_INTERNAL virtual std::list<std::pair<CRSNNPtr, int>>
|
||||
_identify(const io::AuthorityFactoryPtr &authorityFactory) const;
|
||||
|
||||
PROJ_INTERNAL void
|
||||
setProperties(const util::PropertyMap
|
||||
&properties); // throw(InvalidValueTypeException)
|
||||
|
||||
private:
|
||||
PROJ_OPAQUE_PRIVATE_DATA
|
||||
};
|
||||
@@ -1006,6 +1010,11 @@ class PROJ_GCC_DLL BoundCRS final : public CRS,
|
||||
const override; // throw(io::FormattingException)
|
||||
//! @endcond
|
||||
|
||||
PROJ_DLL static BoundCRSNNPtr
|
||||
create(const util::PropertyMap &properties, const CRSNNPtr &baseCRSIn,
|
||||
const CRSNNPtr &hubCRSIn,
|
||||
const operation::TransformationNNPtr &transformationIn);
|
||||
|
||||
PROJ_DLL static BoundCRSNNPtr
|
||||
create(const CRSNNPtr &baseCRSIn, const CRSNNPtr &hubCRSIn,
|
||||
const operation::TransformationNNPtr &transformationIn);
|
||||
@@ -1168,6 +1177,10 @@ class PROJ_GCC_DLL DerivedGeographicCRS final : public GeographicCRS,
|
||||
const operation::ConversionNNPtr &derivingConversionIn,
|
||||
const cs::EllipsoidalCSNNPtr &csIn);
|
||||
|
||||
PROJ_DLL DerivedGeographicCRSNNPtr
|
||||
demoteTo2D(const std::string &newName,
|
||||
const io::DatabaseContextPtr &dbContext) const;
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
|
||||
const override; // throw(io::FormattingException)
|
||||
|
||||
@@ -160,6 +160,21 @@ class Cache {
|
||||
keys_.splice(keys_.begin(), keys_, iter->second);
|
||||
return iter->second->value;
|
||||
}
|
||||
|
||||
/**
|
||||
* The const reference returned here is only
|
||||
* guaranteed to be valid till the next insert/delete
|
||||
*/
|
||||
const Value* getPtr(const Key& k) {
|
||||
Guard g(lock_);
|
||||
const auto iter = cache_.find(k);
|
||||
if (iter == cache_.end()) {
|
||||
return nullptr;
|
||||
}
|
||||
keys_.splice(keys_.begin(), keys_, iter->second);
|
||||
return &(iter->second->value);
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a copy of the stored object (if found)
|
||||
*/
|
||||
|
||||
+5
-1
@@ -537,7 +537,11 @@ class PROJ_GCC_DLL JSONFormatter {
|
||||
// cppcheck-suppress functionStatic
|
||||
PROJ_INTERNAL bool outputId() const;
|
||||
|
||||
PROJ_INTERNAL bool outputUsage() const;
|
||||
PROJ_INTERNAL bool
|
||||
outputUsage(bool calledBeforeObjectContext = false) const;
|
||||
|
||||
PROJ_INTERNAL static const char *PROJJSON_v0_2;
|
||||
PROJ_INTERNAL static const char *PROJJSON_v0_3;
|
||||
|
||||
//! @endcond
|
||||
|
||||
|
||||
+4
-4
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CCT" "1" "Jul 1, 2021" "8.1.0" "PROJ"
|
||||
.SH NAME
|
||||
cct \- Coordinate Conversion and Transformation
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "CCT" "1" "Sep 1, 2021" "8.1.1" "PROJ"
|
||||
.SH NAME
|
||||
cct \- Coordinate Conversion and Transformation
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
@@ -62,7 +62,7 @@ uniqueness is not guaranteed, heuristics are applied to determine the appropriat
|
||||
a OGC URN combining references for concatenated operations
|
||||
(e.g. "\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP")
|
||||
.IP \(bu 2
|
||||
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.2/projjson.schema.json\fP
|
||||
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.3/projjson.schema.json\fP
|
||||
.UNINDENT
|
||||
.sp
|
||||
New in version 8.0.0.
|
||||
|
||||
+4
-4
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CS2CS" "1" "Jul 1, 2021" "8.1.0" "PROJ"
|
||||
.SH NAME
|
||||
cs2cs \- Cartographic coordinate system filter
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "CS2CS" "1" "Sep 1, 2021" "8.1.1" "PROJ"
|
||||
.SH NAME
|
||||
cs2cs \- Cartographic coordinate system filter
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
@@ -70,7 +70,7 @@ e.g. for Projected 3D CRS "UTM zone 31N / WGS 84 (3D)":
|
||||
a OGC URN combining references for concatenated operations
|
||||
(e.g. "\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP")
|
||||
.IP \(bu 2
|
||||
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.2/projjson.schema.json\fP (\fIadded in 6.2\fP)
|
||||
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.3/projjson.schema.json\fP (\fIadded in 6.2\fP)
|
||||
.IP \(bu 2
|
||||
a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (\fIadded in 7.1\fP)
|
||||
.UNINDENT
|
||||
|
||||
+3
-3
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "GEOD" "1" "Jul 1, 2021" "8.1.0" "PROJ"
|
||||
.SH NAME
|
||||
geod \- Geodesic computations
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "GEOD" "1" "Sep 1, 2021" "8.1.1" "PROJ"
|
||||
.SH NAME
|
||||
geod \- Geodesic computations
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
+3
-3
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "GIE" "1" "Jul 1, 2021" "8.1.0" "PROJ"
|
||||
.SH NAME
|
||||
gie \- The Geospatial Integrity Investigation Environment
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "GIE" "1" "Sep 1, 2021" "8.1.1" "PROJ"
|
||||
.SH NAME
|
||||
gie \- The Geospatial Integrity Investigation Environment
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
+3
-3
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PROJ" "1" "Jul 1, 2021" "8.1.0" "PROJ"
|
||||
.SH NAME
|
||||
proj \- Cartographic projection filter
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "PROJ" "1" "Sep 1, 2021" "8.1.1" "PROJ"
|
||||
.SH NAME
|
||||
proj \- Cartographic projection filter
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
+4
-4
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PROJINFO" "1" "Jul 1, 2021" "8.1.0" "PROJ"
|
||||
.SH NAME
|
||||
projinfo \- Geodetic object and coordinate operation queries
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "PROJINFO" "1" "Sep 1, 2021" "8.1.1" "PROJ"
|
||||
.SH NAME
|
||||
projinfo \- Geodetic object and coordinate operation queries
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
@@ -86,7 +86,7 @@ e.g. for Projected 3D CRS "UTM zone 31N / WGS 84 (3D)":
|
||||
a OGC URN combining references for concatenated operations
|
||||
(e.g. "\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP")
|
||||
.IP \(bu 2
|
||||
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.2/projjson.schema.json\fP (\fIadded in 6.2\fP)
|
||||
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.3/projjson.schema.json\fP (\fIadded in 6.2\fP)
|
||||
.IP \(bu 2
|
||||
a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (\fIadded in 7.1\fP)
|
||||
.UNINDENT
|
||||
|
||||
+3
-3
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PROJSYNC" "1" "Jul 1, 2021" "8.1.0" "PROJ"
|
||||
.SH NAME
|
||||
projsync \- Downloading tool of resource files
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "PROJSYNC" "1" "Sep 1, 2021" "8.1.1" "PROJ"
|
||||
.SH NAME
|
||||
projsync \- Downloading tool of resource files
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
@@ -0,0 +1,997 @@
|
||||
{
|
||||
"$id": "https://proj.org/schemas/v0.3/projjson.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for PROJJSON (v0.3)",
|
||||
"$comment": "This file exists both in data/ and in schemas/vXXX/. Keep both in sync. And if changing the value of $id, change PROJJSON_CURRENT_VERSION accordingly in io.cpp",
|
||||
|
||||
"oneOf": [
|
||||
{ "$ref": "#/definitions/crs" },
|
||||
{ "$ref": "#/definitions/datum" },
|
||||
{ "$ref": "#/definitions/datum_ensemble" },
|
||||
{ "$ref": "#/definitions/ellipsoid" },
|
||||
{ "$ref": "#/definitions/prime_meridian" },
|
||||
{ "$ref": "#/definitions/single_operation" },
|
||||
{ "$ref": "#/definitions/concatenated_operation" }
|
||||
],
|
||||
|
||||
"definitions": {
|
||||
|
||||
"abridged_transformation": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["AbridgedTransformation"] },
|
||||
"name": { "type": "string" },
|
||||
"method": { "$ref": "#/definitions/method" },
|
||||
"parameters": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/parameter_value" }
|
||||
},
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name", "method", "parameters" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"axis": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["Axis"] },
|
||||
"name": { "type": "string" },
|
||||
"abbreviation": { "type": "string" },
|
||||
"direction": { "type": "string",
|
||||
"enum": [ "north",
|
||||
"northNorthEast",
|
||||
"northEast",
|
||||
"eastNorthEast",
|
||||
"east",
|
||||
"eastSouthEast",
|
||||
"southEast",
|
||||
"southSouthEast",
|
||||
"south",
|
||||
"southSouthWest",
|
||||
"southWest",
|
||||
"westSouthWest",
|
||||
"west",
|
||||
"westNorthWest",
|
||||
"northWest",
|
||||
"northNorthWest",
|
||||
"up",
|
||||
"down",
|
||||
"geocentricX",
|
||||
"geocentricY",
|
||||
"geocentricZ",
|
||||
"columnPositive",
|
||||
"columnNegative",
|
||||
"rowPositive",
|
||||
"rowNegative",
|
||||
"displayRight",
|
||||
"displayLeft",
|
||||
"displayUp",
|
||||
"displayDown",
|
||||
"forward",
|
||||
"aft",
|
||||
"port",
|
||||
"starboard",
|
||||
"clockwise",
|
||||
"counterClockwise",
|
||||
"towards",
|
||||
"awayFrom",
|
||||
"future",
|
||||
"past",
|
||||
"unspecified" ] },
|
||||
"unit": { "$ref": "#/definitions/unit" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name", "abbreviation", "direction" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"bbox": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"east_longitude": { "type": "number" },
|
||||
"west_longitude": { "type": "number" },
|
||||
"south_latitude": { "type": "number" },
|
||||
"north_latitude": { "type": "number" }
|
||||
},
|
||||
"required" : [ "east_longitude", "west_longitude",
|
||||
"south_latitude", "north_latitude" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"bound_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["BoundCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"source_crs": { "$ref": "#/definitions/crs" },
|
||||
"target_crs": { "$ref": "#/definitions/crs" },
|
||||
"transformation": { "$ref": "#/definitions/abridged_transformation" },
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "source_crs", "target_crs", "transformation" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"compound_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["CompoundCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"components": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/crs" }
|
||||
},
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "components" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"concatenated_operation": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["ConcatenatedOperation"] },
|
||||
"name": { "type": "string" },
|
||||
"source_crs": { "$ref": "#/definitions/crs" },
|
||||
"target_crs": { "$ref": "#/definitions/crs" },
|
||||
"steps": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/single_operation" }
|
||||
},
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "source_crs", "target_crs", "steps" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"conversion": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["Conversion"] },
|
||||
"name": { "type": "string" },
|
||||
"method": { "$ref": "#/definitions/method" },
|
||||
"parameters": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/parameter_value" }
|
||||
},
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name", "method" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"coordinate_system": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["CoordinateSystem"] },
|
||||
"name": { "type": "string" },
|
||||
"subtype": { "type": "string",
|
||||
"enum": ["Cartesian",
|
||||
"spherical",
|
||||
"ellipsoidal",
|
||||
"vertical",
|
||||
"ordinal",
|
||||
"parametric",
|
||||
"TemporalDateTime",
|
||||
"TemporalCount",
|
||||
"TemporalMeasure"] },
|
||||
"axis": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/axis" }
|
||||
},
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "subtype", "axis" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"crs": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/definitions/bound_crs" },
|
||||
{ "$ref": "#/definitions/compound_crs" },
|
||||
{ "$ref": "#/definitions/derived_engineering_crs" },
|
||||
{ "$ref": "#/definitions/derived_geodetic_crs" },
|
||||
{ "$ref": "#/definitions/derived_parametric_crs" },
|
||||
{ "$ref": "#/definitions/derived_projected_crs" },
|
||||
{ "$ref": "#/definitions/derived_temporal_crs" },
|
||||
{ "$ref": "#/definitions/derived_vertical_crs" },
|
||||
{ "$ref": "#/definitions/engineering_crs" },
|
||||
{ "$ref": "#/definitions/geodetic_crs" },
|
||||
{ "$ref": "#/definitions/parametric_crs" },
|
||||
{ "$ref": "#/definitions/projected_crs" },
|
||||
{ "$ref": "#/definitions/temporal_crs" },
|
||||
{ "$ref": "#/definitions/vertical_crs" }
|
||||
]
|
||||
},
|
||||
|
||||
"datum": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/definitions/geodetic_reference_frame" },
|
||||
{ "$ref": "#/definitions/vertical_reference_frame" },
|
||||
{ "$ref": "#/definitions/dynamic_geodetic_reference_frame" },
|
||||
{ "$ref": "#/definitions/dynamic_vertical_reference_frame" },
|
||||
{ "$ref": "#/definitions/temporal_datum" },
|
||||
{ "$ref": "#/definitions/parametric_datum" },
|
||||
{ "$ref": "#/definitions/engineering_datum" }
|
||||
]
|
||||
},
|
||||
|
||||
"datum_ensemble": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["DatumEnsemble"] },
|
||||
"name": { "type": "string" },
|
||||
"members": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": { "type": "string" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"ellipsoid": { "$ref": "#/definitions/ellipsoid" },
|
||||
"accuracy": { "type": "string" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name", "members", "accuracy" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"derived_engineering_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string",
|
||||
"enum": ["DerivedEngineeringCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"base_crs": { "$ref": "#/definitions/engineering_crs" },
|
||||
"conversion": { "$ref": "#/definitions/conversion" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"derived_geodetic_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string",
|
||||
"enum": ["DerivedGeodeticCRS",
|
||||
"DerivedGeographicCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"base_crs": { "$ref": "#/definitions/geodetic_crs" },
|
||||
"conversion": { "$ref": "#/definitions/conversion" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"derived_parametric_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string",
|
||||
"enum": ["DerivedParametricCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"base_crs": { "$ref": "#/definitions/parametric_crs" },
|
||||
"conversion": { "$ref": "#/definitions/conversion" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"derived_projected_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string",
|
||||
"enum": ["DerivedProjectedCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"base_crs": { "$ref": "#/definitions/projected_crs" },
|
||||
"conversion": { "$ref": "#/definitions/conversion" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"derived_temporal_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string",
|
||||
"enum": ["DerivedTemporalCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"base_crs": { "$ref": "#/definitions/temporal_crs" },
|
||||
"conversion": { "$ref": "#/definitions/conversion" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"derived_vertical_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string",
|
||||
"enum": ["DerivedVerticalCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"base_crs": { "$ref": "#/definitions/vertical_crs" },
|
||||
"conversion": { "$ref": "#/definitions/conversion" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"dynamic_geodetic_reference_frame": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/geodetic_reference_frame" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["DynamicGeodeticReferenceFrame"] },
|
||||
"name": {},
|
||||
"anchor": {},
|
||||
"ellipsoid": {},
|
||||
"prime_meridian": {},
|
||||
"frame_reference_epoch": { "type": "number" },
|
||||
"deformation_model": { "type": "string" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "ellipsoid", "frame_reference_epoch" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"dynamic_vertical_reference_frame": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/vertical_reference_frame" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["DynamicVerticalReferenceFrame"] },
|
||||
"name": {},
|
||||
"anchor": {},
|
||||
"frame_reference_epoch": { "type": "number" },
|
||||
"deformation_model": { "type": "string" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "frame_reference_epoch" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"ellipsoid": {
|
||||
"type": "object",
|
||||
"oneOf":[
|
||||
{
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["Ellipsoid"] },
|
||||
"name": { "type": "string" },
|
||||
"semi_major_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" },
|
||||
"semi_minor_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name", "semi_major_axis", "semi_minor_axis" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["Ellipsoid"] },
|
||||
"name": { "type": "string" },
|
||||
"semi_major_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" },
|
||||
"inverse_flattening": { "type": "number" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name", "semi_major_axis", "inverse_flattening" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["Ellipsoid"] },
|
||||
"name": { "type": "string" },
|
||||
"radius": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name", "radius" ],
|
||||
"additionalProperties": false
|
||||
}
|
||||
],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
]
|
||||
},
|
||||
|
||||
"engineering_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["EngineeringCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"datum": { "$ref": "#/definitions/engineering_datum" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "datum" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"engineering_datum": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["EngineeringDatum"] },
|
||||
"name": { "type": "string" },
|
||||
"anchor": { "type": "string" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"geodetic_crs": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["GeodeticCRS", "GeographicCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"datum": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/definitions/geodetic_reference_frame" },
|
||||
{ "$ref": "#/definitions/dynamic_geodetic_reference_frame" }
|
||||
]
|
||||
},
|
||||
"datum_ensemble": { "$ref": "#/definitions/datum_ensemble" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name" ],
|
||||
"description": "One and only one of datum and datum_ensemble must be provided",
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/object_usage" },
|
||||
{ "$ref": "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"geodetic_reference_frame": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["GeodeticReferenceFrame"] },
|
||||
"name": { "type": "string" },
|
||||
"anchor": { "type": "string" },
|
||||
"ellipsoid": { "$ref": "#/definitions/ellipsoid" },
|
||||
"prime_meridian": { "$ref": "#/definitions/prime_meridian" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "ellipsoid" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"id": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"authority": { "type": "string" },
|
||||
"code": {
|
||||
"oneOf": [ { "type": "string" }, { "type": "integer" } ]
|
||||
}
|
||||
},
|
||||
"required" : [ "authority", "code" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"ids": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/id" }
|
||||
},
|
||||
|
||||
"method": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["OperationMethod"]},
|
||||
"name": { "type": "string" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"id_ids_mutually_exclusive": {
|
||||
"not": {
|
||||
"type": "object",
|
||||
"required": [ "id", "ids" ]
|
||||
}
|
||||
},
|
||||
|
||||
"one_and_only_one_of_datum_or_datum_ensemble": {
|
||||
"allOf": [
|
||||
{
|
||||
"not": {
|
||||
"type": "object",
|
||||
"required": [ "datum", "datum_ensemble" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"oneOf": [
|
||||
{ "type": "object", "required": ["datum"] },
|
||||
{ "type": "object", "required": ["datum_ensemble"] }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"object_usage": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"scope": { "type": "string" },
|
||||
"area": { "type": "string" },
|
||||
"bbox": { "$ref": "#/definitions/bbox" },
|
||||
"remarks": { "type": "string" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"usages": { "$ref": "#/definitions/usages" },
|
||||
"remarks": { "type": "string" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"parameter_value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["ParameterValue"] },
|
||||
"name": { "type": "string" },
|
||||
"value": {
|
||||
"oneOf": [
|
||||
{ "type": "string" },
|
||||
{ "type": "number" }
|
||||
]
|
||||
},
|
||||
"unit": { "$ref": "#/definitions/unit" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name", "value" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"parametric_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["ParametricCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"datum": { "$ref": "#/definitions/parametric_datum" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "datum" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"parametric_datum": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["ParametricDatum"] },
|
||||
"name": { "type": "string" },
|
||||
"anchor": { "type": "string" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"prime_meridian": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema" : { "type": "string" },
|
||||
"type": { "type": "string", "enum": ["PrimeMeridian"] },
|
||||
"name": { "type": "string" },
|
||||
"longitude": { "$ref": "#/definitions/value_in_degree_or_value_and_unit" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "name" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"single_operation": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/definitions/conversion" },
|
||||
{ "$ref": "#/definitions/transformation" }
|
||||
]
|
||||
},
|
||||
|
||||
"projected_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string",
|
||||
"enum": ["ProjectedCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"base_crs": { "$ref": "#/definitions/geodetic_crs" },
|
||||
"conversion": { "$ref": "#/definitions/conversion" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"temporal_crs": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["TemporalCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"datum": { "$ref": "#/definitions/temporal_datum" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "datum" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"temporal_datum": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["TemporalDatum"] },
|
||||
"name": { "type": "string" },
|
||||
"calendar": { "type": "string" },
|
||||
"time_origin": { "type": "string" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "calendar" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"transformation": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["Transformation"] },
|
||||
"name": { "type": "string" },
|
||||
"source_crs": { "$ref": "#/definitions/crs" },
|
||||
"target_crs": { "$ref": "#/definitions/crs" },
|
||||
"interpolation_crs": { "$ref": "#/definitions/crs" },
|
||||
"method": { "$ref": "#/definitions/method" },
|
||||
"parameters": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/parameter_value" }
|
||||
},
|
||||
"accuracy": { "type": "string" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name", "source_crs", "target_crs", "method", "parameters" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"unit": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": ["metre", "degree", "unity"]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": { "type": "string",
|
||||
"enum": ["LinearUnit", "AngularUnit", "ScaleUnit",
|
||||
"TimeUnit", "ParametricUnit", "Unit"] },
|
||||
"name": { "type": "string" },
|
||||
"conversion_factor": { "type": "number" },
|
||||
"id": { "$ref": "#/definitions/id" },
|
||||
"ids": { "$ref": "#/definitions/ids" }
|
||||
},
|
||||
"required" : [ "type", "name" ],
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/id_ids_mutually_exclusive" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"usages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"scope": { "type": "string" },
|
||||
"area": { "type": "string" },
|
||||
"bbox": { "$ref": "#/definitions/bbox" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
|
||||
"value_and_unit": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": { "type": "number" },
|
||||
"unit": { "$ref": "#/definitions/unit" }
|
||||
},
|
||||
"required" : [ "value", "unit" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"value_in_degree_or_value_and_unit": {
|
||||
"oneOf": [
|
||||
{ "type": "number" },
|
||||
{ "$ref": "#/definitions/value_and_unit" }
|
||||
]
|
||||
},
|
||||
|
||||
"value_in_metre_or_value_and_unit": {
|
||||
"oneOf": [
|
||||
{ "type": "number" },
|
||||
{ "$ref": "#/definitions/value_and_unit" }
|
||||
]
|
||||
},
|
||||
|
||||
"vertical_crs": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["VerticalCRS"] },
|
||||
"name": { "type": "string" },
|
||||
"datum": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/definitions/vertical_reference_frame" },
|
||||
{ "$ref": "#/definitions/dynamic_vertical_reference_frame" }
|
||||
]
|
||||
},
|
||||
"datum_ensemble": { "$ref": "#/definitions/datum_ensemble" },
|
||||
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
|
||||
"geoid_model": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": { "type": "string" },
|
||||
"interpolation_crs": { "$ref": "#/definitions/crs" },
|
||||
"id": { "$ref": "#/definitions/id" }
|
||||
},
|
||||
"required" : [ "name" ],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name"],
|
||||
"description": "One and only one of datum and datum_ensemble must be provided",
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/object_usage" },
|
||||
{ "$ref": "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
"vertical_reference_frame": {
|
||||
"type": "object",
|
||||
"allOf": [{ "$ref": "#/definitions/object_usage" }],
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["VerticalReferenceFrame"] },
|
||||
"name": { "type": "string" },
|
||||
"anchor": { "type": "string" },
|
||||
"$schema" : {},
|
||||
"scope": {},
|
||||
"area": {},
|
||||
"bbox": {},
|
||||
"usages": {},
|
||||
"remarks": {},
|
||||
"id": {}, "ids": {}
|
||||
},
|
||||
"required" : [ "name" ],
|
||||
"additionalProperties": false
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -167,8 +167,11 @@ for sectiondef in compounddef.iter('sectiondef'):
|
||||
test_cppfile.write("{\n")
|
||||
test_cppfile.write(" auto projCRS = proj_create_conversion_" + c_shortName + "(\n")
|
||||
test_cppfile.write(" m_ctxt")
|
||||
for param in params:
|
||||
test_cppfile.write(", 0")
|
||||
if c_shortName == 'utm':
|
||||
test_cppfile.write(", 1")
|
||||
else:
|
||||
for param in params:
|
||||
test_cppfile.write(", 0")
|
||||
if has_angle:
|
||||
test_cppfile.write(", \"Degree\", 0.0174532925199433")
|
||||
if has_linear:
|
||||
@@ -184,4 +187,4 @@ cppfile.write("/* END: Generated by scripts/create_c_api_projections.py*/\n")
|
||||
|
||||
test_cppfile.write("/* END: Generated by scripts/create_c_api_projections.py*/\n")
|
||||
|
||||
print('projections.h and .cpp, and test_projections.cpp have been generated. Manually merge them now')
|
||||
print('projections.h and .cpp, and test_projections.cpp have been generated. Manually merge them now')
|
||||
|
||||
@@ -98,6 +98,7 @@ osgeo::proj::crs::BoundCRS::~BoundCRS()
|
||||
osgeo::proj::crs::BoundCRS::create(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Transformation> > const&)
|
||||
osgeo::proj::crs::BoundCRS::createFromNadgrids(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::string const&)
|
||||
osgeo::proj::crs::BoundCRS::createFromTOWGS84(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, std::vector<double, std::allocator<double> > const&)
|
||||
osgeo::proj::crs::BoundCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Transformation> > const&)
|
||||
osgeo::proj::crs::BoundCRS::hubCRS() const
|
||||
osgeo::proj::crs::BoundCRS::transformation() const
|
||||
osgeo::proj::crs::CompoundCRS::componentReferenceSystems() const
|
||||
@@ -131,6 +132,7 @@ osgeo::proj::crs::DerivedGeodeticCRS::~DerivedGeodeticCRS()
|
||||
osgeo::proj::crs::DerivedGeodeticCRS::_exportToWKT(osgeo::proj::io::WKTFormatter*) const
|
||||
osgeo::proj::crs::DerivedGeographicCRS::baseCRS() const
|
||||
osgeo::proj::crs::DerivedGeographicCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&)
|
||||
osgeo::proj::crs::DerivedGeographicCRS::demoteTo2D(std::string const&, std::shared_ptr<osgeo::proj::io::DatabaseContext> const&) const
|
||||
osgeo::proj::crs::DerivedGeographicCRS::~DerivedGeographicCRS()
|
||||
osgeo::proj::crs::DerivedProjectedCRS::baseCRS() const
|
||||
osgeo::proj::crs::DerivedProjectedCRS::create(osgeo::proj::util::PropertyMap const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::crs::ProjectedCRS> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&)
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ geodtest_LDADD = libproj.la
|
||||
|
||||
lib_LTLIBRARIES = libproj.la
|
||||
|
||||
libproj_la_LDFLAGS = -no-undefined -version-info 23:0:1
|
||||
libproj_la_LDFLAGS = -no-undefined -version-info 23:1:1
|
||||
libproj_la_LIBADD = @SQLITE3_LIBS@ @TIFF_LIBS@ @CURL_LIBS@
|
||||
|
||||
libproj_la_SOURCES = \
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ target_link_libraries(cct PRIVATE ${PROJ_LIBRARIES})
|
||||
target_compile_options(cct PRIVATE ${PROJ_CXX_WARN_FLAGS})
|
||||
|
||||
install(TARGETS cct
|
||||
RUNTIME DESTINATION ${BINDIR})
|
||||
DESTINATION ${BINDIR})
|
||||
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(cct PRIVATE PROJ_MSVC_DLL_IMPORT=1)
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ target_link_libraries(cs2cs PRIVATE ${PROJ_LIBRARIES})
|
||||
target_compile_options(cs2cs PRIVATE ${PROJ_CXX_WARN_FLAGS})
|
||||
|
||||
install(TARGETS cs2cs
|
||||
RUNTIME DESTINATION ${BINDIR})
|
||||
DESTINATION ${BINDIR})
|
||||
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(cs2cs PRIVATE PROJ_MSVC_DLL_IMPORT=1)
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ target_link_libraries(geod PRIVATE ${PROJ_LIBRARIES})
|
||||
target_compile_options(geod PRIVATE ${PROJ_CXX_WARN_FLAGS})
|
||||
|
||||
install(TARGETS geod
|
||||
RUNTIME DESTINATION ${BINDIR})
|
||||
DESTINATION ${BINDIR})
|
||||
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(geod PRIVATE PROJ_MSVC_DLL_IMPORT=1)
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ target_link_libraries(gie PRIVATE ${PROJ_LIBRARIES})
|
||||
target_compile_options(gie PRIVATE ${PROJ_CXX_WARN_FLAGS})
|
||||
|
||||
install(TARGETS gie
|
||||
RUNTIME DESTINATION ${BINDIR})
|
||||
DESTINATION ${BINDIR})
|
||||
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(gie PRIVATE PROJ_MSVC_DLL_IMPORT=1)
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ target_link_libraries(binproj PRIVATE ${PROJ_LIBRARIES})
|
||||
target_compile_options(binproj PRIVATE ${PROJ_CXX_WARN_FLAGS})
|
||||
|
||||
install(TARGETS binproj
|
||||
RUNTIME DESTINATION ${BINDIR})
|
||||
DESTINATION ${BINDIR})
|
||||
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(binproj PRIVATE PROJ_MSVC_DLL_IMPORT=1)
|
||||
|
||||
@@ -10,7 +10,7 @@ target_link_libraries(binprojinfo PRIVATE ${PROJ_LIBRARIES})
|
||||
target_compile_options(binprojinfo PRIVATE ${PROJ_CXX_WARN_FLAGS})
|
||||
|
||||
install(TARGETS binprojinfo
|
||||
RUNTIME DESTINATION ${BINDIR})
|
||||
DESTINATION ${BINDIR})
|
||||
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(binprojinfo PRIVATE PROJ_MSVC_DLL_IMPORT=1)
|
||||
|
||||
@@ -8,13 +8,9 @@ set_target_properties(bin_projsync
|
||||
OUTPUT_NAME projsync)
|
||||
target_link_libraries(bin_projsync PRIVATE ${PROJ_LIBRARIES})
|
||||
target_compile_options(bin_projsync PRIVATE ${PROJ_CXX_WARN_FLAGS})
|
||||
if(NLOHMANN_JSON STREQUAL "external")
|
||||
target_compile_definitions(bin_projsync PRIVATE EXTERNAL_NLOHMANN_JSON)
|
||||
target_link_libraries(bin_projsync PRIVATE nlohmann_json::nlohmann_json)
|
||||
endif()
|
||||
|
||||
install(TARGETS bin_projsync
|
||||
RUNTIME DESTINATION ${BINDIR})
|
||||
DESTINATION ${BINDIR})
|
||||
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(bin_projsync PRIVATE PROJ_MSVC_DLL_IMPORT=1)
|
||||
|
||||
+31
-25
@@ -38,9 +38,12 @@
|
||||
#define OUTPUT_UNITS P->right
|
||||
|
||||
|
||||
static PJ_COORD fwd_prepare (PJ *P, PJ_COORD coo) {
|
||||
static void fwd_prepare (PJ *P, PJ_COORD& coo) {
|
||||
if (HUGE_VAL==coo.v[0] || HUGE_VAL==coo.v[1] || HUGE_VAL==coo.v[2])
|
||||
return proj_coord_error ();
|
||||
{
|
||||
coo = proj_coord_error ();
|
||||
return;
|
||||
}
|
||||
|
||||
/* The helmert datum shift will choke unless it gets a sensible 4D coordinate */
|
||||
if (HUGE_VAL==coo.v[2] && P->helmert) coo.v[2] = 0.0;
|
||||
@@ -56,13 +59,15 @@ static PJ_COORD fwd_prepare (PJ *P, PJ_COORD coo) {
|
||||
{
|
||||
proj_log_error(P, _("Invalid latitude"));
|
||||
proj_errno_set (P, PROJ_ERR_COORD_TRANSFM_INVALID_COORD);
|
||||
return proj_coord_error ();
|
||||
coo = proj_coord_error ();
|
||||
return;
|
||||
}
|
||||
if (coo.lp.lam > 10 || coo.lp.lam < -10)
|
||||
{
|
||||
proj_log_error(P, _("Invalid longitude"));
|
||||
proj_errno_set (P, PROJ_ERR_COORD_TRANSFM_INVALID_COORD);
|
||||
return proj_coord_error ();
|
||||
coo = proj_coord_error ();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +94,7 @@ static PJ_COORD fwd_prepare (PJ *P, PJ_COORD coo) {
|
||||
coo = proj_trans (P->cart, PJ_INV, coo); /* Go back to angular using local ellps */
|
||||
}
|
||||
if (coo.lp.lam==HUGE_VAL)
|
||||
return coo;
|
||||
return;
|
||||
if (P->vgridshift)
|
||||
coo = proj_trans (P->vgridshift, PJ_FWD, coo); /* Go orthometric from geometric */
|
||||
|
||||
@@ -100,18 +105,18 @@ static PJ_COORD fwd_prepare (PJ *P, PJ_COORD coo) {
|
||||
if (0==P->over)
|
||||
coo.lp.lam = adjlon(coo.lp.lam);
|
||||
|
||||
return coo;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* We do not support gridshifts on cartesian input */
|
||||
if (INPUT_UNITS==PJ_IO_UNITS_CARTESIAN && P->helmert)
|
||||
return proj_trans (P->helmert, PJ_INV, coo);
|
||||
return coo;
|
||||
coo = proj_trans (P->helmert, PJ_INV, coo);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
static PJ_COORD fwd_finalize (PJ *P, PJ_COORD coo) {
|
||||
static void fwd_finalize (PJ *P, PJ_COORD& coo) {
|
||||
|
||||
switch (OUTPUT_UNITS) {
|
||||
|
||||
@@ -161,29 +166,28 @@ static PJ_COORD fwd_finalize (PJ *P, PJ_COORD coo) {
|
||||
|
||||
if (P->axisswap)
|
||||
coo = proj_trans (P->axisswap, PJ_FWD, coo);
|
||||
|
||||
return coo;
|
||||
}
|
||||
|
||||
|
||||
static PJ_COORD error_or_coord(PJ *P, PJ_COORD coord, int last_errno) {
|
||||
if (proj_errno(P))
|
||||
static inline PJ_COORD error_or_coord(PJ *P, PJ_COORD coord, int last_errno) {
|
||||
if (P->ctx->last_errno)
|
||||
return proj_coord_error();
|
||||
|
||||
proj_errno_restore(P, last_errno);
|
||||
P->ctx->last_errno = last_errno;
|
||||
|
||||
return coord;
|
||||
}
|
||||
|
||||
|
||||
PJ_XY pj_fwd(PJ_LP lp, PJ *P) {
|
||||
int last_errno;
|
||||
PJ_COORD coo = {{0,0,0,0}};
|
||||
coo.lp = lp;
|
||||
|
||||
last_errno = proj_errno_reset(P);
|
||||
const int last_errno = P->ctx->last_errno;
|
||||
P->ctx->last_errno = 0;
|
||||
|
||||
if (!P->skip_fwd_prepare)
|
||||
coo = fwd_prepare (P, coo);
|
||||
fwd_prepare (P, coo);
|
||||
if (HUGE_VAL==coo.v[0] || HUGE_VAL==coo.v[1])
|
||||
return proj_coord_error ().xy;
|
||||
|
||||
@@ -202,7 +206,7 @@ PJ_XY pj_fwd(PJ_LP lp, PJ *P) {
|
||||
return proj_coord_error ().xy;
|
||||
|
||||
if (!P->skip_fwd_finalize)
|
||||
coo = fwd_finalize (P, coo);
|
||||
fwd_finalize (P, coo);
|
||||
|
||||
return error_or_coord(P, coo, last_errno).xy;
|
||||
}
|
||||
@@ -210,14 +214,14 @@ PJ_XY pj_fwd(PJ_LP lp, PJ *P) {
|
||||
|
||||
|
||||
PJ_XYZ pj_fwd3d(PJ_LPZ lpz, PJ *P) {
|
||||
int last_errno;
|
||||
PJ_COORD coo = {{0,0,0,0}};
|
||||
coo.lpz = lpz;
|
||||
|
||||
last_errno = proj_errno_reset(P);
|
||||
const int last_errno = P->ctx->last_errno;
|
||||
P->ctx->last_errno = 0;
|
||||
|
||||
if (!P->skip_fwd_prepare)
|
||||
coo = fwd_prepare (P, coo);
|
||||
fwd_prepare (P, coo);
|
||||
if (HUGE_VAL==coo.v[0])
|
||||
return proj_coord_error ().xyz;
|
||||
|
||||
@@ -236,7 +240,7 @@ PJ_XYZ pj_fwd3d(PJ_LPZ lpz, PJ *P) {
|
||||
return proj_coord_error ().xyz;
|
||||
|
||||
if (!P->skip_fwd_finalize)
|
||||
coo = fwd_finalize (P, coo);
|
||||
fwd_finalize (P, coo);
|
||||
|
||||
return error_or_coord(P, coo, last_errno).xyz;
|
||||
}
|
||||
@@ -244,10 +248,12 @@ PJ_XYZ pj_fwd3d(PJ_LPZ lpz, PJ *P) {
|
||||
|
||||
|
||||
PJ_COORD pj_fwd4d (PJ_COORD coo, PJ *P) {
|
||||
int last_errno = proj_errno_reset(P);
|
||||
|
||||
const int last_errno = P->ctx->last_errno;
|
||||
P->ctx->last_errno = 0;
|
||||
|
||||
if (!P->skip_fwd_prepare)
|
||||
coo = fwd_prepare (P, coo);
|
||||
fwd_prepare (P, coo);
|
||||
if (HUGE_VAL==coo.v[0])
|
||||
return proj_coord_error ();
|
||||
|
||||
@@ -266,7 +272,7 @@ PJ_COORD pj_fwd4d (PJ_COORD coo, PJ *P) {
|
||||
return proj_coord_error ();
|
||||
|
||||
if (!P->skip_fwd_finalize)
|
||||
coo = fwd_finalize (P, coo);
|
||||
fwd_finalize (P, coo);
|
||||
|
||||
return error_or_coord(P, coo, last_errno);
|
||||
}
|
||||
|
||||
+155
-124
@@ -76,6 +76,13 @@ static void swap_words(void *dataIn, size_t word_size, size_t word_count)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void ExtentAndRes::computeInvRes() {
|
||||
invResX = 1.0 / resX;
|
||||
invResY = 1.0 / resY;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool ExtentAndRes::fullWorldLongitude() const {
|
||||
return isGeographic && east - west + resX >= 2 * M_PI - 1e-10;
|
||||
}
|
||||
@@ -126,6 +133,7 @@ static ExtentAndRes globalExtent() {
|
||||
extent.north = M_PI / 2;
|
||||
extent.resX = M_PI;
|
||||
extent.resY = M_PI / 2;
|
||||
extent.computeInvRes();
|
||||
return extent;
|
||||
}
|
||||
|
||||
@@ -249,6 +257,7 @@ GTXVerticalShiftGrid *GTXVerticalShiftGrid::open(PJ_CONTEXT *ctx,
|
||||
extent.resY = ystep * DEG_TO_RAD;
|
||||
extent.east = (xorigin + xstep * (columns - 1)) * DEG_TO_RAD;
|
||||
extent.north = (yorigin + ystep * (rows - 1)) * DEG_TO_RAD;
|
||||
extent.computeInvRes();
|
||||
|
||||
return new GTXVerticalShiftGrid(ctx, std::move(fp), name, columns, rows,
|
||||
extent);
|
||||
@@ -328,54 +337,30 @@ class BlockCache {
|
||||
public:
|
||||
void insert(uint32_t ifdIdx, uint32_t blockNumber,
|
||||
const std::vector<unsigned char> &data);
|
||||
std::shared_ptr<std::vector<unsigned char>> get(uint32_t ifdIdx,
|
||||
uint32_t blockNumber);
|
||||
const std::vector<unsigned char> *get(uint32_t ifdIdx,
|
||||
uint32_t blockNumber);
|
||||
|
||||
private:
|
||||
struct Key {
|
||||
uint32_t ifdIdx;
|
||||
uint32_t blockNumber;
|
||||
|
||||
Key(uint32_t ifdIdxIn, uint32_t blockNumberIn)
|
||||
: ifdIdx(ifdIdxIn), blockNumber(blockNumberIn) {}
|
||||
bool operator==(const Key &other) const {
|
||||
return ifdIdx == other.ifdIdx && blockNumber == other.blockNumber;
|
||||
}
|
||||
};
|
||||
|
||||
struct KeyHasher {
|
||||
std::size_t operator()(const Key &k) const {
|
||||
return k.ifdIdx ^ (k.blockNumber << 16) ^ (k.blockNumber >> 16);
|
||||
}
|
||||
};
|
||||
typedef uint64_t Key;
|
||||
|
||||
static constexpr int NUM_BLOCKS_AT_CROSSING_TILES = 4;
|
||||
static constexpr int MAX_SAMPLE_COUNT = 3;
|
||||
lru11::Cache<
|
||||
Key, std::shared_ptr<std::vector<unsigned char>>, lru11::NullLock,
|
||||
std::unordered_map<
|
||||
Key,
|
||||
typename std::list<lru11::KeyValuePair<
|
||||
Key, std::shared_ptr<std::vector<unsigned char>>>>::iterator,
|
||||
KeyHasher>>
|
||||
cache_{NUM_BLOCKS_AT_CROSSING_TILES * MAX_SAMPLE_COUNT};
|
||||
lru11::Cache<Key, std::vector<unsigned char>, lru11::NullLock> cache_{
|
||||
NUM_BLOCKS_AT_CROSSING_TILES * MAX_SAMPLE_COUNT};
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void BlockCache::insert(uint32_t ifdIdx, uint32_t blockNumber,
|
||||
const std::vector<unsigned char> &data) {
|
||||
cache_.insert(Key(ifdIdx, blockNumber),
|
||||
std::make_shared<std::vector<unsigned char>>(data));
|
||||
cache_.insert((static_cast<uint64_t>(ifdIdx) << 32) | blockNumber, data);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
std::shared_ptr<std::vector<unsigned char>>
|
||||
BlockCache::get(uint32_t ifdIdx, uint32_t blockNumber) {
|
||||
std::shared_ptr<std::vector<unsigned char>> ret;
|
||||
cache_.tryGet(Key(ifdIdx, blockNumber), ret);
|
||||
return ret;
|
||||
const std::vector<unsigned char> *BlockCache::get(uint32_t ifdIdx,
|
||||
uint32_t blockNumber) {
|
||||
return cache_.getPtr((static_cast<uint64_t>(ifdIdx) << 32) | blockNumber);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -388,7 +373,7 @@ class GTiffGrid : public Grid {
|
||||
uint32_t m_ifdIdx;
|
||||
TIFFDataType m_dt;
|
||||
uint16_t m_samplesPerPixel;
|
||||
uint16_t m_planarConfig;
|
||||
uint16_t m_planarConfig; // set to -1 if m_samplesPerPixel == 1
|
||||
bool m_bottomUp;
|
||||
toff_t m_dirOffset;
|
||||
bool m_tiled;
|
||||
@@ -397,18 +382,19 @@ class GTiffGrid : public Grid {
|
||||
mutable std::vector<unsigned char> m_buffer{};
|
||||
unsigned m_blocksPerRow = 0;
|
||||
unsigned m_blocksPerCol = 0;
|
||||
std::map<int, double> m_mapOffset{};
|
||||
std::map<int, double> m_mapScale{};
|
||||
unsigned m_blocks = 0;
|
||||
std::vector<double> m_adfOffset{};
|
||||
std::vector<double> m_adfScale{};
|
||||
std::map<std::pair<int, std::string>, std::string> m_metadata{};
|
||||
bool m_hasNodata = false;
|
||||
bool m_blockIs256Pixel = false;
|
||||
bool m_isSingleBlock = false;
|
||||
float m_noData = 0.0f;
|
||||
uint32_t m_subfileType = 0;
|
||||
|
||||
GTiffGrid(const GTiffGrid &) = delete;
|
||||
GTiffGrid &operator=(const GTiffGrid &) = delete;
|
||||
|
||||
void getScaleOffset(double &scale, double &offset, uint16_t sample) const;
|
||||
|
||||
template <class T>
|
||||
float readValue(const std::vector<unsigned char> &buffer,
|
||||
uint32_t offsetInBlock, uint16_t sample) const;
|
||||
@@ -446,7 +432,9 @@ GTiffGrid::GTiffGrid(PJ_CONTEXT *ctx, TIFF *hTIFF, BlockCache &cache, File *fp,
|
||||
uint16_t planarConfig, bool bottomUpIn)
|
||||
: Grid(nameIn, widthIn, heightIn, extentIn), m_ctx(ctx), m_hTIFF(hTIFF),
|
||||
m_cache(cache), m_fp(fp), m_ifdIdx(ifdIdx), m_dt(dtIn),
|
||||
m_samplesPerPixel(samplesPerPixelIn), m_planarConfig(planarConfig),
|
||||
m_samplesPerPixel(samplesPerPixelIn),
|
||||
m_planarConfig(samplesPerPixelIn == 1 ? static_cast<uint16_t>(-1)
|
||||
: planarConfig),
|
||||
m_bottomUp(bottomUpIn), m_dirOffset(TIFFCurrentDirOffset(hTIFF)),
|
||||
m_tiled(TIFFIsTiled(hTIFF) != 0) {
|
||||
|
||||
@@ -460,10 +448,15 @@ GTiffGrid::GTiffGrid(PJ_CONTEXT *ctx, TIFF *hTIFF, BlockCache &cache, File *fp,
|
||||
m_blockHeight = m_height;
|
||||
}
|
||||
|
||||
m_blockIs256Pixel = (m_blockWidth == 256) && (m_blockHeight == 256);
|
||||
m_isSingleBlock = (m_blockWidth == static_cast<uint32_t>(m_width)) &&
|
||||
(m_blockHeight == static_cast<uint32_t>(m_height));
|
||||
|
||||
TIFFGetField(m_hTIFF, TIFFTAG_SUBFILETYPE, &m_subfileType);
|
||||
|
||||
m_blocksPerRow = (m_width + m_blockWidth - 1) / m_blockWidth;
|
||||
m_blocksPerCol = (m_height + m_blockHeight - 1) / m_blockHeight;
|
||||
m_blocks = m_blocksPerRow * m_blocksPerCol;
|
||||
|
||||
const char *text = nullptr;
|
||||
// Poor-man XML parsing of TIFFTAG_GDAL_METADATA tag. Hopefully good
|
||||
@@ -515,16 +508,26 @@ GTiffGrid::GTiffGrid(PJ_CONTEXT *ctx, TIFF *hTIFF, BlockCache &cache, File *fp,
|
||||
break;
|
||||
const auto role = tag.substr(rolePos, endQuote - rolePos);
|
||||
if (role == "offset") {
|
||||
if (sample >= 0) {
|
||||
if (sample >= 0 &&
|
||||
static_cast<unsigned>(sample) <= m_samplesPerPixel) {
|
||||
try {
|
||||
m_mapOffset[sample] = c_locale_stod(value);
|
||||
if (m_adfOffset.empty()) {
|
||||
m_adfOffset.resize(m_samplesPerPixel);
|
||||
m_adfScale.resize(m_samplesPerPixel, 1);
|
||||
}
|
||||
m_adfOffset[sample] = c_locale_stod(value);
|
||||
} catch (const std::exception &) {
|
||||
}
|
||||
}
|
||||
} else if (role == "scale") {
|
||||
if (sample >= 0) {
|
||||
if (sample >= 0 &&
|
||||
static_cast<unsigned>(sample) <= m_samplesPerPixel) {
|
||||
try {
|
||||
m_mapScale[sample] = c_locale_stod(value);
|
||||
if (m_adfOffset.empty()) {
|
||||
m_adfOffset.resize(m_samplesPerPixel);
|
||||
m_adfScale.resize(m_samplesPerPixel, 1);
|
||||
}
|
||||
m_adfScale[sample] = c_locale_stod(value);
|
||||
} catch (const std::exception &) {
|
||||
}
|
||||
}
|
||||
@@ -555,33 +558,16 @@ GTiffGrid::~GTiffGrid() = default;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void GTiffGrid::getScaleOffset(double &scale, double &offset,
|
||||
uint16_t sample) const {
|
||||
{
|
||||
auto iter = m_mapScale.find(sample);
|
||||
if (iter != m_mapScale.end())
|
||||
scale = iter->second;
|
||||
}
|
||||
|
||||
{
|
||||
auto iter = m_mapOffset.find(sample);
|
||||
if (iter != m_mapOffset.end())
|
||||
offset = iter->second;
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
template <class T>
|
||||
float GTiffGrid::readValue(const std::vector<unsigned char> &buffer,
|
||||
uint32_t offsetInBlock, uint16_t sample) const {
|
||||
const auto ptr = reinterpret_cast<const T *>(buffer.data());
|
||||
assert(offsetInBlock < buffer.size() / sizeof(T));
|
||||
const auto val = ptr[offsetInBlock];
|
||||
if (!m_hasNodata || static_cast<float>(val) != m_noData) {
|
||||
double scale = 1;
|
||||
double offset = 0;
|
||||
getScaleOffset(scale, offset, sample);
|
||||
if ((!m_hasNodata || static_cast<float>(val) != m_noData) &&
|
||||
sample < m_adfScale.size()) {
|
||||
double scale = m_adfScale[sample];
|
||||
double offset = m_adfOffset[sample];
|
||||
return static_cast<float>(val * scale + offset);
|
||||
} else {
|
||||
return static_cast<float>(val);
|
||||
@@ -595,27 +581,41 @@ bool GTiffGrid::valueAt(uint16_t sample, int x, int yFromBottom,
|
||||
assert(x >= 0 && yFromBottom >= 0 && x < m_width && yFromBottom < m_height);
|
||||
assert(sample < m_samplesPerPixel);
|
||||
|
||||
const int blockX = x / m_blockWidth;
|
||||
|
||||
// All non-TIFF grids have the first rows in the file being the one
|
||||
// corresponding to the southern-most row. In GeoTIFF, the convention is
|
||||
// *generally* different (when m_bottomUp == false), TIFF being an
|
||||
// image-oriented image. If m_bottomUp == true, then we had GeoTIFF hints
|
||||
// that the first row of the image is the southern-most.
|
||||
const int yTIFF = m_bottomUp ? yFromBottom : m_height - 1 - yFromBottom;
|
||||
const int blockY = yTIFF / m_blockHeight;
|
||||
|
||||
uint32_t blockId = blockY * m_blocksPerRow + blockX;
|
||||
if (m_planarConfig == PLANARCONFIG_SEPARATE) {
|
||||
blockId += sample * m_blocksPerCol * m_blocksPerRow;
|
||||
int blockXOff;
|
||||
int blockYOff;
|
||||
uint32_t blockId;
|
||||
|
||||
if (m_blockIs256Pixel) {
|
||||
const int blockX = x / 256;
|
||||
blockXOff = x % 256;
|
||||
const int blockY = yTIFF / 256;
|
||||
blockYOff = yTIFF % 256;
|
||||
blockId = blockY * m_blocksPerRow + blockX;
|
||||
} else if (m_isSingleBlock) {
|
||||
blockXOff = x;
|
||||
blockYOff = yTIFF;
|
||||
blockId = 0;
|
||||
} else {
|
||||
const int blockX = x / m_blockWidth;
|
||||
blockXOff = x % m_blockWidth;
|
||||
const int blockY = yTIFF / m_blockHeight;
|
||||
blockYOff = yTIFF % m_blockHeight;
|
||||
blockId = blockY * m_blocksPerRow + blockX;
|
||||
}
|
||||
|
||||
auto cachedBuffer = m_cache.get(m_ifdIdx, blockId);
|
||||
std::vector<unsigned char> *pBuffer = &m_buffer;
|
||||
if (cachedBuffer != nullptr) {
|
||||
// Safe as we don't access the cache before pBuffer is used
|
||||
pBuffer = cachedBuffer.get();
|
||||
} else {
|
||||
if (m_planarConfig == PLANARCONFIG_SEPARATE) {
|
||||
blockId += sample * m_blocks;
|
||||
}
|
||||
|
||||
const std::vector<unsigned char> *pBuffer = m_cache.get(m_ifdIdx, blockId);
|
||||
if (pBuffer == nullptr) {
|
||||
if (TIFFCurrentDirOffset(m_hTIFF) != m_dirOffset &&
|
||||
!TIFFSetSubDirectory(m_hTIFF, m_dirOffset)) {
|
||||
return false;
|
||||
@@ -643,6 +643,7 @@ bool GTiffGrid::valueAt(uint16_t sample, int x, int yFromBottom,
|
||||
}
|
||||
}
|
||||
|
||||
pBuffer = &m_buffer;
|
||||
try {
|
||||
m_cache.insert(m_ifdIdx, blockId, m_buffer);
|
||||
} catch (const std::exception &e) {
|
||||
@@ -651,8 +652,11 @@ bool GTiffGrid::valueAt(uint16_t sample, int x, int yFromBottom,
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t offsetInBlock =
|
||||
(x % m_blockWidth) + (yTIFF % m_blockHeight) * m_blockWidth;
|
||||
uint32_t offsetInBlock;
|
||||
if (m_blockIs256Pixel)
|
||||
offsetInBlock = blockXOff + blockYOff * 256U;
|
||||
else
|
||||
offsetInBlock = blockXOff + blockYOff * m_blockWidth;
|
||||
if (m_planarConfig == PLANARCONFIG_CONTIG)
|
||||
offsetInBlock = offsetInBlock * m_samplesPerPixel + sample;
|
||||
|
||||
@@ -1053,6 +1057,7 @@ std::unique_ptr<GTiffGrid> GTiffDataset::nextGrid() {
|
||||
extent.resY = fabs(vRes) * mulFactor;
|
||||
extent.east = (west + hRes * (width - 1)) * mulFactor;
|
||||
extent.south = (north - vRes * (height - 1)) * mulFactor;
|
||||
extent.computeInvRes();
|
||||
|
||||
if (vRes < 0) {
|
||||
std::swap(extent.north, extent.south);
|
||||
@@ -1451,7 +1456,7 @@ const VerticalShiftGrid *VerticalShiftGrid::gridAt(double lon,
|
||||
const VerticalShiftGrid *VerticalShiftGridSet::gridAt(double lon,
|
||||
double lat) const {
|
||||
for (const auto &grid : m_grids) {
|
||||
if (dynamic_cast<NullVerticalShiftGrid *>(grid.get())) {
|
||||
if (grid->isNullGrid()) {
|
||||
return grid.get();
|
||||
}
|
||||
const auto &extent = grid->extentAndRes();
|
||||
@@ -1604,6 +1609,8 @@ NTv1Grid *NTv1Grid::open(PJ_CONTEXT *ctx, std::unique_ptr<File> fp,
|
||||
extent.north = to_double(header + 40) * DEG_TO_RAD;
|
||||
extent.resX = to_double(header + 104) * DEG_TO_RAD;
|
||||
extent.resY = to_double(header + 88) * DEG_TO_RAD;
|
||||
extent.computeInvRes();
|
||||
|
||||
if (!(fabs(extent.west) <= 4 * M_PI && fabs(extent.east) <= 4 * M_PI &&
|
||||
fabs(extent.north) <= M_PI + 1e-5 &&
|
||||
fabs(extent.south) <= M_PI + 1e-5 && extent.west < extent.east &&
|
||||
@@ -1616,9 +1623,9 @@ NTv1Grid *NTv1Grid::open(PJ_CONTEXT *ctx, std::unique_ptr<File> fp,
|
||||
return nullptr;
|
||||
}
|
||||
const int columns = static_cast<int>(
|
||||
fabs((extent.east - extent.west) / extent.resX + 0.5) + 1);
|
||||
fabs((extent.east - extent.west) * extent.invResX + 0.5) + 1);
|
||||
const int rows = static_cast<int>(
|
||||
fabs((extent.north - extent.south) / extent.resY + 0.5) + 1);
|
||||
fabs((extent.north - extent.south) * extent.invResY + 0.5) + 1);
|
||||
|
||||
return new NTv1Grid(ctx, std::move(fp), filename, columns, rows, extent);
|
||||
}
|
||||
@@ -1948,6 +1955,7 @@ std::unique_ptr<NTv2GridSet> NTv2GridSet::open(PJ_CONTEXT *ctx,
|
||||
to_double(header + OFFSET_SOUTH_LAT + 16 * 4) * DEG_TO_RAD / 3600.0;
|
||||
extent.resX =
|
||||
to_double(header + OFFSET_SOUTH_LAT + 16 * 5) * DEG_TO_RAD / 3600.0;
|
||||
extent.computeInvRes();
|
||||
|
||||
if (!(fabs(extent.west) <= 4 * M_PI && fabs(extent.east) <= 4 * M_PI &&
|
||||
fabs(extent.north) <= M_PI + 1e-5 &&
|
||||
@@ -1961,9 +1969,9 @@ std::unique_ptr<NTv2GridSet> NTv2GridSet::open(PJ_CONTEXT *ctx,
|
||||
return nullptr;
|
||||
}
|
||||
const int columns = static_cast<int>(
|
||||
fabs((extent.east - extent.west) / extent.resX + 0.5) + 1);
|
||||
fabs((extent.east - extent.west) * extent.invResX + 0.5) + 1);
|
||||
const int rows = static_cast<int>(
|
||||
fabs((extent.north - extent.south) / extent.resY + 0.5) + 1);
|
||||
fabs((extent.north - extent.south) * extent.invResY + 0.5) + 1);
|
||||
|
||||
pj_log(ctx, PJ_LOG_TRACE,
|
||||
"NTv2 %s %dx%d: LL=(%.9g,%.9g) UR=(%.9g,%.9g)", gridName.c_str(),
|
||||
@@ -2429,7 +2437,7 @@ const HorizontalShiftGrid *HorizontalShiftGrid::gridAt(double lon,
|
||||
const HorizontalShiftGrid *HorizontalShiftGridSet::gridAt(double lon,
|
||||
double lat) const {
|
||||
for (const auto &grid : m_grids) {
|
||||
if (dynamic_cast<NullHorizontalShiftGrid *>(grid.get())) {
|
||||
if (grid->isNullGrid()) {
|
||||
return grid.get();
|
||||
}
|
||||
const auto &extent = grid->extentAndRes();
|
||||
@@ -2760,7 +2768,7 @@ const GenericShiftGrid *GenericShiftGrid::gridAt(double x, double y) const {
|
||||
|
||||
const GenericShiftGrid *GenericShiftGridSet::gridAt(double x, double y) const {
|
||||
for (const auto &grid : m_grids) {
|
||||
if (dynamic_cast<NullGenericShiftGrid *>(grid.get())) {
|
||||
if (grid->isNullGrid()) {
|
||||
return grid.get();
|
||||
}
|
||||
const auto &extent = grid->extentAndRes();
|
||||
@@ -3196,7 +3204,7 @@ static double read_vgrid_value(PJ_CONTEXT *ctx, const ListOfVGrids &grids,
|
||||
}
|
||||
|
||||
/* Interpolation of a location within the grid */
|
||||
double grid_x = (input.lam - extent.west) / extent.resX;
|
||||
double grid_x = (input.lam - extent.west) * extent.invResX;
|
||||
if (input.lam < extent.west) {
|
||||
if (extent.fullWorldLongitude()) {
|
||||
// The first fmod goes to ]-lim, lim[ range
|
||||
@@ -3205,7 +3213,7 @@ static double read_vgrid_value(PJ_CONTEXT *ctx, const ListOfVGrids &grids,
|
||||
grid->width(),
|
||||
grid->width());
|
||||
} else {
|
||||
grid_x = (input.lam + 2 * M_PI - extent.west) / extent.resX;
|
||||
grid_x = (input.lam + 2 * M_PI - extent.west) * extent.invResX;
|
||||
}
|
||||
} else if (input.lam > extent.east) {
|
||||
if (extent.fullWorldLongitude()) {
|
||||
@@ -3215,10 +3223,10 @@ static double read_vgrid_value(PJ_CONTEXT *ctx, const ListOfVGrids &grids,
|
||||
grid->width(),
|
||||
grid->width());
|
||||
} else {
|
||||
grid_x = (input.lam - 2 * M_PI - extent.west) / extent.resX;
|
||||
grid_x = (input.lam - 2 * M_PI - extent.west) * extent.invResX;
|
||||
}
|
||||
}
|
||||
double grid_y = (input.phi - extent.south) / extent.resY;
|
||||
double grid_y = (input.phi - extent.south) * extent.invResY;
|
||||
int grid_ix = static_cast<int>(lround(floor(grid_x)));
|
||||
if (!(grid_ix >= 0 && grid_ix < grid->width())) {
|
||||
// in the unlikely case we end up here...
|
||||
@@ -3262,39 +3270,60 @@ static double read_vgrid_value(PJ_CONTEXT *ctx, const ListOfVGrids &grids,
|
||||
return HUGE_VAL;
|
||||
}
|
||||
|
||||
double total_weight = 0.0;
|
||||
int n_weights = 0;
|
||||
double value = 0.0f;
|
||||
double value = 0.0;
|
||||
|
||||
if (!grid->isNodata(value_a, vmultiplier)) {
|
||||
double weight = (1.0 - grid_x) * (1.0 - grid_y);
|
||||
value += value_a * weight;
|
||||
total_weight += weight;
|
||||
n_weights++;
|
||||
}
|
||||
if (!grid->isNodata(value_b, vmultiplier)) {
|
||||
double weight = (grid_x) * (1.0 - grid_y);
|
||||
value += value_b * weight;
|
||||
total_weight += weight;
|
||||
n_weights++;
|
||||
}
|
||||
if (!grid->isNodata(value_c, vmultiplier)) {
|
||||
double weight = (1.0 - grid_x) * (grid_y);
|
||||
value += value_c * weight;
|
||||
total_weight += weight;
|
||||
n_weights++;
|
||||
}
|
||||
if (!grid->isNodata(value_d, vmultiplier)) {
|
||||
double weight = (grid_x) * (grid_y);
|
||||
value += value_d * weight;
|
||||
total_weight += weight;
|
||||
n_weights++;
|
||||
}
|
||||
if (n_weights == 0) {
|
||||
const double grid_x_y = grid_x * grid_y;
|
||||
const bool a_valid = !grid->isNodata(value_a, vmultiplier);
|
||||
const bool b_valid = !grid->isNodata(value_b, vmultiplier);
|
||||
const bool c_valid = !grid->isNodata(value_c, vmultiplier);
|
||||
const bool d_valid = !grid->isNodata(value_d, vmultiplier);
|
||||
const int countValid =
|
||||
static_cast<int>(a_valid) + static_cast<int>(b_valid) +
|
||||
static_cast<int>(c_valid) + static_cast<int>(d_valid);
|
||||
if (countValid == 4) {
|
||||
{
|
||||
double weight = 1.0 - grid_x - grid_y + grid_x_y;
|
||||
value = value_a * weight;
|
||||
}
|
||||
{
|
||||
double weight = grid_x - grid_x_y;
|
||||
value += value_b * weight;
|
||||
}
|
||||
{
|
||||
double weight = grid_y - grid_x_y;
|
||||
value += value_c * weight;
|
||||
}
|
||||
{
|
||||
double weight = grid_x_y;
|
||||
value += value_d * weight;
|
||||
}
|
||||
} else if (countValid == 0) {
|
||||
proj_context_errno_set(ctx, PROJ_ERR_COORD_TRANSFM_GRID_AT_NODATA);
|
||||
value = HUGE_VAL;
|
||||
} else if (n_weights != 4)
|
||||
} else {
|
||||
double total_weight = 0.0;
|
||||
if (a_valid) {
|
||||
double weight = 1.0 - grid_x - grid_y + grid_x_y;
|
||||
value = value_a * weight;
|
||||
total_weight = weight;
|
||||
}
|
||||
if (b_valid) {
|
||||
double weight = grid_x - grid_x_y;
|
||||
value += value_b * weight;
|
||||
total_weight += weight;
|
||||
}
|
||||
if (c_valid) {
|
||||
double weight = grid_y - grid_x_y;
|
||||
value += value_c * weight;
|
||||
total_weight += weight;
|
||||
}
|
||||
if (d_valid) {
|
||||
double weight = grid_x_y;
|
||||
value += value_d * weight;
|
||||
total_weight += weight;
|
||||
}
|
||||
value /= total_weight;
|
||||
}
|
||||
|
||||
return value * vmultiplier;
|
||||
}
|
||||
@@ -3364,8 +3393,10 @@ double pj_vgrid_value(PJ *P, const ListOfVGrids &grids, PJ_LP lp,
|
||||
double value;
|
||||
|
||||
value = read_vgrid_value(P->ctx, grids, lp, vmultiplier);
|
||||
proj_log_trace(P, "proj_vgrid_value: (%f, %f) = %f", lp.lam * RAD_TO_DEG,
|
||||
lp.phi * RAD_TO_DEG, value);
|
||||
if (pj_log_active(P->ctx, PJ_LOG_TRACE)) {
|
||||
proj_log_trace(P, "proj_vgrid_value: (%f, %f) = %f",
|
||||
lp.lam * RAD_TO_DEG, lp.phi * RAD_TO_DEG, value);
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
@@ -3413,14 +3444,14 @@ bool pj_bilinear_interpolation_three_samples(
|
||||
// by identifying the lower-left x,y of it (ix, iy), and the upper-right
|
||||
// (ix2, iy2)
|
||||
|
||||
double grid_x = (lp.lam - extent.west) / extent.resX;
|
||||
double grid_x = (lp.lam - extent.west) * extent.invResX;
|
||||
// Special case for grids with world extent, and dealing with wrap-around
|
||||
if (lp.lam < extent.west) {
|
||||
grid_x = (lp.lam + 2 * M_PI - extent.west) / extent.resX;
|
||||
grid_x = (lp.lam + 2 * M_PI - extent.west) * extent.invResX;
|
||||
} else if (lp.lam > extent.east) {
|
||||
grid_x = (lp.lam - 2 * M_PI - extent.west) / extent.resX;
|
||||
grid_x = (lp.lam - 2 * M_PI - extent.west) * extent.invResX;
|
||||
}
|
||||
double grid_y = (lp.phi - extent.south) / extent.resY;
|
||||
double grid_y = (lp.phi - extent.south) * extent.invResY;
|
||||
int ix = static_cast<int>(grid_x);
|
||||
int iy = static_cast<int>(grid_y);
|
||||
int ix2 = std::min(ix + 1, grid->width() - 1);
|
||||
|
||||
@@ -45,6 +45,10 @@ struct ExtentAndRes {
|
||||
double north; // in radian for geographic, in CRS units otherwise
|
||||
double resX; // in radian for geographic, in CRS units otherwise
|
||||
double resY; // in radian for geographic, in CRS units otherwise
|
||||
double invResX; // = 1 / resX;
|
||||
double invResY; // = 1 / resY;
|
||||
|
||||
void computeInvRes();
|
||||
|
||||
bool fullWorldLongitude() const;
|
||||
bool contains(const ExtentAndRes &other) const;
|
||||
|
||||
+29
-33
@@ -36,10 +36,11 @@
|
||||
#define INPUT_UNITS P->right
|
||||
#define OUTPUT_UNITS P->left
|
||||
|
||||
static PJ_COORD inv_prepare (PJ *P, PJ_COORD coo) {
|
||||
static void inv_prepare (PJ *P, PJ_COORD& coo) {
|
||||
if (coo.v[0] == HUGE_VAL || coo.v[1] == HUGE_VAL || coo.v[2] == HUGE_VAL) {
|
||||
proj_errno_set (P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
|
||||
return proj_coord_error ();
|
||||
coo = proj_coord_error ();
|
||||
return;
|
||||
}
|
||||
|
||||
/* The helmert datum shift will choke unless it gets a sensible 4D coordinate */
|
||||
@@ -52,10 +53,10 @@ static PJ_COORD inv_prepare (PJ *P, PJ_COORD coo) {
|
||||
/* Handle remaining possible input types */
|
||||
switch (INPUT_UNITS) {
|
||||
case PJ_IO_UNITS_WHATEVER:
|
||||
return coo;
|
||||
break;
|
||||
|
||||
case PJ_IO_UNITS_DEGREES:
|
||||
return coo;
|
||||
break;
|
||||
|
||||
/* de-scale and de-offset */
|
||||
case PJ_IO_UNITS_CARTESIAN:
|
||||
@@ -65,8 +66,7 @@ static PJ_COORD inv_prepare (PJ *P, PJ_COORD coo) {
|
||||
if (P->is_geocent) {
|
||||
coo = proj_trans (P->cart, PJ_INV, coo);
|
||||
}
|
||||
|
||||
return coo;
|
||||
break;
|
||||
|
||||
case PJ_IO_UNITS_PROJECTED:
|
||||
case PJ_IO_UNITS_CLASSIC:
|
||||
@@ -74,7 +74,7 @@ static PJ_COORD inv_prepare (PJ *P, PJ_COORD coo) {
|
||||
coo.xyz.y = P->to_meter * coo.xyz.y - P->y0;
|
||||
coo.xyz.z = P->vto_meter * coo.xyz.z - P->z0;
|
||||
if (INPUT_UNITS==PJ_IO_UNITS_PROJECTED)
|
||||
return coo;
|
||||
return;
|
||||
|
||||
/* Classic proj.4 functions expect plane coordinates in units of the semimajor axis */
|
||||
/* Multiplying by ra, rather than dividing by a because the CalCOFI projection */
|
||||
@@ -82,23 +82,20 @@ static PJ_COORD inv_prepare (PJ *P, PJ_COORD coo) {
|
||||
/* (CalCOFI avoids further scaling by stomping - but a better solution is possible) */
|
||||
coo.xyz.x *= P->ra;
|
||||
coo.xyz.y *= P->ra;
|
||||
return coo;
|
||||
break;
|
||||
|
||||
case PJ_IO_UNITS_RADIANS:
|
||||
coo.lpz.z = P->vto_meter * coo.lpz.z - P->z0;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Should not happen, so we could return pj_coord_err here */
|
||||
return coo;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static PJ_COORD inv_finalize (PJ *P, PJ_COORD coo) {
|
||||
static void inv_finalize (PJ *P, PJ_COORD& coo) {
|
||||
if (coo.xyz.x == HUGE_VAL) {
|
||||
proj_errno_set (P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
|
||||
return proj_coord_error ();
|
||||
coo = proj_coord_error ();
|
||||
}
|
||||
|
||||
if (OUTPUT_UNITS==PJ_IO_UNITS_RADIANS) {
|
||||
@@ -113,7 +110,7 @@ static PJ_COORD inv_finalize (PJ *P, PJ_COORD coo) {
|
||||
if (P->vgridshift)
|
||||
coo = proj_trans (P->vgridshift, PJ_INV, coo); /* Go geometric from orthometric */
|
||||
if (coo.lp.lam==HUGE_VAL)
|
||||
return coo;
|
||||
return;
|
||||
if (P->hgridshift)
|
||||
coo = proj_trans (P->hgridshift, PJ_FWD, coo);
|
||||
else if (P->helmert || (P->cart_wgs84 != nullptr && P->cart != nullptr)) {
|
||||
@@ -123,35 +120,32 @@ static PJ_COORD inv_finalize (PJ *P, PJ_COORD coo) {
|
||||
coo = proj_trans (P->cart_wgs84, PJ_INV, coo); /* Go back to angular using WGS84 ellps */
|
||||
}
|
||||
if (coo.lp.lam==HUGE_VAL)
|
||||
return coo;
|
||||
return;
|
||||
|
||||
/* If input latitude was geocentrical, convert back to geocentrical */
|
||||
if (P->geoc)
|
||||
coo = pj_geocentric_latitude (P, PJ_FWD, coo);
|
||||
}
|
||||
|
||||
return coo;
|
||||
}
|
||||
|
||||
|
||||
static PJ_COORD error_or_coord(PJ *P, PJ_COORD coord, int last_errno) {
|
||||
if (proj_errno(P))
|
||||
static inline PJ_COORD error_or_coord(PJ *P, PJ_COORD coord, int last_errno) {
|
||||
if (P->ctx->last_errno)
|
||||
return proj_coord_error();
|
||||
|
||||
proj_errno_restore(P, last_errno);
|
||||
P->ctx->last_errno = last_errno;
|
||||
|
||||
return coord;
|
||||
}
|
||||
|
||||
|
||||
PJ_LP pj_inv(PJ_XY xy, PJ *P) {
|
||||
int last_errno;
|
||||
PJ_COORD coo = {{0,0,0,0}};
|
||||
coo.xy = xy;
|
||||
|
||||
last_errno = proj_errno_reset(P);
|
||||
const int last_errno = P->ctx->last_errno;
|
||||
P->ctx->last_errno = 0;
|
||||
|
||||
if (!P->skip_inv_prepare)
|
||||
coo = inv_prepare (P, coo);
|
||||
inv_prepare (P, coo);
|
||||
if (HUGE_VAL==coo.v[0])
|
||||
return proj_coord_error ().lp;
|
||||
|
||||
@@ -170,7 +164,7 @@ PJ_LP pj_inv(PJ_XY xy, PJ *P) {
|
||||
return proj_coord_error ().lp;
|
||||
|
||||
if (!P->skip_inv_finalize)
|
||||
coo = inv_finalize (P, coo);
|
||||
inv_finalize (P, coo);
|
||||
|
||||
return error_or_coord(P, coo, last_errno).lp;
|
||||
}
|
||||
@@ -178,14 +172,14 @@ PJ_LP pj_inv(PJ_XY xy, PJ *P) {
|
||||
|
||||
|
||||
PJ_LPZ pj_inv3d (PJ_XYZ xyz, PJ *P) {
|
||||
int last_errno;
|
||||
PJ_COORD coo = {{0,0,0,0}};
|
||||
coo.xyz = xyz;
|
||||
|
||||
last_errno = proj_errno_reset(P);
|
||||
const int last_errno = P->ctx->last_errno;
|
||||
P->ctx->last_errno = 0;
|
||||
|
||||
if (!P->skip_inv_prepare)
|
||||
coo = inv_prepare (P, coo);
|
||||
inv_prepare (P, coo);
|
||||
if (HUGE_VAL==coo.v[0])
|
||||
return proj_coord_error ().lpz;
|
||||
|
||||
@@ -204,7 +198,7 @@ PJ_LPZ pj_inv3d (PJ_XYZ xyz, PJ *P) {
|
||||
return proj_coord_error ().lpz;
|
||||
|
||||
if (!P->skip_inv_finalize)
|
||||
coo = inv_finalize (P, coo);
|
||||
inv_finalize (P, coo);
|
||||
|
||||
return error_or_coord(P, coo, last_errno).lpz;
|
||||
}
|
||||
@@ -212,10 +206,12 @@ PJ_LPZ pj_inv3d (PJ_XYZ xyz, PJ *P) {
|
||||
|
||||
|
||||
PJ_COORD pj_inv4d (PJ_COORD coo, PJ *P) {
|
||||
int last_errno = proj_errno_reset(P);
|
||||
|
||||
const int last_errno = P->ctx->last_errno;
|
||||
P->ctx->last_errno = 0;
|
||||
|
||||
if (!P->skip_inv_prepare)
|
||||
coo = inv_prepare (P, coo);
|
||||
inv_prepare (P, coo);
|
||||
if (HUGE_VAL==coo.v[0])
|
||||
return proj_coord_error ();
|
||||
|
||||
@@ -234,7 +230,7 @@ PJ_COORD pj_inv4d (PJ_COORD coo, PJ *P) {
|
||||
return proj_coord_error ();
|
||||
|
||||
if (!P->skip_inv_finalize)
|
||||
coo = inv_finalize (P, coo);
|
||||
inv_finalize (P, coo);
|
||||
|
||||
return error_or_coord(P, coo, last_errno);
|
||||
}
|
||||
|
||||
+172
-34
@@ -825,6 +825,64 @@ bool CRS::mustAxisOrderBeSwitchedForVisualization() const {
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
|
||||
void CRS::setProperties(
|
||||
const util::PropertyMap &properties) // throw(InvalidValueTypeException)
|
||||
{
|
||||
std::string l_remarks;
|
||||
std::string extensionProj4;
|
||||
properties.getStringValue(IdentifiedObject::REMARKS_KEY, l_remarks);
|
||||
properties.getStringValue("EXTENSION_PROJ4", extensionProj4);
|
||||
|
||||
const char *PROJ_CRS_STRING_PREFIX = "PROJ CRS string: ";
|
||||
const char *PROJ_CRS_STRING_SUFFIX = ". ";
|
||||
const auto beginOfProjStringPos = l_remarks.find(PROJ_CRS_STRING_PREFIX);
|
||||
if (beginOfProjStringPos == std::string::npos && extensionProj4.empty()) {
|
||||
ObjectUsage::setProperties(properties);
|
||||
return;
|
||||
}
|
||||
|
||||
util::PropertyMap newProperties(properties);
|
||||
|
||||
// Parse remarks and extract EXTENSION_PROJ4 from it
|
||||
if (extensionProj4.empty()) {
|
||||
if (beginOfProjStringPos != std::string::npos) {
|
||||
const auto endOfProjStringPos =
|
||||
l_remarks.find(PROJ_CRS_STRING_SUFFIX, beginOfProjStringPos);
|
||||
if (endOfProjStringPos == std::string::npos) {
|
||||
extensionProj4 = l_remarks.substr(
|
||||
beginOfProjStringPos + strlen(PROJ_CRS_STRING_PREFIX));
|
||||
} else {
|
||||
extensionProj4 = l_remarks.substr(
|
||||
beginOfProjStringPos + strlen(PROJ_CRS_STRING_PREFIX),
|
||||
endOfProjStringPos - beginOfProjStringPos -
|
||||
strlen(PROJ_CRS_STRING_PREFIX));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!extensionProj4.empty()) {
|
||||
if (beginOfProjStringPos == std::string::npos) {
|
||||
// Add EXTENSION_PROJ4 to remarks
|
||||
l_remarks =
|
||||
PROJ_CRS_STRING_PREFIX + extensionProj4 +
|
||||
(l_remarks.empty() ? std::string()
|
||||
: PROJ_CRS_STRING_SUFFIX + l_remarks);
|
||||
}
|
||||
}
|
||||
|
||||
newProperties.set(IdentifiedObject::REMARKS_KEY, l_remarks);
|
||||
|
||||
ObjectUsage::setProperties(newProperties);
|
||||
|
||||
d->extensionProj4_ = extensionProj4;
|
||||
}
|
||||
|
||||
//! @endcond
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
|
||||
CRSNNPtr CRS::normalizeForVisualization() const {
|
||||
|
||||
const auto createProperties = [this](const std::string &newName =
|
||||
@@ -1079,8 +1137,24 @@ CRSNNPtr CRS::promoteTo3D(const std::string &newName,
|
||||
return props;
|
||||
};
|
||||
|
||||
const auto geogCRS = dynamic_cast<const GeographicCRS *>(this);
|
||||
if (geogCRS) {
|
||||
if (auto derivedGeogCRS =
|
||||
dynamic_cast<const DerivedGeographicCRS *>(this)) {
|
||||
const auto &axisList = derivedGeogCRS->coordinateSystem()->axisList();
|
||||
if (axisList.size() == 2) {
|
||||
auto cs = cs::EllipsoidalCS::create(
|
||||
util::PropertyMap(), axisList[0], axisList[1],
|
||||
verticalAxisIfNotAlreadyPresent);
|
||||
auto baseGeog3DCRS = util::nn_dynamic_pointer_cast<GeodeticCRS>(
|
||||
derivedGeogCRS->baseCRS()->promoteTo3D(
|
||||
std::string(), dbContext, verticalAxisIfNotAlreadyPresent));
|
||||
return util::nn_static_pointer_cast<CRS>(
|
||||
DerivedGeographicCRS::create(
|
||||
createProperties(), NN_CHECK_THROW(baseGeog3DCRS),
|
||||
derivedGeogCRS->derivingConversion(), cs));
|
||||
}
|
||||
}
|
||||
|
||||
else if (auto geogCRS = dynamic_cast<const GeographicCRS *>(this)) {
|
||||
const auto &axisList = geogCRS->coordinateSystem()->axisList();
|
||||
if (axisList.size() == 2) {
|
||||
const auto &l_identifiers = identifiers();
|
||||
@@ -1120,8 +1194,7 @@ CRSNNPtr CRS::promoteTo3D(const std::string &newName,
|
||||
}
|
||||
}
|
||||
|
||||
const auto projCRS = dynamic_cast<const ProjectedCRS *>(this);
|
||||
if (projCRS) {
|
||||
else if (auto projCRS = dynamic_cast<const ProjectedCRS *>(this)) {
|
||||
const auto &axisList = projCRS->coordinateSystem()->axisList();
|
||||
if (axisList.size() == 2) {
|
||||
auto base3DCRS =
|
||||
@@ -1137,15 +1210,14 @@ CRSNNPtr CRS::promoteTo3D(const std::string &newName,
|
||||
}
|
||||
}
|
||||
|
||||
const auto boundCRS = dynamic_cast<const BoundCRS *>(this);
|
||||
if (boundCRS) {
|
||||
else if (auto boundCRS = dynamic_cast<const BoundCRS *>(this)) {
|
||||
auto base3DCRS = boundCRS->baseCRS()->promoteTo3D(
|
||||
newName, dbContext, verticalAxisIfNotAlreadyPresent);
|
||||
auto transf = boundCRS->transformation();
|
||||
try {
|
||||
transf->getTOWGS84Parameters();
|
||||
return BoundCRS::create(
|
||||
base3DCRS,
|
||||
createProperties(), base3DCRS,
|
||||
boundCRS->hubCRS()->promoteTo3D(std::string(), dbContext),
|
||||
transf->promoteTo3D(std::string(), dbContext));
|
||||
} catch (const io::FormattingException &) {
|
||||
@@ -1174,18 +1246,21 @@ CRSNNPtr CRS::promoteTo3D(const std::string &newName,
|
||||
*/
|
||||
CRSNNPtr CRS::demoteTo2D(const std::string &newName,
|
||||
const io::DatabaseContextPtr &dbContext) const {
|
||||
const auto geogCRS = dynamic_cast<const GeographicCRS *>(this);
|
||||
if (geogCRS) {
|
||||
|
||||
if (auto derivedGeogCRS =
|
||||
dynamic_cast<const DerivedGeographicCRS *>(this)) {
|
||||
return derivedGeogCRS->demoteTo2D(newName, dbContext);
|
||||
}
|
||||
|
||||
else if (auto geogCRS = dynamic_cast<const GeographicCRS *>(this)) {
|
||||
return geogCRS->demoteTo2D(newName, dbContext);
|
||||
}
|
||||
|
||||
const auto projCRS = dynamic_cast<const ProjectedCRS *>(this);
|
||||
if (projCRS) {
|
||||
else if (auto projCRS = dynamic_cast<const ProjectedCRS *>(this)) {
|
||||
return projCRS->demoteTo2D(newName, dbContext);
|
||||
}
|
||||
|
||||
const auto boundCRS = dynamic_cast<const BoundCRS *>(this);
|
||||
if (boundCRS) {
|
||||
else if (auto boundCRS = dynamic_cast<const BoundCRS *>(this)) {
|
||||
auto base2DCRS = boundCRS->baseCRS()->demoteTo2D(newName, dbContext);
|
||||
auto transf = boundCRS->transformation();
|
||||
try {
|
||||
@@ -1199,8 +1274,7 @@ CRSNNPtr CRS::demoteTo2D(const std::string &newName,
|
||||
}
|
||||
}
|
||||
|
||||
const auto compoundCRS = dynamic_cast<const CompoundCRS *>(this);
|
||||
if (compoundCRS) {
|
||||
else if (auto compoundCRS = dynamic_cast<const CompoundCRS *>(this)) {
|
||||
const auto &components = compoundCRS->componentReferenceSystems();
|
||||
if (components.size() >= 2) {
|
||||
return components[0];
|
||||
@@ -1594,8 +1668,6 @@ GeodeticCRS::create(const util::PropertyMap &properties,
|
||||
GeodeticCRS::nn_make_shared<GeodeticCRS>(datum, datumEnsemble, cs));
|
||||
crs->assignSelf(crs);
|
||||
crs->setProperties(properties);
|
||||
properties.getStringValue("EXTENSION_PROJ4",
|
||||
crs->CRS::getPrivate()->extensionProj4_);
|
||||
|
||||
return crs;
|
||||
}
|
||||
@@ -1641,8 +1713,7 @@ GeodeticCRS::create(const util::PropertyMap &properties,
|
||||
GeodeticCRS::nn_make_shared<GeodeticCRS>(datum, datumEnsemble, cs));
|
||||
crs->assignSelf(crs);
|
||||
crs->setProperties(properties);
|
||||
properties.getStringValue("EXTENSION_PROJ4",
|
||||
crs->CRS::getPrivate()->extensionProj4_);
|
||||
|
||||
return crs;
|
||||
}
|
||||
|
||||
@@ -2558,8 +2629,6 @@ GeographicCRS::create(const util::PropertyMap &properties,
|
||||
GeographicCRS::nn_make_shared<GeographicCRS>(datum, datumEnsemble, cs));
|
||||
crs->assignSelf(crs);
|
||||
crs->setProperties(properties);
|
||||
properties.getStringValue("EXTENSION_PROJ4",
|
||||
crs->CRS::getPrivate()->extensionProj4_);
|
||||
crs->CRS::getPrivate()->setImplicitCS(properties);
|
||||
return crs;
|
||||
}
|
||||
@@ -4033,8 +4102,6 @@ ProjectedCRS::create(const util::PropertyMap &properties,
|
||||
crs->assignSelf(crs);
|
||||
crs->setProperties(properties);
|
||||
crs->setDerivingConversionCRS();
|
||||
properties.getStringValue("EXTENSION_PROJ4",
|
||||
crs->CRS::getPrivate()->extensionProj4_);
|
||||
crs->CRS::getPrivate()->setImplicitCS(properties);
|
||||
return crs;
|
||||
}
|
||||
@@ -5224,6 +5291,37 @@ BoundCRS::transformation() PROJ_PURE_DEFN {
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/** \brief Instantiate a BoundCRS from a base CRS, a hub CRS and a
|
||||
* transformation.
|
||||
*
|
||||
* @param properties See \ref general_properties.
|
||||
* @param baseCRSIn base CRS.
|
||||
* @param hubCRSIn hub CRS.
|
||||
* @param transformationIn transformation from base CRS to hub CRS.
|
||||
* @return new BoundCRS.
|
||||
* @since PROJ 8.2
|
||||
*/
|
||||
BoundCRSNNPtr
|
||||
BoundCRS::create(const util::PropertyMap &properties, const CRSNNPtr &baseCRSIn,
|
||||
const CRSNNPtr &hubCRSIn,
|
||||
const operation::TransformationNNPtr &transformationIn) {
|
||||
auto crs = BoundCRS::nn_make_shared<BoundCRS>(baseCRSIn, hubCRSIn,
|
||||
transformationIn);
|
||||
crs->assignSelf(crs);
|
||||
const auto &l_name = baseCRSIn->nameStr();
|
||||
if (properties.get(common::IdentifiedObject::NAME_KEY) == nullptr &&
|
||||
!l_name.empty()) {
|
||||
auto newProperties(properties);
|
||||
newProperties.set(common::IdentifiedObject::NAME_KEY, l_name);
|
||||
crs->setProperties(newProperties);
|
||||
} else {
|
||||
crs->setProperties(properties);
|
||||
}
|
||||
return crs;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/** \brief Instantiate a BoundCRS from a base CRS, a hub CRS and a
|
||||
* transformation.
|
||||
*
|
||||
@@ -5235,15 +5333,7 @@ BoundCRS::transformation() PROJ_PURE_DEFN {
|
||||
BoundCRSNNPtr
|
||||
BoundCRS::create(const CRSNNPtr &baseCRSIn, const CRSNNPtr &hubCRSIn,
|
||||
const operation::TransformationNNPtr &transformationIn) {
|
||||
auto crs = BoundCRS::nn_make_shared<BoundCRS>(baseCRSIn, hubCRSIn,
|
||||
transformationIn);
|
||||
crs->assignSelf(crs);
|
||||
const auto &l_name = baseCRSIn->nameStr();
|
||||
if (!l_name.empty()) {
|
||||
crs->setProperties(util::PropertyMap().set(
|
||||
common::IdentifiedObject::NAME_KEY, l_name));
|
||||
}
|
||||
return crs;
|
||||
return create(util::PropertyMap(), baseCRSIn, hubCRSIn, transformationIn);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -5348,6 +5438,7 @@ void BoundCRS::_exportToWKT(io::WKTFormatter *formatter) const {
|
||||
formatter->setAbridgedTransformation(true);
|
||||
d->transformation()->_exportToWKT(formatter);
|
||||
formatter->setAbridgedTransformation(false);
|
||||
ObjectUsage::baseExportToWKT(formatter);
|
||||
formatter->endNode();
|
||||
} else {
|
||||
|
||||
@@ -5388,8 +5479,21 @@ void BoundCRS::_exportToJSON(
|
||||
io::JSONFormatter *formatter) const // throw(io::FormattingException)
|
||||
{
|
||||
auto writer = formatter->writer();
|
||||
auto objectContext(
|
||||
formatter->MakeObjectContext("BoundCRS", !identifiers().empty()));
|
||||
const auto &l_name = nameStr();
|
||||
if ((formatter->outputUsage(true) && !domains().empty()) ||
|
||||
(formatter->outputId() && !identifiers().empty()) ||
|
||||
!remarks().empty() ||
|
||||
(!l_name.empty() && l_name != d->baseCRS()->nameStr())) {
|
||||
// Only upgrades to v0.3 schema if needed
|
||||
formatter->setSchema(io::JSONFormatter::PROJJSON_v0_3);
|
||||
}
|
||||
|
||||
auto objectContext(formatter->MakeObjectContext("BoundCRS", false));
|
||||
|
||||
if (!l_name.empty() && l_name != d->baseCRS()->nameStr()) {
|
||||
writer->AddObjKey("name");
|
||||
writer->Add(l_name);
|
||||
}
|
||||
|
||||
writer->AddObjKey("source_crs");
|
||||
d->baseCRS()->_exportToJSON(formatter);
|
||||
@@ -5402,6 +5506,8 @@ void BoundCRS::_exportToJSON(
|
||||
formatter->setAbridgedTransformation(true);
|
||||
d->transformation()->_exportToJSON(formatter);
|
||||
formatter->setAbridgedTransformation(false);
|
||||
|
||||
ObjectUsage::baseExportToJSON(formatter);
|
||||
}
|
||||
//! @endcond
|
||||
|
||||
@@ -5898,6 +6004,38 @@ bool DerivedGeographicCRS::_isEquivalentTo(
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/** \brief Return a variant of this CRS "demoted" to a 2D one, if not already
|
||||
* the case.
|
||||
*
|
||||
*
|
||||
* @param newName Name of the new CRS. If empty, nameStr() will be used.
|
||||
* @param dbContext Database context to look for potentially already registered
|
||||
* 2D CRS. May be nullptr.
|
||||
* @return a new CRS demoted to 2D, or the current one if already 2D or not
|
||||
* applicable.
|
||||
* @since 8.1.1
|
||||
*/
|
||||
DerivedGeographicCRSNNPtr DerivedGeographicCRS::demoteTo2D(
|
||||
const std::string &newName, const io::DatabaseContextPtr &dbContext) const {
|
||||
|
||||
const auto &axisList = coordinateSystem()->axisList();
|
||||
if (axisList.size() == 3) {
|
||||
auto cs = cs::EllipsoidalCS::create(util::PropertyMap(), axisList[0],
|
||||
axisList[1]);
|
||||
auto baseGeog2DCRS = util::nn_dynamic_pointer_cast<GeodeticCRS>(
|
||||
baseCRS()->demoteTo2D(std::string(), dbContext));
|
||||
return DerivedGeographicCRS::create(
|
||||
util::PropertyMap().set(common::IdentifiedObject::NAME_KEY,
|
||||
!newName.empty() ? newName : nameStr()),
|
||||
NN_CHECK_THROW(baseGeog2DCRS), derivingConversion(), cs);
|
||||
}
|
||||
|
||||
return NN_NO_CHECK(std::dynamic_pointer_cast<DerivedGeographicCRS>(
|
||||
shared_from_this().as_nullable()));
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
|
||||
std::list<std::pair<CRSNNPtr, int>>
|
||||
|
||||
@@ -1145,9 +1145,8 @@ std::vector<std::string> DatabaseContext::Private::getDatabaseStructure() {
|
||||
: "db_0.");
|
||||
const auto sqlBegin("SELECT sql||';' FROM " + dbNamePrefix +
|
||||
"sqlite_master WHERE type = ");
|
||||
const char *const objectTypes[] = {"'table' AND "
|
||||
"name NOT LIKE 'sqlite_stat%'",
|
||||
"'view'", "'trigger'"};
|
||||
const char *tableType = "'table' AND name NOT LIKE 'sqlite_stat%'";
|
||||
const char *const objectTypes[] = {tableType, "'view'", "'trigger'"};
|
||||
std::vector<std::string> res;
|
||||
for (const auto &objectType : objectTypes) {
|
||||
const auto sqlRes = run(sqlBegin + objectType);
|
||||
|
||||
+39
-17
@@ -89,10 +89,6 @@ using json = nlohmann::json;
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
static const std::string emptyString{};
|
||||
|
||||
// If changing that value, change it in data/projjson.schema.json as well
|
||||
#define PROJJSON_CURRENT_VERSION \
|
||||
"https://proj.org/schemas/v0.2/projjson.schema.json"
|
||||
//! @endcond
|
||||
|
||||
#if 0
|
||||
@@ -109,6 +105,18 @@ template<> nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ:
|
||||
NS_PROJ_START
|
||||
namespace io {
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
const char *JSONFormatter::PROJJSON_v0_2 =
|
||||
"https://proj.org/schemas/v0.2/projjson.schema.json";
|
||||
|
||||
const char *JSONFormatter::PROJJSON_v0_3 =
|
||||
"https://proj.org/schemas/v0.3/projjson.schema.json";
|
||||
|
||||
// v0.2 is our base version. We only upgrade to 0.3 for usage node in BoundCRS
|
||||
#define PROJJSON_DEFAULT_VERSION JSONFormatter::PROJJSON_v0_2
|
||||
|
||||
//! @endcond
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
@@ -4593,8 +4601,8 @@ BoundCRSNNPtr WKTParser::Private::buildBoundCRS(const WKTNodeNNPtr &node) {
|
||||
NN_NO_CHECK(targetCRS), nullptr, buildProperties(methodNode),
|
||||
parameters, values, std::vector<PositionalAccuracyNNPtr>());
|
||||
|
||||
return BoundCRS::create(NN_NO_CHECK(sourceCRS), NN_NO_CHECK(targetCRS),
|
||||
transformation);
|
||||
return BoundCRS::create(buildProperties(node), NN_NO_CHECK(sourceCRS),
|
||||
NN_NO_CHECK(targetCRS), transformation);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -5057,7 +5065,8 @@ class JSONParser {
|
||||
|
||||
IdentifierNNPtr buildId(const json &j, bool removeInverseOf);
|
||||
static ObjectDomainPtr buildObjectDomain(const json &j);
|
||||
PropertyMap buildProperties(const json &j, bool removeInverseOf = false);
|
||||
PropertyMap buildProperties(const json &j, bool removeInverseOf = false,
|
||||
bool nameRequired = true);
|
||||
|
||||
GeographicCRSNNPtr buildGeographicCRS(const json &j);
|
||||
GeodeticCRSNNPtr buildGeodeticCRS(const json &j);
|
||||
@@ -5358,13 +5367,17 @@ IdentifierNNPtr JSONParser::buildId(const json &j, bool removeInverseOf) {
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
PropertyMap JSONParser::buildProperties(const json &j, bool removeInverseOf) {
|
||||
PropertyMap JSONParser::buildProperties(const json &j, bool removeInverseOf,
|
||||
bool nameRequired) {
|
||||
PropertyMap map;
|
||||
std::string name(getName(j));
|
||||
if (removeInverseOf && starts_with(name, "Inverse of ")) {
|
||||
name = name.substr(strlen("Inverse of "));
|
||||
|
||||
if (j.contains("name") || nameRequired) {
|
||||
std::string name(getName(j));
|
||||
if (removeInverseOf && starts_with(name, "Inverse of ")) {
|
||||
name = name.substr(strlen("Inverse of "));
|
||||
}
|
||||
map.set(IdentifiedObject::NAME_KEY, name);
|
||||
}
|
||||
map.set(IdentifiedObject::NAME_KEY, name);
|
||||
|
||||
if (j.contains("ids")) {
|
||||
auto idsJ = getArray(j, "ids");
|
||||
@@ -5782,7 +5795,10 @@ BoundCRSNNPtr JSONParser::buildBoundCRS(const json &j) {
|
||||
nullptr, buildProperties(methodJ), parameters, values,
|
||||
std::vector<PositionalAccuracyNNPtr>());
|
||||
|
||||
return BoundCRS::create(sourceCRS, targetCRS, transformation);
|
||||
return BoundCRS::create(buildProperties(j,
|
||||
/* removeInverseOf= */ false,
|
||||
/* nameRequired=*/false),
|
||||
sourceCRS, targetCRS, transformation);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -7409,6 +7425,8 @@ const std::string &PROJStringFormatter::toString() const {
|
||||
} else if (step.name == "pop" && step.inverted) {
|
||||
step.name = "push";
|
||||
step.inverted = false;
|
||||
} else if (step.name == "noop" && d->steps_.size() > 1) {
|
||||
iter = d->steps_.erase(iter);
|
||||
} else {
|
||||
++iter;
|
||||
}
|
||||
@@ -10529,7 +10547,7 @@ struct JSONFormatter::Private {
|
||||
bool allowIDInImmediateChild_ = false;
|
||||
bool omitTypeInImmediateChild_ = false;
|
||||
bool abridgedTransformation_ = false;
|
||||
std::string schema_ = PROJJSON_CURRENT_VERSION;
|
||||
std::string schema_ = PROJJSON_DEFAULT_VERSION;
|
||||
|
||||
std::string result_{};
|
||||
|
||||
@@ -10580,7 +10598,10 @@ JSONFormatter &JSONFormatter::setIndentationWidth(int width) noexcept {
|
||||
* If set to empty string, it will not be written.
|
||||
*/
|
||||
JSONFormatter &JSONFormatter::setSchema(const std::string &schema) noexcept {
|
||||
d->schema_ = schema;
|
||||
// Upgrade only to v0.3 if the default was v0.2
|
||||
if (schema != PROJJSON_v0_3 || d->schema_ == PROJJSON_v0_2) {
|
||||
d->schema_ = schema;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -10604,8 +10625,9 @@ bool JSONFormatter::outputId() const { return d->outputIdStack_.back(); }
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool JSONFormatter::outputUsage() const {
|
||||
return outputId() && d->outputIdStack_.size() == 2;
|
||||
bool JSONFormatter::outputUsage(bool calledBeforeObjectContext) const {
|
||||
return outputId() &&
|
||||
d->outputIdStack_.size() == (calledBeforeObjectContext ? 1U : 2U);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
@@ -335,13 +335,26 @@ void ConcatenatedOperation::fixStepsDirection(
|
||||
}
|
||||
}
|
||||
} else if (conv && i > 0 && i < operationsInOut.size() - 1) {
|
||||
// For an intermediate conversion, use the target CRS of the
|
||||
// previous step and the source CRS of the next step
|
||||
|
||||
l_sourceCRS = operationsInOut[i - 1]->targetCRS();
|
||||
l_targetCRS = operationsInOut[i + 1]->sourceCRS();
|
||||
// For an intermediate conversion, use the target CRS of the
|
||||
// previous step and the source CRS of the next step
|
||||
if (l_sourceCRS && l_targetCRS) {
|
||||
op->setCRSs(NN_NO_CHECK(l_sourceCRS), NN_NO_CHECK(l_targetCRS),
|
||||
nullptr);
|
||||
// If the sourceCRS is a projectedCRS and the target a
|
||||
// geographic one, then we must inverse the operation. See
|
||||
// https://github.com/OSGeo/PROJ/issues/2817
|
||||
if (dynamic_cast<const crs::ProjectedCRS *>(
|
||||
l_sourceCRS.get()) &&
|
||||
dynamic_cast<const crs::GeographicCRS *>(
|
||||
l_targetCRS.get())) {
|
||||
op->setCRSs(NN_NO_CHECK(l_targetCRS),
|
||||
NN_NO_CHECK(l_sourceCRS), nullptr);
|
||||
op = op->inverse();
|
||||
} else {
|
||||
op->setCRSs(NN_NO_CHECK(l_sourceCRS),
|
||||
NN_NO_CHECK(l_targetCRS), nullptr);
|
||||
}
|
||||
} else if (l_sourceCRS && l_targetCRS == nullptr &&
|
||||
conv->method()->getEPSGCode() ==
|
||||
EPSG_CODE_METHOD_HEIGHT_DEPTH_REVERSAL) {
|
||||
@@ -380,6 +393,11 @@ void ConcatenatedOperation::fixStepsDirection(
|
||||
// whereas we should instead use the reverse path.
|
||||
auto prevOpTarget = (i == 0) ? concatOpSourceCRS.as_nullable()
|
||||
: operationsInOut[i - 1]->targetCRS();
|
||||
if (prevOpTarget == nullptr) {
|
||||
throw InvalidOperation(
|
||||
"Cannot determine targetCRS of operation at step " +
|
||||
toString(static_cast<int>(i)));
|
||||
}
|
||||
if (compareStepCRS(l_sourceCRS.get(), prevOpTarget.get())) {
|
||||
// do nothing
|
||||
} else if (compareStepCRS(l_targetCRS.get(), prevOpTarget.get())) {
|
||||
|
||||
@@ -331,6 +331,9 @@ Conversion::create(const util::PropertyMap &properties,
|
||||
*/
|
||||
ConversionNNPtr Conversion::createUTM(const util::PropertyMap &properties,
|
||||
int zone, bool north) {
|
||||
if (zone < 1 || zone > 60) {
|
||||
throw InvalidOperation("Invalid zone number");
|
||||
}
|
||||
return create(
|
||||
getUTMConversionProperty(properties, zone, north),
|
||||
EPSG_CODE_METHOD_TRANSVERSE_MERCATOR,
|
||||
|
||||
@@ -3121,7 +3121,8 @@ void CoordinateOperationFactory::Private::createOperationsFromProj4Ext(
|
||||
projFormatter->setLegacyCRSToCRSContext(true);
|
||||
projFormatter->startInversion();
|
||||
sourceProjExportable->_exportToPROJString(projFormatter.get());
|
||||
auto geogSrc = dynamic_cast<const crs::GeographicCRS *>(sourceCRS.get());
|
||||
auto geogSrc = dynamic_cast<const crs::GeographicCRS *>(
|
||||
boundSrc ? boundSrc->baseCRS().get() : sourceCRS.get());
|
||||
if (geogSrc) {
|
||||
auto tmpFormatter = io::PROJStringFormatter::create();
|
||||
geogSrc->addAngularUnitConvertAndAxisSwap(tmpFormatter.get());
|
||||
@@ -3131,7 +3132,8 @@ void CoordinateOperationFactory::Private::createOperationsFromProj4Ext(
|
||||
projFormatter->stopInversion();
|
||||
|
||||
targetProjExportable->_exportToPROJString(projFormatter.get());
|
||||
auto geogDst = dynamic_cast<const crs::GeographicCRS *>(targetCRS.get());
|
||||
auto geogDst = dynamic_cast<const crs::GeographicCRS *>(
|
||||
boundDst ? boundDst->baseCRS().get() : targetCRS.get());
|
||||
if (geogDst) {
|
||||
auto tmpFormatter = io::PROJStringFormatter::create();
|
||||
geogDst->addAngularUnitConvertAndAxisSwap(tmpFormatter.get());
|
||||
@@ -3476,7 +3478,7 @@ CoordinateOperationFactory::Private::createOperationsGeogToVertFromGeoid(
|
||||
vertDst->datum(), vertDst->datumEnsemble(),
|
||||
cs::VerticalCS::createGravityRelatedHeight(
|
||||
common::UnitOfMeasure::METRE)));
|
||||
const auto properties = util::PropertyMap().set(
|
||||
auto properties = util::PropertyMap().set(
|
||||
common::IdentifiedObject::NAME_KEY,
|
||||
buildOpName("Transformation", vertCRSMetre, geogSrcCRS));
|
||||
|
||||
@@ -3485,14 +3487,21 @@ CoordinateOperationFactory::Private::createOperationsGeogToVertFromGeoid(
|
||||
std::vector<metadata::PositionalAccuracyNNPtr> accuracies;
|
||||
const auto &modelAccuracies =
|
||||
model->coordinateOperationAccuracies();
|
||||
std::vector<CoordinateOperationNNPtr> transformationsForGrid;
|
||||
double accuracy = -1;
|
||||
size_t idx = static_cast<size_t>(-1);
|
||||
if (modelAccuracies.empty()) {
|
||||
if (authFactory) {
|
||||
const auto transformationsForGrid =
|
||||
transformationsForGrid =
|
||||
io::DatabaseContext::getTransformationsForGridName(
|
||||
authFactory->databaseContext(), projFilename);
|
||||
double accuracy = -1;
|
||||
for (const auto &transf : transformationsForGrid) {
|
||||
accuracy = std::max(accuracy, getAccuracy(transf));
|
||||
for (size_t i = 0; i < transformationsForGrid.size(); ++i) {
|
||||
const auto &transf = transformationsForGrid[i];
|
||||
const double transfAcc = getAccuracy(transf);
|
||||
if (transfAcc - accuracy > 1e-10) {
|
||||
accuracy = transfAcc;
|
||||
idx = i;
|
||||
}
|
||||
}
|
||||
if (accuracy >= 0) {
|
||||
accuracies.emplace_back(
|
||||
@@ -3502,6 +3511,31 @@ CoordinateOperationFactory::Private::createOperationsGeogToVertFromGeoid(
|
||||
}
|
||||
}
|
||||
|
||||
// Set extent
|
||||
bool dummy = false;
|
||||
// Use in priority the one of the geoid model transformation
|
||||
auto extent = getExtent(model, true, dummy);
|
||||
// Otherwise fallback to the extent of a transformation using
|
||||
// the grid.
|
||||
if (extent == nullptr && authFactory != nullptr) {
|
||||
if (transformationsForGrid.empty()) {
|
||||
transformationsForGrid =
|
||||
io::DatabaseContext::getTransformationsForGridName(
|
||||
authFactory->databaseContext(), projFilename);
|
||||
}
|
||||
if (idx != static_cast<size_t>(-1)) {
|
||||
const auto &transf = transformationsForGrid[idx];
|
||||
extent = getExtent(transf, true, dummy);
|
||||
} else if (!transformationsForGrid.empty()) {
|
||||
const auto &transf = transformationsForGrid.front();
|
||||
extent = getExtent(transf, true, dummy);
|
||||
}
|
||||
}
|
||||
if (extent) {
|
||||
properties.set(common::ObjectUsage::DOMAIN_OF_VALIDITY_KEY,
|
||||
NN_NO_CHECK(extent));
|
||||
}
|
||||
|
||||
return Transformation::createGravityRelatedHeightToGeographic3D(
|
||||
properties, vertCRSMetre, geogSrcCRS, nullptr, projFilename,
|
||||
!modelAccuracies.empty() ? modelAccuracies : accuracies);
|
||||
@@ -5314,6 +5348,12 @@ CoordinateOperationFactory::createOperations(
|
||||
metadata::ExtentPtr targetCRSExtent;
|
||||
auto l_resolvedTargetCRS =
|
||||
crs::CRS::getResolvedCRS(l_targetCRS, authFactory, targetCRSExtent);
|
||||
if (context->getSourceAndTargetCRSExtentUse() ==
|
||||
CoordinateOperationContext::SourceTargetCRSExtentUse::NONE) {
|
||||
// Make sure *not* to use CRS extent if requested to ignore it
|
||||
sourceCRSExtent.reset();
|
||||
targetCRSExtent.reset();
|
||||
}
|
||||
Private::Context contextPrivate(sourceCRSExtent, targetCRSExtent, context);
|
||||
|
||||
if (context->getSourceAndTargetCRSExtentUse() ==
|
||||
|
||||
+2
-1
@@ -398,7 +398,8 @@ target_link_libraries(proj PRIVATE ${SQLITE3_LIBRARY})
|
||||
|
||||
if(NLOHMANN_JSON STREQUAL "external")
|
||||
target_compile_definitions(proj PRIVATE EXTERNAL_NLOHMANN_JSON)
|
||||
target_link_libraries(proj PRIVATE nlohmann_json::nlohmann_json)
|
||||
target_link_libraries(proj
|
||||
PRIVATE $<BUILD_INTERFACE:nlohmann_json::nlohmann_json>)
|
||||
endif()
|
||||
|
||||
if(TIFF_ENABLED)
|
||||
|
||||
+31
-25
@@ -46,25 +46,36 @@ void pj_stderr_logger( void *app_data, int level, const char *msg )
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* pj_vlog() */
|
||||
/* pj_log_active() */
|
||||
/************************************************************************/
|
||||
void pj_vlog( PJ_CONTEXT *ctx, int level, const char *fmt, va_list args );
|
||||
|
||||
void pj_vlog( PJ_CONTEXT *ctx, int level, const char *fmt, va_list args )
|
||||
|
||||
bool pj_log_active( PJ_CONTEXT *ctx, int level )
|
||||
{
|
||||
char *msg_buf;
|
||||
int debug_level = ctx->debug_level;
|
||||
int shutup_unless_errno_set = debug_level < 0;
|
||||
|
||||
/* For negative debug levels, we first start logging when errno is set */
|
||||
if (ctx->last_errno==0 && shutup_unless_errno_set)
|
||||
return;
|
||||
return false;
|
||||
|
||||
if (debug_level < 0)
|
||||
debug_level = -debug_level;
|
||||
|
||||
if( level > debug_level )
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* pj_vlog() */
|
||||
/************************************************************************/
|
||||
|
||||
static
|
||||
void pj_vlog( PJ_CONTEXT *ctx, int level, const PJ* P, const char *fmt, va_list args )
|
||||
|
||||
{
|
||||
char *msg_buf;
|
||||
if( !pj_log_active(ctx, level) )
|
||||
return;
|
||||
|
||||
constexpr size_t BUF_SIZE = 100000;
|
||||
@@ -72,7 +83,15 @@ void pj_vlog( PJ_CONTEXT *ctx, int level, const char *fmt, va_list args )
|
||||
if( msg_buf == nullptr )
|
||||
return;
|
||||
|
||||
vsnprintf( msg_buf, BUF_SIZE, fmt, args );
|
||||
if( P == nullptr || P->short_name == nullptr )
|
||||
vsnprintf( msg_buf, BUF_SIZE, fmt, args );
|
||||
else
|
||||
{
|
||||
std::string fmt_with_P_short_name(P->short_name);
|
||||
fmt_with_P_short_name += ": ";
|
||||
fmt_with_P_short_name += fmt;
|
||||
vsnprintf( msg_buf, BUF_SIZE, fmt_with_P_short_name.c_str(), args );
|
||||
}
|
||||
msg_buf[BUF_SIZE-1] = '\0';
|
||||
|
||||
ctx->logger( ctx->logger_app_data, level, msg_buf );
|
||||
@@ -80,7 +99,6 @@ void pj_vlog( PJ_CONTEXT *ctx, int level, const char *fmt, va_list args )
|
||||
free( msg_buf );
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* pj_log() */
|
||||
/************************************************************************/
|
||||
@@ -94,7 +112,7 @@ void pj_log( PJ_CONTEXT *ctx, int level, const char *fmt, ... )
|
||||
return;
|
||||
|
||||
va_start( args, fmt );
|
||||
pj_vlog( ctx, level, fmt, args );
|
||||
pj_vlog( ctx, level, nullptr, fmt, args );
|
||||
va_end( args );
|
||||
}
|
||||
|
||||
@@ -117,18 +135,6 @@ PJ_LOG_LEVEL proj_log_level (PJ_CONTEXT *ctx, PJ_LOG_LEVEL log_level) {
|
||||
return previous;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
static std::string add_short_name_prefix(const PJ* P, const char* fmt)
|
||||
/*****************************************************************************/
|
||||
{
|
||||
if( P->short_name == nullptr )
|
||||
return fmt;
|
||||
std::string ret(P->short_name);
|
||||
ret += ": ";
|
||||
ret += fmt;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void proj_log_error (const PJ *P, const char *fmt, ...) {
|
||||
/******************************************************************************
|
||||
@@ -136,7 +142,7 @@ void proj_log_error (const PJ *P, const char *fmt, ...) {
|
||||
******************************************************************************/
|
||||
va_list args;
|
||||
va_start( args, fmt );
|
||||
pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR , add_short_name_prefix(P, fmt).c_str(), args);
|
||||
pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR, P, fmt, args);
|
||||
va_end( args );
|
||||
}
|
||||
|
||||
@@ -148,7 +154,7 @@ void proj_log_debug (PJ *P, const char *fmt, ...) {
|
||||
******************************************************************************/
|
||||
va_list args;
|
||||
va_start( args, fmt );
|
||||
pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG , add_short_name_prefix(P, fmt).c_str(), args);
|
||||
pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG, P, fmt, args);
|
||||
va_end( args );
|
||||
}
|
||||
|
||||
@@ -159,7 +165,7 @@ void proj_context_log_debug (PJ_CONTEXT *ctx, const char *fmt, ...) {
|
||||
******************************************************************************/
|
||||
va_list args;
|
||||
va_start( args, fmt );
|
||||
pj_vlog (ctx, PJ_LOG_DEBUG , fmt, args);
|
||||
pj_vlog (ctx, PJ_LOG_DEBUG, nullptr, fmt, args);
|
||||
va_end( args );
|
||||
}
|
||||
|
||||
@@ -170,7 +176,7 @@ void proj_log_trace (PJ *P, const char *fmt, ...) {
|
||||
******************************************************************************/
|
||||
va_list args;
|
||||
va_start( args, fmt );
|
||||
pj_vlog (pj_get_ctx (P), PJ_LOG_TRACE , add_short_name_prefix(P, fmt).c_str(), args);
|
||||
pj_vlog (pj_get_ctx (P), PJ_LOG_TRACE, P, fmt, args);
|
||||
va_end( args );
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -172,7 +172,7 @@ extern "C" {
|
||||
/* The version numbers should be updated with every release! **/
|
||||
#define PROJ_VERSION_MAJOR 8
|
||||
#define PROJ_VERSION_MINOR 1
|
||||
#define PROJ_VERSION_PATCH 0
|
||||
#define PROJ_VERSION_PATCH 1
|
||||
|
||||
/* Note: the following 3 defines have been introduced in PROJ 8.0.1 */
|
||||
/* Macro to compute a PROJ version number from its components */
|
||||
@@ -559,7 +559,7 @@ PJ PROJ_DLL *proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx,
|
||||
const PJ *target_crs,
|
||||
PJ_AREA *area,
|
||||
const char* const *options);
|
||||
/*! @endcond Doxygen_Suppress */
|
||||
/*! @endcond */
|
||||
PJ PROJ_DLL *proj_normalize_for_visualization(PJ_CONTEXT *ctx, const PJ* obj);
|
||||
/*! @cond Doxygen_Suppress */
|
||||
void PROJ_DLL proj_assign_context(PJ* pj, PJ_CONTEXT* ctx);
|
||||
|
||||
@@ -918,6 +918,7 @@ void pj_acquire_lock(void);
|
||||
void pj_release_lock(void);
|
||||
void pj_cleanup_lock(void);
|
||||
|
||||
bool pj_log_active( PJ_CONTEXT *ctx, int level );
|
||||
void pj_log( PJ_CONTEXT * ctx, int level, const char *fmt, ... );
|
||||
void pj_stderr_logger( void *, int, const char * );
|
||||
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
#define pj_is_latlong internal_pj_is_latlong
|
||||
#define pj_latlong_from_proj internal_pj_latlong_from_proj
|
||||
#define pj_log internal_pj_log
|
||||
#define pj_log_active internal_pj_log_active
|
||||
#define pj_malloc internal_pj_malloc
|
||||
#define pj_open_lib internal_pj_open_lib
|
||||
#define pj_pr_list internal_pj_pr_list
|
||||
|
||||
@@ -145,6 +145,7 @@ static PJ_LP laea_e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoidal, inverse
|
||||
switch (Q->mode) {
|
||||
case EQUIT:
|
||||
case OBLIQ:
|
||||
{
|
||||
xy.x /= Q->dd;
|
||||
xy.y *= Q->dd;
|
||||
rho = hypot(xy.x, xy.y);
|
||||
@@ -153,7 +154,13 @@ static PJ_LP laea_e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoidal, inverse
|
||||
lp.phi = P->phi0;
|
||||
return lp;
|
||||
}
|
||||
sCe = 2. * asin(.5 * rho / Q->rq);
|
||||
const double asin_argument = .5 * rho / Q->rq;
|
||||
if( asin_argument > 1 )
|
||||
{
|
||||
proj_errno_set(P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
|
||||
return lp;
|
||||
}
|
||||
sCe = 2. * asin(asin_argument);
|
||||
cCe = cos(sCe);
|
||||
sCe = sin(sCe);
|
||||
xy.x *= sCe;
|
||||
@@ -165,6 +172,7 @@ static PJ_LP laea_e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoidal, inverse
|
||||
xy.y = rho * cCe;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case N_POLE:
|
||||
xy.y = -xy.y;
|
||||
/*-fallthrough*/
|
||||
|
||||
@@ -89,7 +89,6 @@ static PJ_LP ortho_s_inverse (PJ_XY xy, PJ *P) { /* Spheroidal, invers
|
||||
if (sinc > 1.) {
|
||||
if ((sinc - 1.) > EPS10) {
|
||||
proj_errno_set(P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
|
||||
proj_log_trace(P, "Point (%.3f, %.3f) is outside the projection boundary");
|
||||
return lp;
|
||||
}
|
||||
sinc = 1.;
|
||||
@@ -177,7 +176,6 @@ static PJ_LP ortho_e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoidal, inver
|
||||
if (rh2 >= 1. - 1e-15) {
|
||||
if ((rh2 - 1.) > EPS10) {
|
||||
proj_errno_set(P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
|
||||
proj_log_trace(P, "Point (%.3f, %.3f) is outside the projection boundary");
|
||||
lp.lam = HUGE_VAL; lp.phi = HUGE_VAL;
|
||||
return lp;
|
||||
}
|
||||
@@ -201,7 +199,6 @@ static PJ_LP ortho_e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoidal, inver
|
||||
// Equation of the ellipse
|
||||
if( SQ(xy.x) + SQ(xy.y * (P->a / P->b)) > 1 + 1e-11 ) {
|
||||
proj_errno_set(P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
|
||||
proj_log_trace(P, "Point (%.3f, %.3f) is outside the projection boundary");
|
||||
lp.lam = HUGE_VAL; lp.phi = HUGE_VAL;
|
||||
return lp;
|
||||
}
|
||||
@@ -229,7 +226,6 @@ static PJ_LP ortho_e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoidal, inver
|
||||
xy_recentered.y = (xy.y - Q->y_shift) / Q->y_scale;
|
||||
if( SQ(xy.x) + SQ(xy_recentered.y) > 1 + 1e-11 ) {
|
||||
proj_errno_set(P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
|
||||
proj_log_trace(P, "Point (%.3f, %.3f) is outside the projection boundary");
|
||||
lp.lam = HUGE_VAL; lp.phi = HUGE_VAL;
|
||||
return lp;
|
||||
}
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ char const pj_release[] =
|
||||
STR(PROJ_VERSION_MAJOR)"."
|
||||
STR(PROJ_VERSION_MINOR)"."
|
||||
STR(PROJ_VERSION_PATCH)", "
|
||||
"July 1st, 2021";
|
||||
"September 1st, 2021";
|
||||
|
||||
const char *pj_get_release() {
|
||||
return pj_release;
|
||||
|
||||
@@ -78,6 +78,10 @@ echo "Testing projinfo -s EPSG:4230 -t EPSG:4258 --bbox 8,54.51,15.24,57.8 --sum
|
||||
$EXE -s EPSG:4230 -t EPSG:4258 --bbox 8,54.51,15.24,57.8 --summary >>${OUT}
|
||||
echo "" >>${OUT}
|
||||
|
||||
echo "Testing projinfo -s EPSG:23031 -t EPSG:4326 --bbox -13.87,34.91,-7.24,41.88 --crs-extent-use none --summary" >> ${OUT}
|
||||
$EXE -s EPSG:23031 -t EPSG:4326 --bbox -13.87,34.91,-7.24,41.88 --crs-extent-use none --summary >>${OUT}
|
||||
echo "" >>${OUT}
|
||||
|
||||
echo "Testing projinfo -s EPSG:4230 -t EPSG:4258 --area EPSG:3237 --summary" >> ${OUT}
|
||||
$EXE -s EPSG:4230 -t EPSG:4258 --area EPSG:3237 --summary >>${OUT}
|
||||
echo "" >>${OUT}
|
||||
|
||||
@@ -904,6 +904,11 @@ Candidate operations found: 1
|
||||
Note: using '--spatial-test intersects' would bring more results (2)
|
||||
EPSG:1626, ED50 to ETRS89 (4), 1.0 m, Denmark - onshore.
|
||||
|
||||
Testing projinfo -s EPSG:23031 -t EPSG:4326 --bbox -13.87,34.91,-7.24,41.88 --crs-extent-use none --summary
|
||||
Candidate operations found: 1
|
||||
Note: using '--spatial-test intersects' would bring more results (9)
|
||||
unknown id, Inverse of UTM zone 31N + ED50 to WGS 84 (42), 5 m, Portugal - mainland - offshore.
|
||||
|
||||
Testing projinfo -s EPSG:4230 -t EPSG:4258 --area EPSG:3237 --summary
|
||||
Candidate operations found: 1
|
||||
Note: using '--spatial-test intersects' would bring more results (2)
|
||||
|
||||
@@ -2582,6 +2582,9 @@ expect -0.001796631 0.000904369
|
||||
accept -200 -100
|
||||
expect -0.001796631 -0.000904369
|
||||
|
||||
accept 13000000 0
|
||||
expect failure errno coord_transfm_outside_projection_domain
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
operation +proj=laea +R=6400000
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
@@ -166,10 +166,6 @@ add_executable(test_defmodel
|
||||
target_link_libraries(test_defmodel
|
||||
PRIVATE GTest::gtest
|
||||
PRIVATE ${PROJ_LIBRARIES})
|
||||
if(NLOHMANN_JSON STREQUAL "external")
|
||||
target_compile_definitions(test_defmodel PRIVATE EXTERNAL_NLOHMANN_JSON)
|
||||
target_link_libraries(test_defmodel PRIVATE nlohmann_json::nlohmann_json)
|
||||
endif()
|
||||
add_test(NAME test_defmodel COMMAND test_defmodel)
|
||||
set_property(TEST test_defmodel
|
||||
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
|
||||
@@ -180,10 +176,6 @@ add_executable(test_tinshift
|
||||
target_link_libraries(test_tinshift
|
||||
PRIVATE GTest::gtest
|
||||
PRIVATE ${PROJ_LIBRARIES})
|
||||
if(NLOHMANN_JSON STREQUAL "external")
|
||||
target_compile_definitions(test_tinshift PRIVATE EXTERNAL_NLOHMANN_JSON)
|
||||
target_link_libraries(test_tinshift PRIVATE nlohmann_json::nlohmann_json)
|
||||
endif()
|
||||
add_test(NAME test_tinshift COMMAND test_tinshift)
|
||||
set_property(TEST test_tinshift
|
||||
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
|
||||
|
||||
@@ -2373,10 +2373,17 @@ TEST_F(CApi, check_coord_op_obj_can_be_used_with_proj_trans) {
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST_F(CApi, proj_create_projections) {
|
||||
{
|
||||
constexpr int invalid_zone_number = 0;
|
||||
auto projCRS =
|
||||
proj_create_conversion_utm(m_ctxt, invalid_zone_number, 0);
|
||||
ObjectKeeper keeper_projCRS(projCRS);
|
||||
ASSERT_EQ(projCRS, nullptr);
|
||||
}
|
||||
|
||||
/* BEGIN: Generated by scripts/create_c_api_projections.py*/
|
||||
{
|
||||
auto projCRS = proj_create_conversion_utm(m_ctxt, 0, 0);
|
||||
auto projCRS = proj_create_conversion_utm(m_ctxt, 1, 0);
|
||||
ObjectKeeper keeper_projCRS(projCRS);
|
||||
ASSERT_NE(projCRS, nullptr);
|
||||
}
|
||||
@@ -5082,7 +5089,20 @@ TEST_F(CApi, proj_create_vertical_crs_ex_implied_accuracy) {
|
||||
ObjectKeeper keeper_transform(transform);
|
||||
|
||||
// This is the accuracy of operations EPSG:5656 / 5657
|
||||
ASSERT_EQ(proj_coordoperation_get_accuracy(m_ctxt, transform), 0.15);
|
||||
const double acc = proj_coordoperation_get_accuracy(m_ctxt, transform);
|
||||
EXPECT_NEAR(acc, 0.15, 1e-10);
|
||||
|
||||
// Check there's an asssociated area of use
|
||||
double west_lon_degree = 0;
|
||||
double south_lat_degree = 0;
|
||||
double east_lon_degree = 0;
|
||||
double north_lat_degree = 0;
|
||||
ASSERT_EQ(proj_get_area_of_use(m_ctxt, transform, &west_lon_degree,
|
||||
&south_lat_degree, &east_lon_degree,
|
||||
&north_lat_degree, nullptr),
|
||||
true);
|
||||
EXPECT_LE(north_lat_degree, -10);
|
||||
EXPECT_GE(west_lon_degree, 110);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
@@ -4411,6 +4411,93 @@ TEST(crs, boundCRS_to_WKT2) {
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(crs, boundCRS_with_usage) {
|
||||
|
||||
auto wkt =
|
||||
"BOUNDCRS[\n"
|
||||
" SOURCECRS[\n"
|
||||
" PROJCRS[\"Monte Mario / Italy zone 2\",\n"
|
||||
" BASEGEOGCRS[\"Monte Mario\",\n"
|
||||
" DATUM[\"Monte Mario\",\n"
|
||||
" ELLIPSOID[\"International 1924\",6378388,297,\n"
|
||||
" LENGTHUNIT[\"metre\",1]]],\n"
|
||||
" PRIMEM[\"Greenwich\",0,\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n"
|
||||
" ID[\"EPSG\",4265]],\n"
|
||||
" CONVERSION[\"unnamed\",\n"
|
||||
" METHOD[\"Transverse Mercator\",\n"
|
||||
" ID[\"EPSG\",9807]],\n"
|
||||
" PARAMETER[\"Latitude of natural origin\",0,\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433],\n"
|
||||
" ID[\"EPSG\",8801]],\n"
|
||||
" PARAMETER[\"Longitude of natural origin\",15,\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433],\n"
|
||||
" ID[\"EPSG\",8802]],\n"
|
||||
" PARAMETER[\"Scale factor at natural origin\",0.9996,\n"
|
||||
" SCALEUNIT[\"unity\",1],\n"
|
||||
" ID[\"EPSG\",8805]],\n"
|
||||
" PARAMETER[\"False easting\",2520000,\n"
|
||||
" LENGTHUNIT[\"metre\",1],\n"
|
||||
" ID[\"EPSG\",8806]],\n"
|
||||
" PARAMETER[\"False northing\",0,\n"
|
||||
" LENGTHUNIT[\"metre\",1],\n"
|
||||
" ID[\"EPSG\",8807]]],\n"
|
||||
" CS[Cartesian,2],\n"
|
||||
" AXIS[\"x\",east,\n"
|
||||
" ORDER[1],\n"
|
||||
" LENGTHUNIT[\"metre\",1]],\n"
|
||||
" AXIS[\"y\",north,\n"
|
||||
" ORDER[2],\n"
|
||||
" LENGTHUNIT[\"metre\",1]],\n"
|
||||
" ID[\"EPSG\",3004]]],\n"
|
||||
" TARGETCRS[\n"
|
||||
" GEOGCRS[\"WGS 84\",\n"
|
||||
" DATUM[\"World Geodetic System 1984\",\n"
|
||||
" ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n"
|
||||
" LENGTHUNIT[\"metre\",1]]],\n"
|
||||
" PRIMEM[\"Greenwich\",0,\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n"
|
||||
" CS[ellipsoidal,2],\n"
|
||||
" AXIS[\"geodetic latitude (Lat)\",north,\n"
|
||||
" ORDER[1],\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n"
|
||||
" AXIS[\"geodetic longitude (Lon)\",east,\n"
|
||||
" ORDER[2],\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n"
|
||||
" ID[\"EPSG\",4326]]],\n"
|
||||
" ABRIDGEDTRANSFORMATION[\"Transformation from Monte Mario to "
|
||||
"WGS84\",\n"
|
||||
" METHOD[\"Position Vector transformation (geog2D domain)\",\n"
|
||||
" ID[\"EPSG\",9606]],\n"
|
||||
" PARAMETER[\"X-axis translation\",-50.2,\n"
|
||||
" ID[\"EPSG\",8605]],\n"
|
||||
" PARAMETER[\"Y-axis translation\",-50.4,\n"
|
||||
" ID[\"EPSG\",8606]],\n"
|
||||
" PARAMETER[\"Z-axis translation\",84.8,\n"
|
||||
" ID[\"EPSG\",8607]],\n"
|
||||
" PARAMETER[\"X-axis rotation\",-0.69,\n"
|
||||
" ID[\"EPSG\",8608]],\n"
|
||||
" PARAMETER[\"Y-axis rotation\",-2.012,\n"
|
||||
" ID[\"EPSG\",8609]],\n"
|
||||
" PARAMETER[\"Z-axis rotation\",0.459,\n"
|
||||
" ID[\"EPSG\",8610]],\n"
|
||||
" PARAMETER[\"Scale difference\",0.99997192,\n"
|
||||
" ID[\"EPSG\",8611]]],\n"
|
||||
" USAGE[\n"
|
||||
" SCOPE[\"unknown\"],\n"
|
||||
" AREA[\"Italy - Sicily onshore\"],\n"
|
||||
" BBOX[36.59,12.36,38.35,15.71]]]";
|
||||
auto crs =
|
||||
nn_dynamic_pointer_cast<BoundCRS>(WKTParser().createFromWKT(wkt));
|
||||
ASSERT_TRUE(crs != nullptr);
|
||||
|
||||
auto got_wkt = crs->exportToWKT(
|
||||
WKTFormatter::create(WKTFormatter::Convention::WKT2_2019).get());
|
||||
EXPECT_EQ(got_wkt, wkt);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(crs, boundCRS_crs_link) {
|
||||
|
||||
{
|
||||
@@ -6403,6 +6490,32 @@ TEST(crs, promoteTo3D_and_demoteTo2D) {
|
||||
EXPECT_TRUE(dynamic_cast<const ProjectedCRS *>(demoted.get()) !=
|
||||
nullptr);
|
||||
}
|
||||
|
||||
{
|
||||
auto crs = createDerivedGeographicCRS();
|
||||
auto crs3D = crs->promoteTo3D(std::string(), dbContext);
|
||||
auto crs3DAsDerivedGeog =
|
||||
nn_dynamic_pointer_cast<DerivedGeographicCRS>(crs3D);
|
||||
ASSERT_TRUE(crs3DAsDerivedGeog != nullptr);
|
||||
EXPECT_EQ(crs3DAsDerivedGeog->baseCRS()
|
||||
->coordinateSystem()
|
||||
->axisList()
|
||||
.size(),
|
||||
3U);
|
||||
EXPECT_EQ(crs3DAsDerivedGeog->coordinateSystem()->axisList().size(),
|
||||
3U);
|
||||
EXPECT_TRUE(crs3DAsDerivedGeog->promoteTo3D(std::string(), nullptr)
|
||||
->isEquivalentTo(crs3DAsDerivedGeog.get()));
|
||||
|
||||
auto demoted = crs3DAsDerivedGeog->demoteTo2D(std::string(), dbContext);
|
||||
EXPECT_EQ(demoted->baseCRS()->coordinateSystem()->axisList().size(),
|
||||
2U);
|
||||
EXPECT_EQ(demoted->coordinateSystem()->axisList().size(), 2U);
|
||||
EXPECT_TRUE(demoted->isEquivalentTo(
|
||||
crs.get(), IComparable::Criterion::EQUIVALENT));
|
||||
EXPECT_TRUE(demoted->demoteTo2D(std::string(), nullptr)
|
||||
->isEquivalentTo(demoted.get()));
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
#include "proj/metadata.hpp"
|
||||
#include "proj/util.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include <sqlite3.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
@@ -3115,6 +3117,115 @@ TEST_F(FactoryWithTmpDatabase,
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST_F(FactoryWithTmpDatabase,
|
||||
check_fixup_direction_concatenated_inverse_map_projection) {
|
||||
|
||||
// This tests https://github.com/OSGeo/PROJ/issues/2817
|
||||
|
||||
createStructure();
|
||||
populateWithFakeEPSG();
|
||||
|
||||
ASSERT_TRUE(execute(
|
||||
"INSERT INTO other_transformation "
|
||||
"VALUES('EPSG','NOOP_TRANSFORMATION_32631','name',NULL,"
|
||||
"'PROJ','PROJString','+proj=noop',"
|
||||
"'EPSG','32631','EPSG','32631',0.0,"
|
||||
"NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"
|
||||
"NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"
|
||||
"NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"
|
||||
"NULL,NULL,NULL,NULL,NULL,NULL,0);"))
|
||||
<< last_error();
|
||||
|
||||
ASSERT_TRUE(
|
||||
execute("INSERT INTO usage VALUES('EPSG',"
|
||||
"'other_transformation_NOOP_TRANSFORMATION_32631_usage',"
|
||||
"'other_transformation',"
|
||||
"'EPSG','NOOP_TRANSFORMATION_32631',"
|
||||
"'EPSG','1262','EPSG','1024');"))
|
||||
<< last_error();
|
||||
|
||||
ASSERT_TRUE(execute(
|
||||
"INSERT INTO other_transformation "
|
||||
"VALUES('EPSG','NOOP_TRANSFORMATION_4326','name',NULL,"
|
||||
"'PROJ','PROJString','+proj=noop',"
|
||||
"'EPSG','4326','EPSG','4326',0.0,"
|
||||
"NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"
|
||||
"NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"
|
||||
"NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"
|
||||
"NULL,NULL,NULL,NULL,NULL,NULL,0);"))
|
||||
<< last_error();
|
||||
|
||||
ASSERT_TRUE(execute("INSERT INTO usage VALUES('EPSG',"
|
||||
"'other_transformation_NOOP_TRANSFORMATION_4326_usage',"
|
||||
"'other_transformation',"
|
||||
"'EPSG','NOOP_TRANSFORMATION_4326',"
|
||||
"'EPSG','1262','EPSG','1024');"))
|
||||
<< last_error();
|
||||
|
||||
ASSERT_TRUE(execute("INSERT INTO concatenated_operation "
|
||||
"VALUES('EPSG','TEST_CONCATENATED','name',NULL,"
|
||||
"'EPSG','4326','EPSG'"
|
||||
",'4326',NULL,NULL,0);"))
|
||||
<< last_error();
|
||||
ASSERT_TRUE(execute("INSERT INTO usage VALUES('EPSG',"
|
||||
"'concatenated_operation_TEST_CONCATENATED_usage',"
|
||||
"'concatenated_operation',"
|
||||
"'EPSG','TEST_CONCATENATED',"
|
||||
"'EPSG','1262','EPSG','1024');"))
|
||||
<< last_error();
|
||||
|
||||
// Forward map projection
|
||||
ASSERT_TRUE(execute("INSERT INTO concatenated_operation_step "
|
||||
"VALUES('EPSG','TEST_CONCATENATED',1,"
|
||||
"'EPSG','16031');"))
|
||||
<< last_error();
|
||||
|
||||
// Noop projected
|
||||
ASSERT_TRUE(execute("INSERT INTO concatenated_operation_step "
|
||||
"VALUES('EPSG','TEST_CONCATENATED',2,"
|
||||
"'EPSG','NOOP_TRANSFORMATION_32631');"))
|
||||
<< last_error();
|
||||
|
||||
// Inverse map projection
|
||||
ASSERT_TRUE(execute("INSERT INTO concatenated_operation_step "
|
||||
"VALUES('EPSG','TEST_CONCATENATED',3,"
|
||||
"'EPSG','16031');"))
|
||||
<< last_error();
|
||||
|
||||
// Noop geographic
|
||||
ASSERT_TRUE(execute("INSERT INTO concatenated_operation_step "
|
||||
"VALUES('EPSG','TEST_CONCATENATED',4,"
|
||||
"'EPSG','NOOP_TRANSFORMATION_4326');"))
|
||||
<< last_error();
|
||||
|
||||
// Forward map projection
|
||||
ASSERT_TRUE(execute("INSERT INTO concatenated_operation_step "
|
||||
"VALUES('EPSG','TEST_CONCATENATED',5,"
|
||||
"'EPSG','16031');"))
|
||||
<< last_error();
|
||||
|
||||
// Noop projected
|
||||
ASSERT_TRUE(execute("INSERT INTO concatenated_operation_step "
|
||||
"VALUES('EPSG','TEST_CONCATENATED',6,"
|
||||
"'EPSG','NOOP_TRANSFORMATION_32631');"))
|
||||
<< last_error();
|
||||
|
||||
// Inverse map projection
|
||||
ASSERT_TRUE(execute("INSERT INTO concatenated_operation_step "
|
||||
"VALUES('EPSG','TEST_CONCATENATED',7,"
|
||||
"'EPSG','16031');"))
|
||||
<< last_error();
|
||||
|
||||
auto dbContext = DatabaseContext::create(m_ctxt);
|
||||
auto authFactory = AuthorityFactory::create(dbContext, std::string("EPSG"));
|
||||
const auto op =
|
||||
authFactory->createCoordinateOperation("TEST_CONCATENATED", false);
|
||||
auto wkt = op->exportToPROJString(PROJStringFormatter::create().get());
|
||||
EXPECT_EQ(wkt, "+proj=noop");
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(factory, createObjectsFromName) {
|
||||
auto ctxt = DatabaseContext::create();
|
||||
auto factory = AuthorityFactory::create(ctxt, std::string());
|
||||
|
||||
+194
-4
@@ -11891,9 +11891,12 @@ TEST(json_import, compound_crs) {
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(json_import, bound_crs) {
|
||||
// Explicitly check that the version is v0.2 in that circumstance. Might
|
||||
// require adjustments in the future.
|
||||
auto json =
|
||||
"{\n"
|
||||
" \"$schema\": \"foo\",\n"
|
||||
" \"$schema\": "
|
||||
"\"https://proj.org/schemas/v0.2/projjson.schema.json\",\n"
|
||||
" \"type\": \"BoundCRS\",\n"
|
||||
" \"source_crs\": {\n"
|
||||
" \"type\": \"GeographicCRS\",\n"
|
||||
@@ -11987,9 +11990,125 @@ TEST(json_import, bound_crs) {
|
||||
auto obj = createFromUserInput(json, nullptr);
|
||||
auto boundCRS = nn_dynamic_pointer_cast<BoundCRS>(obj);
|
||||
ASSERT_TRUE(boundCRS != nullptr);
|
||||
EXPECT_EQ(
|
||||
boundCRS->exportToJSON(&(JSONFormatter::create()->setSchema("foo"))),
|
||||
json);
|
||||
EXPECT_EQ(boundCRS->exportToJSON(JSONFormatter::create().get()), json);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(json_import, bound_crs_with_name_and_usage) {
|
||||
// Explicitly check that the version is v0.3 in that circumstance. Might
|
||||
// require adjustments in the future.
|
||||
auto json =
|
||||
"{\n"
|
||||
" \"$schema\": "
|
||||
"\"https://proj.org/schemas/v0.3/projjson.schema.json\",\n"
|
||||
" \"type\": \"BoundCRS\",\n"
|
||||
" \"name\": \"my bound crs\",\n"
|
||||
" \"source_crs\": {\n"
|
||||
" \"type\": \"GeographicCRS\",\n"
|
||||
" \"name\": \"unknown\",\n"
|
||||
" \"datum\": {\n"
|
||||
" \"type\": \"GeodeticReferenceFrame\",\n"
|
||||
" \"name\": \"Unknown based on GRS80 ellipsoid\",\n"
|
||||
" \"ellipsoid\": {\n"
|
||||
" \"name\": \"GRS 1980\",\n"
|
||||
" \"semi_major_axis\": 6378137,\n"
|
||||
" \"inverse_flattening\": 298.257222101,\n"
|
||||
" \"id\": {\n"
|
||||
" \"authority\": \"EPSG\",\n"
|
||||
" \"code\": 7019\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
" },\n"
|
||||
" \"coordinate_system\": {\n"
|
||||
" \"subtype\": \"ellipsoidal\",\n"
|
||||
" \"axis\": [\n"
|
||||
" {\n"
|
||||
" \"name\": \"Longitude\",\n"
|
||||
" \"abbreviation\": \"lon\",\n"
|
||||
" \"direction\": \"east\",\n"
|
||||
" \"unit\": \"degree\"\n"
|
||||
" },\n"
|
||||
" {\n"
|
||||
" \"name\": \"Latitude\",\n"
|
||||
" \"abbreviation\": \"lat\",\n"
|
||||
" \"direction\": \"north\",\n"
|
||||
" \"unit\": \"degree\"\n"
|
||||
" }\n"
|
||||
" ]\n"
|
||||
" }\n"
|
||||
" },\n"
|
||||
" \"target_crs\": {\n"
|
||||
" \"type\": \"GeographicCRS\",\n"
|
||||
" \"name\": \"WGS 84\",\n"
|
||||
" \"datum\": {\n"
|
||||
" \"type\": \"GeodeticReferenceFrame\",\n"
|
||||
" \"name\": \"World Geodetic System 1984\",\n"
|
||||
" \"ellipsoid\": {\n"
|
||||
" \"name\": \"WGS 84\",\n"
|
||||
" \"semi_major_axis\": 6378137,\n"
|
||||
" \"inverse_flattening\": 298.257223563\n"
|
||||
" }\n"
|
||||
" },\n"
|
||||
" \"coordinate_system\": {\n"
|
||||
" \"subtype\": \"ellipsoidal\",\n"
|
||||
" \"axis\": [\n"
|
||||
" {\n"
|
||||
" \"name\": \"Latitude\",\n"
|
||||
" \"abbreviation\": \"lat\",\n"
|
||||
" \"direction\": \"north\",\n"
|
||||
" \"unit\": \"degree\"\n"
|
||||
" },\n"
|
||||
" {\n"
|
||||
" \"name\": \"Longitude\",\n"
|
||||
" \"abbreviation\": \"lon\",\n"
|
||||
" \"direction\": \"east\",\n"
|
||||
" \"unit\": \"degree\"\n"
|
||||
" }\n"
|
||||
" ]\n"
|
||||
" },\n"
|
||||
" \"id\": {\n"
|
||||
" \"authority\": \"EPSG\",\n"
|
||||
" \"code\": 4326\n"
|
||||
" }\n"
|
||||
" },\n"
|
||||
" \"transformation\": {\n"
|
||||
" \"name\": \"unknown to WGS84\",\n"
|
||||
" \"method\": {\n"
|
||||
" \"name\": \"NTv2\",\n"
|
||||
" \"id\": {\n"
|
||||
" \"authority\": \"EPSG\",\n"
|
||||
" \"code\": 9615\n"
|
||||
" }\n"
|
||||
" },\n"
|
||||
" \"parameters\": [\n"
|
||||
" {\n"
|
||||
" \"name\": \"Latitude and longitude difference file\",\n"
|
||||
" \"value\": \"@foo\",\n"
|
||||
" \"id\": {\n"
|
||||
" \"authority\": \"EPSG\",\n"
|
||||
" \"code\": 8656\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
" ]\n"
|
||||
" },\n"
|
||||
" \"scope\": \"Example only (fictitious).\",\n"
|
||||
" \"area\": \"Description of the extent of the CRS.\",\n"
|
||||
" \"bbox\": {\n"
|
||||
" \"south_latitude\": -90,\n"
|
||||
" \"west_longitude\": -180,\n"
|
||||
" \"north_latitude\": 90,\n"
|
||||
" \"east_longitude\": 180\n"
|
||||
" },\n"
|
||||
" \"id\": {\n"
|
||||
" \"authority\": \"foo\",\n"
|
||||
" \"code\": 1234\n"
|
||||
" }\n"
|
||||
"}";
|
||||
auto obj = createFromUserInput(json, nullptr);
|
||||
auto boundCRS = nn_dynamic_pointer_cast<BoundCRS>(obj);
|
||||
ASSERT_TRUE(boundCRS != nullptr);
|
||||
EXPECT_EQ(boundCRS->exportToJSON(JSONFormatter::create().get()), json);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -13717,3 +13836,74 @@ TEST(json_export, coordinate_system_id) {
|
||||
EXPECT_EQ(cs->exportToJSON(&(JSONFormatter::create()->setSchema("foo"))),
|
||||
json);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(io, EXTENSION_PROJ4) {
|
||||
// Check that the PROJ string is preserved in the remarks
|
||||
auto obj = PROJStringParser().createFromPROJString(
|
||||
"+proj=utm +datum=NAD27 +zone=11 +over +type=crs");
|
||||
auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
|
||||
ASSERT_TRUE(crs != nullptr);
|
||||
EXPECT_EQ(crs->remarks(),
|
||||
"PROJ CRS string: +proj=utm +datum=NAD27 +zone=11 +over");
|
||||
|
||||
// Chat that the PROJ string is detected when ingesting a WKT2 with
|
||||
// a REMARKS node that contains it
|
||||
auto wkt2 = crs->exportToWKT(WKTFormatter::create().get());
|
||||
auto obj2 = WKTParser().createFromWKT(wkt2);
|
||||
auto crs2 = nn_dynamic_pointer_cast<ProjectedCRS>(obj2);
|
||||
ASSERT_TRUE(crs2 != nullptr);
|
||||
EXPECT_EQ(crs2->exportToPROJString(PROJStringFormatter::create().get()),
|
||||
"+proj=utm +datum=NAD27 +zone=11 +over +type=crs");
|
||||
|
||||
// Chat that the PROJ string is detected when ingesting a WKT2 with
|
||||
// a REMARKS node that contains it (in the middle of the remarks)
|
||||
auto wkt3 =
|
||||
"PROJCRS[\"unknown\",\n"
|
||||
" BASEGEOGCRS[\"unknown\",\n"
|
||||
" DATUM[\"North American Datum 1927\",\n"
|
||||
" ELLIPSOID[\"Clarke 1866\",6378206.4,294.978698213898,\n"
|
||||
" LENGTHUNIT[\"metre\",1]],\n"
|
||||
" ID[\"EPSG\",6267]],\n"
|
||||
" PRIMEM[\"Greenwich\",0,\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433],\n"
|
||||
" ID[\"EPSG\",8901]]],\n"
|
||||
" CONVERSION[\"UTM zone 11N\",\n"
|
||||
" METHOD[\"Transverse Mercator\",\n"
|
||||
" ID[\"EPSG\",9807]],\n"
|
||||
" PARAMETER[\"Latitude of natural origin\",0,\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433],\n"
|
||||
" ID[\"EPSG\",8801]],\n"
|
||||
" PARAMETER[\"Longitude of natural origin\",-117,\n"
|
||||
" ANGLEUNIT[\"degree\",0.0174532925199433],\n"
|
||||
" ID[\"EPSG\",8802]],\n"
|
||||
" PARAMETER[\"Scale factor at natural origin\",0.9996,\n"
|
||||
" SCALEUNIT[\"unity\",1],\n"
|
||||
" ID[\"EPSG\",8805]],\n"
|
||||
" PARAMETER[\"False easting\",500000,\n"
|
||||
" LENGTHUNIT[\"metre\",1],\n"
|
||||
" ID[\"EPSG\",8806]],\n"
|
||||
" PARAMETER[\"False northing\",0,\n"
|
||||
" LENGTHUNIT[\"metre\",1],\n"
|
||||
" ID[\"EPSG\",8807]],\n"
|
||||
" ID[\"EPSG\",16011]],\n"
|
||||
" CS[Cartesian,2],\n"
|
||||
" AXIS[\"(E)\",east,\n"
|
||||
" ORDER[1],\n"
|
||||
" LENGTHUNIT[\"metre\",1,\n"
|
||||
" ID[\"EPSG\",9001]]],\n"
|
||||
" AXIS[\"(N)\",north,\n"
|
||||
" ORDER[2],\n"
|
||||
" LENGTHUNIT[\"metre\",1,\n"
|
||||
" ID[\"EPSG\",9001]]],\n"
|
||||
" REMARK[\"Prefix. PROJ CRS string: +proj=utm +datum=NAD27 +zone=11 "
|
||||
"+over. Suffix\"]]";
|
||||
auto obj3 = WKTParser().createFromWKT(wkt3);
|
||||
auto crs3 = nn_dynamic_pointer_cast<ProjectedCRS>(obj3);
|
||||
ASSERT_TRUE(crs3 != nullptr);
|
||||
EXPECT_EQ(crs3->remarks(), "Prefix. PROJ CRS string: +proj=utm "
|
||||
"+datum=NAD27 +zone=11 +over. Suffix");
|
||||
EXPECT_EQ(crs3->exportToPROJString(PROJStringFormatter::create().get()),
|
||||
"+proj=utm +datum=NAD27 +zone=11 +over +type=crs");
|
||||
}
|
||||
|
||||
@@ -2123,6 +2123,47 @@ TEST(
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(operation, projCRS_to_geogCRS_crs_extent_use_none) {
|
||||
auto authFactory =
|
||||
AuthorityFactory::create(DatabaseContext::create(), "EPSG");
|
||||
{
|
||||
auto ctxt =
|
||||
CoordinateOperationContext::create(authFactory, nullptr, 0.0);
|
||||
auto list = CoordinateOperationFactory::create()->createOperations(
|
||||
authFactory->createCoordinateReferenceSystem("23031"), // ED50 UTM31
|
||||
authFactory->createCoordinateReferenceSystem("4326"), ctxt);
|
||||
bool found_EPSG_15964 = false;
|
||||
for (const auto &op : list) {
|
||||
if (op->nameStr().find("ED50 to WGS 84 (42)") !=
|
||||
std::string::npos) {
|
||||
found_EPSG_15964 = true;
|
||||
}
|
||||
}
|
||||
// not expected since doesn't intersect EPSG:23031 area of use
|
||||
EXPECT_FALSE(found_EPSG_15964);
|
||||
}
|
||||
{
|
||||
auto ctxt =
|
||||
CoordinateOperationContext::create(authFactory, nullptr, 0.0);
|
||||
// Ignore source and target CRS extent
|
||||
ctxt->setSourceAndTargetCRSExtentUse(
|
||||
CoordinateOperationContext::SourceTargetCRSExtentUse::NONE);
|
||||
auto list = CoordinateOperationFactory::create()->createOperations(
|
||||
authFactory->createCoordinateReferenceSystem("23031"), // ED50 UTM31
|
||||
authFactory->createCoordinateReferenceSystem("4326"), ctxt);
|
||||
bool found_EPSG_15964 = false;
|
||||
for (const auto &op : list) {
|
||||
if (op->nameStr().find("ED50 to WGS 84 (42)") !=
|
||||
std::string::npos) {
|
||||
found_EPSG_15964 = true;
|
||||
}
|
||||
}
|
||||
EXPECT_TRUE(found_EPSG_15964);
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(operation, projCRS_to_projCRS_north_pole_inverted_axis) {
|
||||
|
||||
auto authFactory =
|
||||
@@ -6067,6 +6108,30 @@ TEST(operation, createOperation_fallback_to_proj4_strings) {
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(operation, createOperation_fallback_to_proj4_strings_bound_of_geog) {
|
||||
auto objSrc = PROJStringParser().createFromPROJString(
|
||||
"+proj=longlat +geoc +ellps=GRS80 +towgs84=0,0,0 +type=crs");
|
||||
auto src = nn_dynamic_pointer_cast<BoundCRS>(objSrc);
|
||||
ASSERT_TRUE(src != nullptr);
|
||||
|
||||
auto objDest = PROJStringParser().createFromPROJString(
|
||||
"+proj=longlat +geoc +ellps=clrk66 +towgs84=0,0,0 +type=crs");
|
||||
auto dest = nn_dynamic_pointer_cast<BoundCRS>(objDest);
|
||||
ASSERT_TRUE(dest != nullptr);
|
||||
|
||||
auto op = CoordinateOperationFactory::create()->createOperation(
|
||||
NN_CHECK_ASSERT(src), NN_CHECK_ASSERT(dest));
|
||||
ASSERT_TRUE(op != nullptr);
|
||||
EXPECT_EQ(op->exportToPROJString(PROJStringFormatter::create().get()),
|
||||
"+proj=pipeline "
|
||||
"+step +proj=unitconvert +xy_in=deg +xy_out=rad "
|
||||
"+step +inv +proj=longlat +geoc +ellps=GRS80 +towgs84=0,0,0 "
|
||||
"+step +proj=longlat +geoc +ellps=clrk66 +towgs84=0,0,0 "
|
||||
"+step +proj=unitconvert +xy_in=rad +xy_out=deg");
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TEST(
|
||||
operation,
|
||||
createOperation_fallback_to_proj4_strings_regular_with_datum_to_projliteral) {
|
||||
|
||||
@@ -5,7 +5,7 @@ set -e
|
||||
echo "$TRAVIS_SECURE_ENV_VARS"
|
||||
./travis/build_docs.sh
|
||||
# Only build and publish docs when changes are made on most recent maintenance branch
|
||||
if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "8.0"; then
|
||||
if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "8.1"; then
|
||||
echo "publish website";
|
||||
./travis/add_deploy_key.sh;
|
||||
./travis/deploy_website.sh $TRAVIS_BUILD_DIR/docs/build /tmp;
|
||||
|
||||
Reference in New Issue
Block a user