Revision: 4916
http://sourceforge.net/p/jump-pilot/code/4916
Author: ma15569
Date: 2016-05-20 10:04:51 +0000 (Fri, 20 May 2016)
Log Message:
-----------
Add an improved version of Layer Properties plugin
Modified Paths:
--------------
core/trunk/ChangeLog
core/trunk/scripts/default-plugins.xml
core/trunk/src/language/jump.properties
core/trunk/src/language/jump_cz.properties
core/trunk/src/language/jump_de.properties
core/trunk/src/language/jump_es.properties
core/trunk/src/language/jump_fi.properties
core/trunk/src/language/jump_fr.properties
core/trunk/src/language/jump_hu.properties
core/trunk/src/language/jump_it.properties
core/trunk/src/language/jump_ja_JP.properties
core/trunk/src/language/jump_ml.properties
core/trunk/src/language/jump_pt.properties
core/trunk/src/language/jump_pt_BR.properties
core/trunk/src/language/jump_ta_IN.properties
core/trunk/src/language/jump_te.properties
core/trunk/src/language/jump_zh_CN.properties
core/trunk/src/language/jump_zh_HK.properties
Added Paths:
-----------
core/trunk/src/org/openjump/core/ccordsys/utils/
core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java
core/trunk/src/org/openjump/core/ccordsys/utils/srid.txt
core/trunk/src/org/openjump/core/ui/plugin/layer/NewLayerPropertiesPlugIn.java
Modified: core/trunk/ChangeLog
===================================================================
--- core/trunk/ChangeLog 2016-05-20 07:21:08 UTC (rev 4915)
+++ core/trunk/ChangeLog 2016-05-20 10:04:51 UTC (rev 4916)
@@ -3,6 +3,9 @@
# 2. make sure that lines break at 80 chars for constricted display situations
#<-------------------------------- 80 chars
---------------------------------->#
+2016-05-20 Giuseppe Aruta <[email protected]>
+ * Add an improved version of Layer Properties plugin
+
2016-05-20 mmichaud
* Rename LineSimplifyJTS15AlgorithmPlugIn to SimplifyWithJTSAlgorithm
Now works for every kind of geometry and always use PreserveTopology
version
Modified: core/trunk/scripts/default-plugins.xml
===================================================================
--- core/trunk/scripts/default-plugins.xml 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/scripts/default-plugins.xml 2016-05-20 10:04:51 UTC (rev
4916)
@@ -1209,10 +1209,17 @@
<menus>
<layername-popup install="true" />
</menus>
- </plug-in>
+ <!-- commented out original LayerPropertyPlugIn -->
+ <!-- </plug-in> -->
+ <!-- <plug-in> -->
+ <!-- org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn -->
+ <!-- </plug-in> -->
<plug-in>
- org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn
- </plug-in>
+ org.openjump.core.ui.plugin.layer.NewLayerPropertiesPlugIn
+ <menus>
+ <layername-popup install="true" />
+ </menus>
+ </plug-in>
<plug-in>
org.openjump.core.ui.plugin.datastore.RefreshDataStoreQueryPlugIn
</plug-in>
Modified: core/trunk/src/language/jump.properties
===================================================================
--- core/trunk/src/language/jump.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -808,6 +808,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL = URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service = Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource = Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined = User
defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized = Not
recognized
org.openjump.core.ui.plugin.layer.SortCategoryAbstractPlugIn.Sort-Selected-Categories
= Sort Selected Categories
org.openjump.core.ui.plugin.layer.SortCategoryByFeaturesPlugIn.By-Featues = By
Features
org.openjump.core.ui.plugin.layer.SortCategoryByFeaturesPlugIn.By-Least-Number-of-Features
= By Least Number of Features
Modified: core/trunk/src/language/jump_cz.properties
===================================================================
--- core/trunk/src/language/jump_cz.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_cz.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -2650,6 +2650,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_de.properties
===================================================================
--- core/trunk/src/language/jump_de.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_de.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -2660,6 +2660,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_es.properties
===================================================================
--- core/trunk/src/language/jump_es.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_es.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -2641,6 +2641,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =Servicio
Web
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource =Origen de
datos
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =Definido
per el usuario
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized =No
reconocido
ui.warp.WarpingPanel.transformation = Transformaccion
ui.warp.WarpingPanel.affine = Affina
ui.warp.WarpingPanel.perspective = Perspectiva
Modified: core/trunk/src/language/jump_fi.properties
===================================================================
--- core/trunk/src/language/jump_fi.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_fi.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -2637,6 +2637,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_fr.properties
===================================================================
--- core/trunk/src/language/jump_fr.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_fr.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -2667,6 +2667,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_hu.properties
===================================================================
--- core/trunk/src/language/jump_hu.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_hu.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -2660,6 +2660,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_it.properties
===================================================================
--- core/trunk/src/language/jump_it.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_it.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -755,6 +755,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =Servizio
Web
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource =Origine
dati
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =Definito
dall'Utente
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized =Non
riconosciuto
org.openjump.core.ui.plugin.layer.pirolraster.ChangeRasterImagePropertiesPlugIn.Change-Raster-Image-Properties=Cambia
propriet\u00e0 del livello raster
org.openjump.core.ui.plugin.layer.pirolraster.ChangeRasterImageStyleDialog.Change-RasterImage-Style-Dialog-intro-text=Con
i controlli di questo dialogo le propriet\u00e0 del raster possono essere
cambiate.
org.openjump.core.ui.plugin.layer.pirolraster.CopySelectedRasterImageLayersPlugIn.Copy-Selected-Raster-Image-Layers=Copia
livelli selezionati
Modified: core/trunk/src/language/jump_ja_JP.properties
===================================================================
--- core/trunk/src/language/jump_ja_JP.properties 2016-05-20 07:21:08 UTC
(rev 4915)
+++ core/trunk/src/language/jump_ja_JP.properties 2016-05-20 10:04:51 UTC
(rev 4916)
@@ -2662,6 +2662,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_ml.properties
===================================================================
--- core/trunk/src/language/jump_ml.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_ml.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -3933,6 +3933,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_pt.properties
===================================================================
--- core/trunk/src/language/jump_pt.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_pt.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -2658,6 +2658,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_pt_BR.properties
===================================================================
--- core/trunk/src/language/jump_pt_BR.properties 2016-05-20 07:21:08 UTC
(rev 4915)
+++ core/trunk/src/language/jump_pt_BR.properties 2016-05-20 10:04:51 UTC
(rev 4916)
@@ -2659,6 +2659,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_ta_IN.properties
===================================================================
--- core/trunk/src/language/jump_ta_IN.properties 2016-05-20 07:21:08 UTC
(rev 4915)
+++ core/trunk/src/language/jump_ta_IN.properties 2016-05-20 10:04:51 UTC
(rev 4916)
@@ -2661,6 +2661,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_te.properties
===================================================================
--- core/trunk/src/language/jump_te.properties 2016-05-20 07:21:08 UTC (rev
4915)
+++ core/trunk/src/language/jump_te.properties 2016-05-20 10:04:51 UTC (rev
4916)
@@ -3167,6 +3167,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_zh_CN.properties
===================================================================
--- core/trunk/src/language/jump_zh_CN.properties 2016-05-20 07:21:08 UTC
(rev 4915)
+++ core/trunk/src/language/jump_zh_CN.properties 2016-05-20 10:04:51 UTC
(rev 4916)
@@ -2822,6 +2822,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Modified: core/trunk/src/language/jump_zh_HK.properties
===================================================================
--- core/trunk/src/language/jump_zh_HK.properties 2016-05-20 07:21:08 UTC
(rev 4915)
+++ core/trunk/src/language/jump_zh_HK.properties 2016-05-20 10:04:51 UTC
(rev 4916)
@@ -2821,6 +2821,8 @@
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.URL =\#T\:URL
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Web_Service =\#T\:Web
Service
org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.DataSource
=\#T\:Datasource
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined =\#T\:
User defined
+org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized
=\#T\:Not recognized
ui.warp.WarpingPanel.transformation =\#T\:Transformation
ui.warp.WarpingPanel.affine =\#T\:Affine
ui.warp.WarpingPanel.perspective =\#T\:Perspective
Added: core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java
===================================================================
--- core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java
(rev 0)
+++ core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java
2016-05-20 10:04:51 UTC (rev 4916)
@@ -0,0 +1,690 @@
+package org.openjump.core.ccordsys.utils;
+
+import java.awt.Point;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Scanner;
+
+import javax.imageio.ImageIO;
+
+import org.apache.commons.imaging.formats.tiff.TiffField;
+import org.apache.commons.imaging.formats.tiff.TiffImageMetadata;
+import org.apache.commons.imaging.formats.tiff.TiffImageParser;
+import org.apache.commons.io.FilenameUtils;
+import org.openjump.core.rasterimage.GeoTiffConstants;
+
+import com.sun.media.jai.codec.FileSeekableStream;
+import com.sun.media.jai.codec.TIFFDirectory;
+import com.sun.media.jai.codec.TIFFField;
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.Envelope;
+import com.vividsolutions.jump.I18N;
+import com.vividsolutions.jump.workbench.Logger;
+
+public class ProjUtils {
+
+ private static final String PROJECTION_UNSPECIFIED = I18N
+
.get("org.openjump.core.ui.plugin.raster.RasterImageLayerPropertiesPlugIn.unknown_projection");
+ private static final String USER_DEFINED = I18N
+
.get("org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.User_defined");
+ private static final String NOT_RECOGNIZED = I18N
+
.get("org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.Not_recognized");
+
+ /*
+ * Giuseppe Aruta [23_3_2016] This class is used to recognize file
+ * projection. There are different methods A) a method to decode projection
+ * information from GeoTIFF metadata. B) a method to decode projection info
+ * from auxiliary files (.proj and .aux.xml).
+ * http://landsathandbook.gsfc.nasa.gov/pdfs/geotiff_spec.pdf
+ * http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/GeoTiff.html
+ * http://www.remotesensing.org/geotiff/spec/geotiff6.html
+ *
+ * the following datasets have been used to test this library: QGIS
+ * (http://qgis.org/downloads/data/) OSGEO data samples (
+ * http://download.osgeo.org/geotiff/samples/)
+ */
+
+ /**
+ * Test method - to get GeoTiff envelope in case of no srid def.
+ *
+ * @param fileSourcePath
+ * @return envelope
+ */
+ public static Envelope GeoTiffEnvelope(String fileSourcePath)
+ throws Exception {
+ BufferedImage image = ImageIO.read(new File(fileSourcePath));
+ Point imageDimensions = new Point(image.getWidth(), image.getHeight());
+ Envelope env = null;
+ Coordinate tiePoint = null, pixelOffset = null, pixelScale = null;
+ double[] doubles;
+ FileSeekableStream fileSeekableStream = new FileSeekableStream(
+ fileSourcePath);
+ TIFFDirectory tiffDirectory = new TIFFDirectory(fileSeekableStream, 0);
+
+ TIFFField[] availTags = tiffDirectory.getFields();
+
+ for (TIFFField availTag : availTags) {
+ if (availTag.getTag() == GeoTiffConstants.ModelTiepointTag) {
+ doubles = availTag.getAsDoubles();
+ if (doubles.length != 6) {
+ throw new Exception(
+ "unsupported value for ModelTiepointTag ("
+ + GeoTiffConstants.ModelTiepointTag + ")");
+ }
+ if (doubles[0] != 0 || doubles[1] != 0 || doubles[2] != 0) {
+ if (doubles[2] == 0)
+ pixelOffset = new Coordinate(doubles[0], doubles[1]);
+ else
+ pixelOffset = new Coordinate(doubles[0], doubles[1],
+ doubles[2]);
+ }
+ if (doubles[5] == 0)
+ tiePoint = new Coordinate(doubles[3], doubles[4]);
+ else
+ tiePoint = new Coordinate(doubles[3], doubles[4],
+ doubles[5]);
+
+ } else if (availTag.getTag() ==
GeoTiffConstants.ModelPixelScaleTag) {
+ // Karteneinheiten pro pixel x bzw. y
+ doubles = availTag.getAsDoubles();
+ if (doubles[2] == 0)
+ pixelScale = new Coordinate(doubles[0], doubles[1]);
+ else
+ pixelScale = new Coordinate(doubles[0], doubles[1],
+ doubles[2]);
+ } else {
+ }
+ }
+
+ fileSeekableStream.close();
+
+ if (tiePoint != null && pixelScale != null) {
+ Coordinate upperLeft;
+ Coordinate lowerRight;
+
+ if (pixelOffset == null) {
+ upperLeft = tiePoint;
+ } else {
+ upperLeft = new Coordinate(tiePoint.x
+ - (pixelOffset.x * pixelScale.x), tiePoint.y
+ - (pixelOffset.y * pixelScale.y));
+ }
+
+ lowerRight = new Coordinate(upperLeft.x
+ + (imageDimensions.x * pixelScale.x), upperLeft.y
+ - (imageDimensions.y * pixelScale.y));
+
+ env = new Envelope(upperLeft, lowerRight);
+ }
+ return env;
+ }
+
+ /**
+ * Test method to read the entire GeoKeyDirectoryTag, only used to study
+ * GeoKeyDirectoryTag structure
+ *
+ * @param fileSourcePath
+ * @return GeoKeyDirectoryTag
+ * @throws IOException
+ * @throws URISyntaxException
+ */
+ @SuppressWarnings("static-access")
+ public static String readGeoTiffGeoKeyDirectoryTag(String fileSourcePath)
+ throws IOException, URISyntaxException {
+ String prjname = "";
+ File tiffFile = new File(fileSourcePath);
+ try {
+ TiffImageParser parser = new TiffImageParser();
+ TiffImageMetadata metadata = (TiffImageMetadata) parser
+ .getMetadata(tiffFile);
+ if (metadata != null) {
+ List<TiffField> tiffFields = metadata.getAllFields();
+ GeoTiffConstants constants = new GeoTiffConstants();
+ for (TiffField tiffField : tiffFields) {
+ if (tiffField.getTag() == constants.GeoKeyDirectoryTag) {
+ String GeoDirTag = tiffField.getValueDescription();
+ prjname = GeoDirTag;
+ }
+ }
+ } else {
+ prjname = "GeoKeyDirectoryTagis empty";
+ }
+ } catch (Exception ex) {
+ prjname = PROJECTION_UNSPECIFIED;
+ }
+ return prjname;
+ }
+
+ /**
+ * - Read SRS from GeoTIFF tag - This method gets projection srid code and
+ * projection info from a geotiff file. It first scans GeoKeyDirectoryTag
to
+ * get either geographic/geocentric (2048 - GeographicTypeGeoKey),
projected
+ * (3072 - ProjectedCSTypeGeoKey) or vertical (4096 - VerticalCSTypeGeoKey)
+ * info. If no key ID is identified, it scans for GeoAsciiParamsTag
+ * projection definition. Last choice, it search for an auxiliary file
+ *
+ * @param fileSourcePath
+ * . eg. "c\documents\folder\image.tif"
+ * @return <String> projection srid code as string. eg "32632"
+ * @throws IOException
+ * @throws URISyntaxException
+ */
+ @SuppressWarnings("static-access")
+ public static String readSRSFromGeoTiffFile(String fileSourcePath)
+ throws IOException, URISyntaxException {
+ String GeoDirTag = "";
+ String GeoDirTag2 = "";
+ String prjname = "";
+ File tiffFile = new File(fileSourcePath);
+ try {
+ TiffImageParser parser = new TiffImageParser();
+ TiffImageMetadata metadata = (TiffImageMetadata) parser
+ .getMetadata(tiffFile);
+ if (metadata != null) {
+ List<TiffField> tiffFields = metadata.getAllFields();
+ GeoTiffConstants constants = new GeoTiffConstants();
+
+ String ID = "";
+ int start;
+ for (TiffField tiffField : tiffFields) {
+ if (tiffField.getTag() == constants.GeoKeyDirectoryTag) {
+ GeoDirTag = tiffField.getValueDescription();
+ }
+ if (tiffField.getTag() == constants.GeoAsciiParamsTag) {
+ GeoDirTag2 = tiffField.getStringValue().replaceAll(
+ "[\\t\\n\\r\\_\\|]", " ");
+ }
+ if (tiffField.getTag() == constants.ModelTiepointTag) {
+ }
+ }
+ if (GeoDirTag.contains("3072")) {
+ start = GeoDirTag.indexOf("3072");
+ ID = GeoDirTag.substring(start);
+ String[] parts = ID.split(",");
+ String part1 = parts[3];
+ if (!part1.contains("32767")) {
+ prjname = getSRSFromWkt(part1.replaceAll(" ", ""));
+ } else {
+ prjname = "SRID: " + USER_DEFINED + " - " + GeoDirTag2;
+ }
+ } else if (!GeoDirTag.contains("3072")
+ & GeoDirTag.contains("4096")) {
+ start = GeoDirTag.indexOf("4096");
+ ID = GeoDirTag.substring(start);
+ String[] parts = ID.split(",");
+ String part1 = parts[3];
+ if (!part1.contains("32767")) {
+ prjname = getSRSFromWkt(part1.replaceAll(" ", ""));
+ } else {
+ prjname = "SRID: " + USER_DEFINED + " - " + GeoDirTag2;
+ }
+ } else if (!GeoDirTag.contains("3072")
+ & !GeoDirTag.contains("4096")
+ & GeoDirTag.contains("2048")) {
+ start = GeoDirTag.indexOf("2048");
+ ID = GeoDirTag.substring(start);
+ String[] parts = ID.split(",");
+ String part1 = parts[3];
+ if (!part1.contains("32767")) {
+ prjname = getSRSFromWkt(part1.replaceAll(" ", ""));
+ } else {
+ prjname = "SRID: " + USER_DEFINED + " - " + GeoDirTag2;
+ }
+
+ } else if (!GeoDirTag.contains("4096")
+ & !GeoDirTag.contains("3072")
+ & !GeoDirTag.contains("2048")) {
+ if (!GeoDirTag2.isEmpty())
+ // It gets "0" which is a non defined projection
+ prjname = "SRID: " + NOT_RECOGNIZED + " - "
+ + GeoDirTag2;
+ else
+ prjname = readSRSFromAuxiliaryFile(fileSourcePath);
+
+ }
+ }
+
+ } catch (Exception ex) {
+ prjname = PROJECTION_UNSPECIFIED;
+ }
+ return prjname;
+ }
+
+ /**
+ * - Read SRS from auxiliary file - Method to get a SRS (SRID code + SRID
+ * definition) scanning the aux projection file (AUX.XML or PRJ file) for a
+ * search string (SRID code or SRID definition). It scans into the registry
+ * file (srid.txt) to find a correspondence between the search string and
+ * lines of the srid.txt. If the source string corresponds as substring to
a
+ * line, it returns the complete line as string. For instance, search
+ * strings like "NAD83 UTM zone 10N" or "26910" both return
+ * "SRID:26910 - NAD83 UTM zone 10N".
+ *
+ * @param auxiliary
+ * file path
+ * @return <String> SRID and Projection definition
+ * @throws URISyntaxException
+ * @throws IOException
+ */
+
+ public static String readSRSFromAuxiliaryFile(String fileSourcePath)
+ throws URISyntaxException, IOException {
+ InputStream is = ProjUtils.class.getResourceAsStream("srid.txt");
+ InputStreamReader isr = new InputStreamReader(is);
+ String projectSourceFilePrj = "";
+ String projectSourceRFilePrj = "";
+ String projectSourceRFileAux = "";
+ String textProj = "";
+ String prjname = "";
+ String SRSDef = PROJECTION_UNSPECIFIED;
+ Scanner scanner;
+ // --- it reads an auxiliary file and decode a possible proj
+ // --- definition to a simple string. Ex. "WGS 84 UTM Zone 32"
+ int pos = fileSourcePath.lastIndexOf('.');
+ // .shp, .dxf, .asc, .flt files
+ projectSourceFilePrj = fileSourcePath.substring(0, pos) + ".prj";
+ // image files
+ projectSourceRFilePrj = fileSourcePath + ".prj";
+ projectSourceRFileAux = fileSourcePath + ".aux.xml";
+ List<String> fileList = new ArrayList<String>();
+ fileList.add(projectSourceFilePrj);
+ fileList.add(projectSourceRFilePrj);
+ fileList.add(projectSourceRFileAux);
+
+ if (fileList.isEmpty())
+ SRSDef = PROJECTION_UNSPECIFIED;
+
+ String type = FilenameUtils.getExtension(fileSourcePath).toUpperCase();
+
+ if (type.equals("SHP") || type.equals("DXF") || type.equals("ASC")
+ || type.equals("FLT") || type.equals("ADF")
+ || type.equals("GRD") || type.equals("BIL")) {
+ if (new File(projectSourceFilePrj).exists()) {
+ scanner = new Scanner(new File(projectSourceFilePrj));
+ textProj = scanner.nextLine();
+ scanner.close();
+ prjname = decodeProjDescription(textProj);
+ } else {
+ SRSDef = PROJECTION_UNSPECIFIED;
+ }
+ }
+
+ else {
+ if ((new File(projectSourceRFileAux).exists())
+ & (new File(projectSourceRFilePrj).exists())) {
+ scanner = new Scanner(new File(projectSourceRFileAux));
+ textProj = scanner.useDelimiter("\\A").next();
+ // scanner.close();
+ if (textProj.contains("<WKT>") || textProj.contains("<SRS>")) {
+ prjname = decodeProjDescription(textProj);
+ } else {
+ scanner = new Scanner(new File(projectSourceRFilePrj));
+ textProj = scanner.nextLine();
+ scanner.close();
+ prjname = decodeProjDescription(textProj);
+ }
+ }
+ if ((new File(projectSourceRFileAux).exists())
+ & !(new File(projectSourceRFilePrj).exists())) {
+ scanner = new Scanner(new File(projectSourceRFileAux));
+ textProj = scanner.useDelimiter("\\A").next();
+ // scanner.close();
+ if (textProj.contains("<WKT>") || textProj.contains("<SRS>")) {
+ prjname = decodeProjDescription(textProj);
+ } else {
+ SRSDef = PROJECTION_UNSPECIFIED;
+ }
+ } else if (!(new File(projectSourceRFileAux).exists())
+ & (new File(projectSourceRFilePrj).exists())) {
+ scanner = new Scanner(new File(projectSourceRFilePrj));
+ textProj = scanner.nextLine();
+ // scanner.close();
+ prjname = decodeProjDescription(textProj);
+ }
+
+ else if (!(new File(projectSourceRFileAux).exists())
+ & (!new File(projectSourceRFilePrj).exists())) {
+ SRSDef = PROJECTION_UNSPECIFIED;
+
+ }
+ }
+ // --- it extracts from proj register file all the info related
+ // --- to the previous string (SRSDef). Ex.
+ // --- "EPSG:32632 - WGS 84 UTM zone 32"
+ if (!prjname.isEmpty()) {
+ scanner = new Scanner(isr);
+ try {
+ while (scanner.hasNextLine()) {
+ scanner.useDelimiter("\\n");
+ String line = scanner.nextLine();
+ String line2 = line.replaceAll("[\\t\\n\\r\\_]", "");
+ if (line2.toLowerCase().contains(
+ "<" + prjname.toLowerCase() + ">")) {
+ int start = line2.indexOf('<');
+ int end = line2.indexOf('>', start);
+ String def = line2.substring(start + 1, end);
+ int srid = Integer.parseInt(def);
+ if (srid < 32768 || srid > 5999999) {
+ // EPSG code between 0 and 32767
+ SRSDef = "EPSG:"
+ + line2.replaceAll("[<\\>]", " ")
+ .replaceAll(";", " - ");
+ // ESRI codes range
+ } else if (srid > 37000 & srid < 202003) {
+ SRSDef = "ESRI:"
+ + line2.replaceAll("[<\\>]", " ")
+ .replaceAll(";", " - ");
+ // Other no EPSG or ESRI codes
+ } else {
+ SRSDef = "SRID:"
+ + line2.replaceAll("[<\\>]", " ")
+ .replaceAll(";", " - ");
+ }
+ break;
+ } else {
+ // --- If no SRSDef is recognized into the register, it
+ // --- returns a proj string into a more readable text
+ SRSDef =
readableFormatWKTCode(getWktrojDefinition(textProj));
+ }
+ }
+ scanner.close();
+ } catch (Exception e) {
+ SRSDef = PROJECTION_UNSPECIFIED;
+ }
+ } else {
+ SRSDef = PROJECTION_UNSPECIFIED;
+ }
+ return SRSDef;
+ }
+
+ /**
+ * Method to show an OGC WKT string in a more readable style
+ *
+ * @param String
+ * OGC WKT from auxiliary proj file
+ * @return Readable string
+ */
+ public static String readableFormatWKTCode(String WKT) {
+ String HROGC = "";
+ // String add_spaces = String.format("%" + count_add++ + "s", "");
+ HROGC = WKT.replace(",GEOGCS", ",<br>" + "GEOCS")
+ .replace(",DATUM", ",<br>" + "DATUM")
+ .replace(",SPHEROID", ",<br>" + "SPEROID")
+ .replace("],", "],<br>");
+ return HROGC;
+
+ }
+
+ /**
+ * Decode a OGC string to get a unique SRS string definition. This method
is
+ * able to understand some WKT common aliases, like OGC WKT and ESRI
WKTode.
+ * For instance: "WGS 84 / UTM zone 32", "WGS 1984 UTM zone 32" and
+ * "WGS_84_UTM_Zone_32" are converted to the same string
+ * "WGS 84 UTM zone 32"
+ *
+ * @param textProj
+ * <String> - OGC/ESRI/other WKT code
+ * @return <String> - SRS definition
+ */
+ private static String decodeProjDescription(String textProj) {
+ int start = textProj.indexOf("[\"");
+ int end = textProj.indexOf("\",", start);
+ String prjname = "";
+ prjname = textProj.substring(start + 2, end);
+ // The following set of replacements allows to "harmonize" OGC, ESRI
and
+ // few other WKT projection definitions
+ prjname = prjname.replaceAll("_", " ").replace(" / ", " ")
+ .replaceAll("\\bft US\\b", "(ftUS)")
+ .replaceAll("\\bftUS\\b", "(ftUS)")
+ .replaceAll("\\bft\\b", "(ft)").replace("feet", "ft")
+ .replace("WGS 1984", "WGS 84")
+ .replace("NAD 1983 UTM", "NAD83 UTM").replace("HARN", "(HARN)")
+ .replace("\\bCSRS98\\b", "(CSRS98)").replace("CSRS", "(CSRS)")
+ .replace("\\bNSRS2007\\b", "(NSRS2007)")
+ .replace("\\bNAD27_76\\b", "NAD27(76)")
+ .replace("\\bCGQ77\\b", " (CGQ77)")
+ .replace("\\bED77\\b", "(ED77)")
+ .replace("\\b1942 83\\b", "1942(83)")
+ .replace("\\b1942 58\\b", "1942(58)")
+ .replace("\\bSegara Jakarta\\b", "Segara (Jakarta)")
+ .replace("\\bRome\\b", "(Rome)")
+ .replace("\\bParis\\b", "(Paris)")
+ .replace("\\bFerro\\b", "(Ferro)");
+
+ return prjname;
+ }
+
+ /**
+ * returns OGC WKT string located between projection tags (<WKT> or <SRS>)
+ * in a projection auxiliary file (AUX.XML)
+ *
+ * @param textProj
+ * string
+ * @return OGC WKT string
+ */
+ private static String getWktrojDefinition(String textProj) {
+ String prjname = "";
+ try {
+ if (textProj.contains("<WKT>")) {
+ int start = textProj.indexOf("<WKT>");
+ int end = textProj.indexOf("</WKT>", start);
+ prjname = textProj.substring(start, end);
+ } else if (textProj.contains("<SRS>")) {
+ int start = textProj.indexOf("<SRS>");
+ int end = textProj.indexOf("</SRS>", start);
+ prjname = textProj.substring(start, end);
+ } else
+ prjname = textProj;
+ } catch (Exception ex) {
+ prjname = textProj;
+ }
+ return prjname;
+ }
+
+ /**
+ * It returns the path name of the auxiliary file (AUX.XML or PRJ file)
+ * where a projection code is located
+ *
+ * @param auxiliary
+ * file path
+ * @return <String> path name of projection auxiliary file
+ * @throws IOException
+ */
+ public static String getAuxiliaryProjFilePath(String fileSourcePath)
+ throws IOException {
+ String projectSourceFilePrj = "";
+ String projectSourceRFilePrj = "";
+ String projectSourceRFileAux = "";
+ String textProj = "";
+ String filename = "";
+ Scanner scanner;
+ int pos = fileSourcePath.lastIndexOf('.');
+ projectSourceFilePrj = fileSourcePath.substring(0, pos) + ".prj";
+ projectSourceRFileAux = fileSourcePath + ".aux.xml";
+ projectSourceRFilePrj = fileSourcePath + ".prj";
+ String type = FilenameUtils.getExtension(fileSourcePath).toUpperCase();
+
+ if (type.equals("SHP") || type.equals("DXF") || type.equals("ASC")
+ || type.equals("FLT") || type.equals("ADF")
+ || type.equals("GRD") || type.equals("BIL")) {
+ if (new File(projectSourceFilePrj).exists()) {
+ filename = projectSourceFilePrj;
+ } else {
+ filename = "";
+ }
+ } else {
+
+ if ((new File(projectSourceRFileAux).exists())
+ & (new File(projectSourceRFilePrj).exists())) {
+ scanner = new Scanner(new File(projectSourceRFileAux));
+ textProj = scanner.useDelimiter("\\A").next();
+ scanner.close();
+ if (textProj.contains("<WKT>") || textProj.contains("<SRS>")) {
+ filename = projectSourceRFileAux;
+ } else {
+ filename = projectSourceRFilePrj;
+ }
+ } else if ((new File(projectSourceRFileAux).exists())
+ & !(new File(projectSourceRFilePrj).exists())) {
+ scanner = new Scanner(new File(projectSourceRFileAux));
+ textProj = scanner.useDelimiter("\\A").next();
+ scanner.close();
+ if (textProj.contains("<WKT>") || textProj.contains("<SRS>")) {
+ filename = projectSourceRFileAux;
+ } else {
+ filename = "";
+ }
+ } else if (!(new File(projectSourceRFileAux).exists())
+ & (new File(projectSourceRFilePrj).exists())) {
+ filename = projectSourceRFilePrj;
+ } else if (!(new File(projectSourceRFileAux).exists())
+ & !(new File(projectSourceRFilePrj).exists())) {
+ filename = "";
+ }
+ }
+ return filename;
+ }
+
+ /**
+ * Method to get a SRS (SRID code + SRID definition) using a search string.
+ * It scans into the srid list (srid.txt) to find a correspondence between
+ * the search string and lines of the srid.txt. If the source string
+ * corresponds as substring to a line, it returns the complete line as
+ * string.The code is biunivocal: it can use as searchQuerry either SRID
+ * code ("26910" or Project definition ("NAD83 UTM zone 10N"). For
instance,
+ * searche querries like "NAD83 UTM zone 10N" or "26910" both return
+ * "SRID:26910 - NAD83 UTM zone 10N".
+ *
+ * @param <String>
+ * searchQuery
+ * @return <String> SRID and Projection definition
+ * @throws URISyntaxException
+ * @throws IOException
+ */
+
+ public static String getSRSFromWkt(String searchQuery)
+ throws URISyntaxException, IOException {
+
+ InputStream is = ProjUtils.class.getResourceAsStream("srid.txt");
+ InputStreamReader isr = new InputStreamReader(is);
+ String SRSDef = "";
+ Scanner scanner = null;
+ try {
+ scanner = new Scanner(isr);
+ while (scanner.hasNextLine()) {
+ scanner.useDelimiter("\\n");
+ String line = scanner.nextLine();
+ String line2 = line.replaceAll("[\\t\\n\\r\\_]", "");
+ if (line2.toLowerCase().contains(
+ "<" + searchQuery.toLowerCase() + ">")) {
+ int start = line2.indexOf('<');
+ int end = line2.indexOf('>', start);
+ String def = line2.substring(start + 1, end);
+ int srid = Integer.parseInt(def);
+ if (srid < 37201) {
+ SRSDef = "EPSG:"
+ + line2.replaceAll("[<\\>]", " ").replaceAll(
+ ";", " - ");
+ } else {
+ SRSDef = "ESRI:"
+ + line2.replaceAll("[<\\>]", " ").replaceAll(
+ ";", " - ");
+ }
+ break;
+ } else {
+
+ SRSDef = searchQuery;
+ }
+ }
+ } finally {
+ try {
+ if (scanner != null)
+ scanner.close();
+ } catch (Exception e) {
+ System.err.println("Exception while closing scanner "
+ + e.toString());
+ }
+ }
+ return SRSDef;
+ }
+
+ /**
+ * Check if selected file is a GeoTIFF. This java code comes from Deegree
+ * project org.deegree.tools.raster.MergeRaster
+ * (https://github.com/camptocamp
+ * /secureOWS/blob/master/owsproxyserver/src/org
+ * /deegree/tools/raster/MergeRaster.java)
+ *
+ * @param fileSourcePath
+ * @return true
+ * @throws IOException
+ */
+
+ public static boolean isGeoTIFF(String fileSourcePath) throws IOException {
+ FileSeekableStream fileSeekableStream = new FileSeekableStream(
+ fileSourcePath);
+ TIFFDirectory tifDir = new TIFFDirectory(fileSeekableStream, 0);
+ // definition of a geotiff
+ if (tifDir.getField(GeoTiffConstants.ModelPixelScaleTag) == null
+ && tifDir.getField(GeoTiffConstants.ModelTransformationTag) ==
null
+ && tifDir.getField(GeoTiffConstants.ModelTiepointTag) == null
+ && tifDir.getField(GeoTiffConstants.GeoKeyDirectoryTag) == null
+ && tifDir.getField(GeoTiffConstants.GeoDoubleParamsTag) == null
+ && tifDir.getField(GeoTiffConstants.GeoAsciiParamsTag) ==
null) {
+ return false;
+ } else {
+ // is a geotiff and possibly might need to be treated as raw data
+ TIFFField bitsPerSample = tifDir.getField(258);
+ if (bitsPerSample != null) {
+ int samples = bitsPerSample.getAsInt(0);
+ if (samples == 16)
+ new Integer(16);
+ }
+ // check the EPSG number
+ TIFFField ff =
tifDir.getField(GeoTiffConstants.GeoKeyDirectoryTag);
+ if (ff == null) {
+ return false;
+ }
+ char[] ch = ff.getAsChars();
+ // resulting HashMap, containing the key and the array of values
+ HashMap<Integer, int[]> geoKeyDirectoryTag = new HashMap<Integer,
int[]>(
+ ff.getCount() / 4);
+ // array of values. size is 4-1.
+ int keydirversion, keyrevision, minorrevision, numberofkeys = -99;
+ for (int i = 0; i < ch.length; i = i + 4) {
+ int[] keys = new int[3];
+ keydirversion = ch[i];
+ keyrevision = ch[i + 1];
+ minorrevision = ch[i + 2];
+ numberofkeys = ch[i + 3];
+ keys[0] = keyrevision;
+ keys[1] = minorrevision;
+ keys[2] = numberofkeys;
+ geoKeyDirectoryTag.put(new Integer(keydirversion), keys);
+ }
+ int[] content = new int[3];
+ if (geoKeyDirectoryTag.containsKey(new Integer(
+ GeoTiffConstants.ModelTiepointTag))) {
+ content = (int[]) geoKeyDirectoryTag.get(new Integer(
+ GeoTiffConstants.ModelTiepointTag));
+ // TIFFTagLocation
+ if (content[0] == 0) {
+ // return Value_Offset key = content[2];
+ } else {
+ // TODO other TIFFTagLocation that GeoKeyDirectoryTag
+ }
+ } else {
+ Logger.warn("Can't check EPSG codes, make sure it is ok!");
+ }
+ return true;
+ }
+ }
+
+}
Property changes on:
core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: core/trunk/src/org/openjump/core/ccordsys/utils/srid.txt
===================================================================
--- core/trunk/src/org/openjump/core/ccordsys/utils/srid.txt
(rev 0)
+++ core/trunk/src/org/openjump/core/ccordsys/utils/srid.txt 2016-05-20
10:04:51 UTC (rev 4916)
@@ -0,0 +1,4494 @@
+#This is a list of SRID code available
+#It derives from GeoToolkit EPSG srid list with added extra ESRI codes
+#The srid codes are organized in the following way
+#<COORD_REF_SYS_CODE>;<COORD_REF_SYS_NAME>
+<2000>;<Anguilla 1957 British West Indies Grid>
+<2001>;<Antigua 1943 British West Indies Grid>
+<2002>;<Dominica 1945 British West Indies Grid>
+<2003>;<Grenada 1953 British West Indies Grid>
+<2004>;<Montserrat 1958 British West Indies Grid>
+<2005>;<St. Kitts 1955 British West Indies Grid>
+<2006>;<St. Lucia 1955 British West Indies Grid>
+<2007>;<St. Vincent 45 British West Indies Grid>
+<2008>;<NAD27(CGQ77) SCoPQ zone 2>
+<2009>;<NAD27(CGQ77) SCoPQ zone 3>
+<2010>;<NAD27(CGQ77) SCoPQ zone 4>
+<2011>;<NAD27(CGQ77) SCoPQ zone 5>
+<2012>;<NAD27(CGQ77) SCoPQ zone 6>
+<2013>;<NAD27(CGQ77) SCoPQ zone 7>
+<2014>;<NAD27(CGQ77) SCoPQ zone 8>
+<2015>;<NAD27(CGQ77) SCoPQ zone 9>
+<2016>;<NAD27(CGQ77) SCoPQ zone 10>
+<2017>;<NAD27(76) MTM zone 8>
+<2018>;<NAD27(76) MTM zone 9>
+<2019>;<NAD27(76) MTM zone 10>
+<2020>;<NAD27(76) MTM zone 11>
+<2021>;<NAD27(76) MTM zone 12>
+<2022>;<NAD27(76) MTM zone 13>
+<2023>;<NAD27(76) MTM zone 14>
+<2024>;<NAD27(76) MTM zone 15>
+<2025>;<NAD27(76) MTM zone 16>
+<2026>;<NAD27(76) MTM zone 17>
+<2027>;<NAD27(76) UTM zone 15N>
+<2028>;<NAD27(76) UTM zone 16N>
+<2029>;<NAD27(76) UTM zone 17N>
+<2030>;<NAD27(76) UTM zone 18N>
+<2031>;<NAD27(CGQ77) UTM zone 17N>
+<2032>;<NAD27(CGQ77) UTM zone 18N>
+<2033>;<NAD27(CGQ77) UTM zone 19N>
+<2034>;<NAD27(CGQ77) UTM zone 20N>
+<2035>;<NAD27(CGQ77) UTM zone 21N>
+<2036>;<NAD83(CSRS98) New Brunswick Stereo (deprecated)>
+<2037>;<NAD83(CSRS98) UTM zone 19N (deprecated)>
+<2038>;<NAD83(CSRS98) UTM zone 20N (deprecated)>
+<2039>;<Israel Israeli TM Grid>
+<2040>;<Locodjo 1965 UTM zone 30N>
+<2041>;<Abidjan 1987 UTM zone 30N>
+<2042>;<Locodjo 1965 UTM zone 29N>
+<2043>;<Abidjan 1987 UTM zone 29N>
+<2044>;<Hanoi 1972 Gauss Kruger zone 18>
+<2045>;<Hanoi 1972 Gauss Kruger zone 19>
+<2046>;<Hartebeesthoek94 Lo15>
+<2047>;<Hartebeesthoek94 Lo17>
+<2048>;<Hartebeesthoek94 Lo19>
+<2049>;<Hartebeesthoek94 Lo21>
+<2050>;<Hartebeesthoek94 Lo23>
+<2051>;<Hartebeesthoek94 Lo25>
+<2052>;<Hartebeesthoek94 Lo27>
+<2053>;<Hartebeesthoek94 Lo29>
+<2054>;<Hartebeesthoek94 Lo31>
+<2055>;<Hartebeesthoek94 Lo33>
+<2056>;<CH1903+ LV95>
+<2057>;<Rassadiran Nakhl e Taqi>
+<2058>;<ED50(ED77) UTM zone 38N>
+<2059>;<ED50(ED77) UTM zone 39N>
+<2060>;<ED50(ED77) UTM zone 40N>
+<2061>;<ED50(ED77) UTM zone 41N>
+<2062>;<Madrid 1870 (Madrid) Spain>
+<2063>;<Dabola 1981 UTM zone 28N (deprecated)>
+<2064>;<Dabola 1981 UTM zone 29N (deprecated)>
+<2065>;<S JTSK (Ferro) Krovak>
+<2066>;<Mount Dillon Tobago Grid>
+<2067>;<Naparima 1955 UTM zone 20N>
+<2068>;<ELD79 Libya zone 5>
+<2069>;<ELD79 Libya zone 6>
+<2070>;<ELD79 Libya zone 7>
+<2071>;<ELD79 Libya zone 8>
+<2072>;<ELD79 Libya zone 9>
+<2073>;<ELD79 Libya zone 10>
+<2074>;<ELD79 Libya zone 11>
+<2075>;<ELD79 Libya zone 12>
+<2076>;<ELD79 Libya zone 13>
+<2077>;<ELD79 UTM zone 32N>
+<2078>;<ELD79 UTM zone 33N>
+<2079>;<ELD79 UTM zone 34N>
+<2080>;<ELD79 UTM zone 35N>
+<2081>;<Chos Malal 1914 Argentina zone 2>
+<2082>;<Pampa del Castillo Argentina zone 2>
+<2083>;<Hito XVIII 1963 Argentina zone 2>
+<2084>;<Hito XVIII 1963 UTM zone 19S>
+<2085>;<NAD27 Cuba Norte (deprecated)>
+<2086>;<NAD27 Cuba Sur (deprecated)>
+<2087>;<ELD79 TM 12 NE>
+<2088>;<Carthage TM 11 NE>
+<2089>;<Yemen NGN96 UTM zone 38N>
+<2090>;<Yemen NGN96 UTM zone 39N>
+<2091>;<South Yemen Gauss Kruger zone 8 (deprecated)>
+<2092>;<South Yemen Gauss Kruger zone 9 (deprecated)>
+<2093>;<Hanoi 1972 GK 106 NE>
+<2094>;<WGS 72BE TM 106 NE>
+<2095>;<Bissau UTM zone 28N>
+<2096>;<Korean 1985 Korea East Belt>
+<2097>;<Korean 1985 Korea Central Belt>
+<2098>;<Korean 1985 Korea West Belt>
+<2099>;<Qatar 1948 Qatar Grid>
+<2100>;<GGRS87 Greek Grid>
+<2101>;<Lake Maracaibo Grid M1>
+<2102>;<Lake Maracaibo Grid>
+<2103>;<Lake Maracaibo Grid M3>
+<2104>;<Lake Maracaibo La Rosa Grid>
+<2105>;<NZGD2000 Mount Eden 2000>
+<2106>;<NZGD2000 Bay of Plenty 2000>
+<2107>;<NZGD2000 Poverty Bay 2000>
+<2108>;<NZGD2000 Hawkes Bay 2000>
+<2109>;<NZGD2000 Taranaki 2000>
+<2110>;<NZGD2000 Tuhirangi 2000>
+<2111>;<NZGD2000 Wanganui 2000>
+<2112>;<NZGD2000 Wairarapa 2000>
+<2113>;<NZGD2000 Wellington 2000>
+<2114>;<NZGD2000 Collingwood 2000>
+<2115>;<NZGD2000 Nelson 2000>
+<2116>;<NZGD2000 Karamea 2000>
+<2117>;<NZGD2000 Buller 2000>
+<2118>;<NZGD2000 Grey 2000>
+<2119>;<NZGD2000 Amuri 2000>
+<2120>;<NZGD2000 Marlborough 2000>
+<2121>;<NZGD2000 Hokitika 2000>
+<2122>;<NZGD2000 Okarito 2000>
+<2123>;<NZGD2000 Jacksons Bay 2000>
+<2124>;<NZGD2000 Mount Pleasant 2000>
+<2125>;<NZGD2000 Gawler 2000>
+<2126>;<NZGD2000 Timaru 2000>
+<2127>;<NZGD2000 Lindis Peak 2000>
+<2128>;<NZGD2000 Mount Nicholas 2000>
+<2129>;<NZGD2000 Mount York 2000>
+<2130>;<NZGD2000 Observation Point 2000>
+<2131>;<NZGD2000 North Taieri 2000>
+<2132>;<NZGD2000 Bluff 2000>
+<2133>;<NZGD2000 UTM zone 58S>
+<2134>;<NZGD2000 UTM zone 59S>
+<2135>;<NZGD2000 UTM zone 60S>
+<2136>;<Accra Ghana National Grid>
+<2137>;<Accra TM 1 NW>
+<2138>;<NAD27(CGQ77) Quebec Lambert>
+<2139>;<NAD83(CSRS98) SCoPQ zone 2 (deprecated)>
+<2140>;<NAD83(CSRS98) MTM zone 3 (deprecated)>
+<2141>;<NAD83(CSRS98) MTM zone 4 (deprecated)>
+<2142>;<NAD83(CSRS98) MTM zone 5 (deprecated)>
+<2143>;<NAD83(CSRS98) MTM zone 6 (deprecated)>
+<2144>;<NAD83(CSRS98) MTM zone 7 (deprecated)>
+<2145>;<NAD83(CSRS98) MTM zone 8 (deprecated)>
+<2146>;<NAD83(CSRS98) MTM zone 9 (deprecated)>
+<2147>;<NAD83(CSRS98) MTM zone 10 (deprecated)>
+<2148>;<NAD83(CSRS98) UTM zone 21N (deprecated)>
+<2149>;<NAD83(CSRS98) UTM zone 18N (deprecated)>
+<2150>;<NAD83(CSRS98) UTM zone 17N (deprecated)>
+<2151>;<NAD83(CSRS98) UTM zone 13N (deprecated)>
+<2152>;<NAD83(CSRS98) UTM zone 12N (deprecated)>
+<2153>;<NAD83(CSRS98) UTM zone 11N (deprecated)>
+<2154>;<RGF93 Lambert 93>
+<2155>;<American Samoa 1962 American Samoa Lambert (deprecated)>
+<2156>;<NAD83(HARN) UTM zone 59S (deprecated)>
+<2157>;<IRENET95 Irish Transverse Mercator>
+<2158>;<IRENET95 UTM zone 29N>
+<2159>;<Sierra Leone 1924 New Colony Grid>
+<2160>;<Sierra Leone 1924 New War Office Grid>
+<2161>;<Sierra Leone 1968 UTM zone 28N>
+<2162>;<Sierra Leone 1968 UTM zone 29N>
+<2163>;<US National Atlas Equal Area>
+<2164>;<Locodjo 1965 TM 5 NW>
+<2165>;<Abidjan 1987 TM 5 NW>
+<2166>;<Pulkovo 1942(83) Gauss Kruger zone 3 (deprecated)>
+<2167>;<Pulkovo 1942(83) Gauss Kruger zone 4 (deprecated)>
+<2168>;<Pulkovo 1942(83) Gauss Kruger zone 5 (deprecated)>
+<2169>;<Luxembourg 1930 Gauss>
+<2170>;<MGI Slovenia Grid (deprecated)>
+<2171>;<Pulkovo 1942(58) Poland zone I (deprecated)>
+<2172>;<Pulkovo 1942(58) Poland zone II>
+<2173>;<Pulkovo 1942(58) Poland zone III>
+<2174>;<Pulkovo 1942(58) Poland zone IV>
+<2175>;<Pulkovo 1942(58) Poland zone V>
+<2176>;<ETRS89 Poland CS2000 zone 5>
+<2177>;<ETRS89 Poland CS2000 zone 6>
+<2178>;<ETRS89 Poland CS2000 zone 7>
+<2179>;<ETRS89 Poland CS2000 zone 8>
+<2180>;<ETRS89 Poland CS92>
+<2188>;<Azores Occidental 1939 UTM zone 25N>
+<2189>;<Azores Central 1948 UTM zone 26N>
+<2190>;<Azores Oriental 1940 UTM zone 26N>
+<2191>;<Madeira 1936 UTM zone 28N (deprecated)>
+<2192>;<ED50 France EuroLambert>
+<2193>;<NZGD2000 New Zealand Transverse Mercator 2000>
+<2194>;<American Samoa 1962 American Samoa Lambert (deprecated)>
+<2195>;<NAD83(HARN) UTM zone 2S>
+<2196>;<ETRS89 Kp2000 Jutland>
+<2197>;<ETRS89 Kp2000 Zealand>
+<2198>;<ETRS89 Kp2000 Bornholm>
+<2199>;<Albanian 1987 Gauss Kruger zone 4 (deprecated)>
+<2200>;<ATS77 New Brunswick Stereographic (ATS77)>
+<2201>;<REGVEN UTM zone 18N>
+<2202>;<REGVEN UTM zone 19N>
+<2203>;<REGVEN UTM zone 20N>
+<2204>;<NAD27 Tennessee>
+<2205>;<NAD83 Kentucky North>
+<2206>;<ED50 3 degree Gauss Kruger zone 9>
+<2207>;<ED50 3 degree Gauss Kruger zone 10>
+<2208>;<ED50 3 degree Gauss Kruger zone 11>
+<2209>;<ED50 3 degree Gauss Kruger zone 12>
+<2210>;<ED50 3 degree Gauss Kruger zone 13>
+<2211>;<ED50 3 degree Gauss Kruger zone 14>
+<2212>;<ED50 3 degree Gauss Kruger zone 15>
+<2213>;<ETRS89 TM 30 NE>
+<2214>;<Douala 1948 AOF west (deprecated)>
+<2215>;<Manoca 1962 UTM zone 32N>
+<2216>;<Qornoq 1927 UTM zone 22N>
+<2217>;<Qornoq 1927 UTM zone 23N>
+<2218>;<Scoresbysund 1952 Greenland zone 5 east>
+<2219>;<ATS77 UTM zone 19N>
+<2220>;<ATS77 UTM zone 20N>
+<2221>;<Scoresbysund 1952 Greenland zone 6 east>
+<2222>;<NAD83 Arizona East (ft)>
+<2223>;<NAD83 Arizona Central (ft)>
+<2224>;<NAD83 Arizona West (ft)>
+<2225>;<NAD83 California zone 1 (ftUS)>
+<2226>;<NAD83 California zone 2 (ftUS)>
+<2227>;<NAD83 California zone 3 (ftUS)>
+<2228>;<NAD83 California zone 4 (ftUS)>
+<2229>;<NAD83 California zone 5 (ftUS)>
+<2230>;<NAD83 California zone 6 (ftUS)>
+<2231>;<NAD83 Colorado North (ftUS)>
+<2232>;<NAD83 Colorado Central (ftUS)>
+<2233>;<NAD83 Colorado South (ftUS)>
+<2234>;<NAD83 Connecticut (ftUS)>
+<2235>;<NAD83 Delaware (ftUS)>
+<2236>;<NAD83 Florida East (ftUS)>
+<2237>;<NAD83 Florida West (ftUS)>
+<2238>;<NAD83 Florida North (ftUS)>
+<2239>;<NAD83 Georgia East (ftUS)>
+<2240>;<NAD83 Georgia West (ftUS)>
+<2241>;<NAD83 Idaho East (ftUS)>
+<2242>;<NAD83 Idaho Central (ftUS)>
+<2243>;<NAD83 Idaho West (ftUS)>
+<2244>;<NAD83 Indiana East (ftUS) (deprecated)>
+<2245>;<NAD83 Indiana West (ftUS) (deprecated)>
+<2246>;<NAD83 Kentucky North (ftUS)>
+<2247>;<NAD83 Kentucky South (ftUS)>
+<2248>;<NAD83 Maryland (ftUS)>
+<2249>;<NAD83 Massachusetts Mainland (ftUS)>
+<2250>;<NAD83 Massachusetts Island (ftUS)>
+<2251>;<NAD83 Michigan North (ft)>
+<2252>;<NAD83 Michigan Central (ft)>
+<2253>;<NAD83 Michigan South (ft)>
+<2254>;<NAD83 Mississippi East (ftUS)>
+<2255>;<NAD83 Mississippi West (ftUS)>
+<2256>;<NAD83 Montana (ft)>
+<2257>;<NAD83 New Mexico East (ftUS)>
+<2258>;<NAD83 New Mexico Central (ftUS)>
+<2259>;<NAD83 New Mexico West (ftUS)>
+<2260>;<NAD83 New York East (ftUS)>
+<2261>;<NAD83 New York Central (ftUS)>
+<2262>;<NAD83 New York West (ftUS)>
+<2263>;<NAD83 New York Long Island (ftUS)>
+<2264>;<NAD83 North Carolina (ftUS)>
+<2265>;<NAD83 North Dakota North (ft)>
+<2266>;<NAD83 North Dakota South (ft)>
+<2267>;<NAD83 Oklahoma North (ftUS)>
+<2268>;<NAD83 Oklahoma South (ftUS)>
+<2269>;<NAD83 Oregon North (ft)>
+<2270>;<NAD83 Oregon South (ft)>
+<2271>;<NAD83 Pennsylvania North (ftUS)>
+<2272>;<NAD83 Pennsylvania South (ftUS)>
+<2273>;<NAD83 South Carolina (ft)>
+<2274>;<NAD83 Tennessee (ftUS)>
+<2275>;<NAD83 Texas North (ftUS)>
+<2276>;<NAD83 Texas North Central (ftUS)>
+<2277>;<NAD83 Texas Central (ftUS)>
+<2278>;<NAD83 Texas South Central (ftUS)>
+<2279>;<NAD83 Texas South (ftUS)>
+<2280>;<NAD83 Utah North (ft)>
+<2281>;<NAD83 Utah Central (ft)>
+<2282>;<NAD83 Utah South (ft)>
+<2283>;<NAD83 Virginia North (ftUS)>
+<2284>;<NAD83 Virginia South (ftUS)>
+<2285>;<NAD83 Washington North (ftUS)>
+<2286>;<NAD83 Washington South (ftUS)>
+<2287>;<NAD83 Wisconsin North (ftUS)>
+<2288>;<NAD83 Wisconsin Central (ftUS)>
+<2289>;<NAD83 Wisconsin South (ftUS)>
+<2290>;<ATS77 Prince Edward Isl. Stereographic (ATS77)>
+<2291>;<NAD83(CSRS98) Prince Edward Isl. Stereographic (NAD83) (deprecated)>
+<2292>;<NAD83(CSRS98) Prince Edward Isl. Stereographic (NAD83) (deprecated)>
+<2294>;<ATS77 MTM Nova Scotia zone 4>
+<2295>;<ATS77 MTM Nova Scotia zone 5>
+<2295>;<Ammassalik 1958 Greenland zone 7 east>
+<2297>;<Qornoq 1927 Greenland zone 1 east (deprecated)>
+<2298>;<Qornoq 1927 Greenland zone 2 east (deprecated)>
+<2299>;<Qornoq 1927 Greenland zone 2 west>
+<2300>;<Qornoq 1927 Greenland zone 3 east (deprecated)>
+<2301>;<Qornoq 1927 Greenland zone 3 west>
+<2302>;<Qornoq 1927 Greenland zone 4 east (deprecated)>
+<2303>;<Qornoq 1927 Greenland zone 4 west>
+<2304>;<Qornoq 1927 Greenland zone 5 west>
+<2305>;<Qornoq 1927 Greenland zone 6 west>
+<2306>;<Qornoq 1927 Greenland zone 7 west>
+<2307>;<Qornoq 1927 Greenland zone 8 east>
+<2308>;<Batavia TM 109 SE>
+<2309>;<WGS 84 TM 116 SE>
+<2310>;<WGS 84 TM 132 SE>
+<2311>;<WGS 84 TM 6 NE>
+<2312>;<Garoua UTM zone 33N>
+<2313>;<Kousseri UTM zone 33N>
+<2314>;<Trinidad 1903 Trinidad Grid (ftCla)>
+<2315>;<Campo Inchauspe UTM zone 19S>
+<2316>;<Campo Inchauspe UTM zone 20S>
+<2317>;<PSAD56 ICN Regional>
+<2318>;<Ain el Abd Aramco Lambert>
+<2319>;<ED50 TM27>
+<2320>;<ED50 TM30>
+<2321>;<ED50 TM33>
+<2322>;<ED50 TM36>
+<2323>;<ED50 TM39>
+<2324>;<ED50 TM42>
+<2325>;<ED50 TM45>
+<2326>;<Hong Kong 1980 Grid System>
+<2327>;<Xian 1980 Gauss Kruger zone 13>
+<2328>;<Xian 1980 Gauss Kruger zone 14>
+<2329>;<Xian 1980 Gauss Kruger zone 15>
+<2330>;<Xian 1980 Gauss Kruger zone 16>
+<2331>;<Xian 1980 Gauss Kruger zone 17>
+<2332>;<Xian 1980 Gauss Kruger zone 18>
+<2333>;<Xian 1980 Gauss Kruger zone 19>
+<2334>;<Xian 1980 Gauss Kruger zone 20>
+<2335>;<Xian 1980 Gauss Kruger zone 21>
+<2336>;<Xian 1980 Gauss Kruger zone 22>
+<2337>;<Xian 1980 Gauss Kruger zone 23>
+<2338>;<Xian 1980 Gauss Kruger CM 75E>
+<2339>;<Xian 1980 Gauss Kruger CM 81E>
+<2340>;<Xian 1980 Gauss Kruger CM 87E>
+<2341>;<Xian 1980 Gauss Kruger CM 93E>
+<2342>;<Xian 1980 Gauss Kruger CM 99E>
+<2343>;<Xian 1980 Gauss Kruger CM 105E>
+<2344>;<Xian 1980 Gauss Kruger CM 111E>
+<2345>;<Xian 1980 Gauss Kruger CM 117E>
+<2346>;<Xian 1980 Gauss Kruger CM 123E>
+<2347>;<Xian 1980 Gauss Kruger CM 129E>
+<2348>;<Xian 1980 Gauss Kruger CM 135E>
+<2349>;<Xian 1980 3 degree Gauss Kruger zone 25>
+<2350>;<Xian 1980 3 degree Gauss Kruger zone 26>
+<2351>;<Xian 1980 3 degree Gauss Kruger zone 27>
+<2352>;<Xian 1980 3 degree Gauss Kruger zone 28>
+<2353>;<Xian 1980 3 degree Gauss Kruger zone 29>
+<2354>;<Xian 1980 3 degree Gauss Kruger zone 30>
+<2355>;<Xian 1980 3 degree Gauss Kruger zone 31>
+<2356>;<Xian 1980 3 degree Gauss Kruger zone 32>
+<2357>;<Xian 1980 3 degree Gauss Kruger zone 33>
+<2358>;<Xian 1980 3 degree Gauss Kruger zone 34>
+<2359>;<Xian 1980 3 degree Gauss Kruger zone 35>
+<2360>;<Xian 1980 3 degree Gauss Kruger zone 36>
+<2361>;<Xian 1980 3 degree Gauss Kruger zone 37>
+<2362>;<Xian 1980 3 degree Gauss Kruger zone 38>
+<2363>;<Xian 1980 3 degree Gauss Kruger zone 39>
+<2364>;<Xian 1980 3 degree Gauss Kruger zone 40>
+<2365>;<Xian 1980 3 degree Gauss Kruger zone 41>
+<2366>;<Xian 1980 3 degree Gauss Kruger zone 42>
+<2367>;<Xian 1980 3 degree Gauss Kruger zone 43>
+<2368>;<Xian 1980 3 degree Gauss Kruger zone 44>
+<2369>;<Xian 1980 3 degree Gauss Kruger zone 45>
+<2370>;<Xian 1980 3 degree Gauss Kruger CM 75E>
+<2371>;<Xian 1980 3 degree Gauss Kruger CM 78E>
+<2372>;<Xian 1980 3 degree Gauss Kruger CM 81E>
+<2373>;<Xian 1980 3 degree Gauss Kruger CM 84E>
+<2374>;<Xian 1980 3 degree Gauss Kruger CM 87E>
+<2375>;<Xian 1980 3 degree Gauss Kruger CM 90E>
+<2376>;<Xian 1980 3 degree Gauss Kruger CM 93E>
+<2377>;<Xian 1980 3 degree Gauss Kruger CM 96E>
+<2378>;<Xian 1980 3 degree Gauss Kruger CM 99E>
+<2379>;<Xian 1980 3 degree Gauss Kruger CM 102E>
+<2380>;<Xian 1980 3 degree Gauss Kruger CM 105E>
+<2381>;<Xian 1980 3 degree Gauss Kruger CM 108E>
+<2382>;<Xian 1980 3 degree Gauss Kruger CM 111E>
+<2383>;<Xian 1980 3 degree Gauss Kruger CM 114E>
+<2384>;<Xian 1980 3 degree Gauss Kruger CM 117E>
+<2385>;<Xian 1980 3 degree Gauss Kruger CM 120E>
+<2386>;<Xian 1980 3 degree Gauss Kruger CM 123E>
+<2387>;<Xian 1980 3 degree Gauss Kruger CM 126E>
+<2388>;<Xian 1980 3 degree Gauss Kruger CM 129E>
+<2389>;<Xian 1980 3 degree Gauss Kruger CM 132E>
+<2390>;<Xian 1980 3 degree Gauss Kruger CM 135E>
+<2391>;<KKJ Finland zone 1>
+<2392>;<KKJ Finland zone 2>
+<2393>;<KKJ Finland Uniform Coordinate System>
+<2394>;<KKJ Finland zone 4>
+<2395>;<South Yemen Gauss Kruger zone 8>
+<2396>;<South Yemen Gauss Kruger zone 9>
+<2397>;<Pulkovo 1942(83) 3 degree Gauss Kruger zone 3>
+<2398>;<Pulkovo 1942(83) 3 degree Gauss Kruger zone 4>
+<2399>;<Pulkovo 1942(83) 3 degree Gauss Kruger zone 5>
+<2400>;<RT90 2.5 gon W (deprecated)>
+<2401>;<Beijing 1954 3 degree Gauss Kruger zone 25>
+<2402>;<Beijing 1954 3 degree Gauss Kruger zone 26>
+<2403>;<Beijing 1954 3 degree Gauss Kruger zone 27>
+<2404>;<Beijing 1954 3 degree Gauss Kruger zone 28>
+<2405>;<Beijing 1954 3 degree Gauss Kruger zone 29>
+<2406>;<Beijing 1954 3 degree Gauss Kruger zone 30>
+<2407>;<Beijing 1954 3 degree Gauss Kruger zone 31>
+<2408>;<Beijing 1954 3 degree Gauss Kruger zone 32>
+<2409>;<Beijing 1954 3 degree Gauss Kruger zone 33>
+<2410>;<Beijing 1954 3 degree Gauss Kruger zone 34>
+<2411>;<Beijing 1954 3 degree Gauss Kruger zone 35>
+<2412>;<Beijing 1954 3 degree Gauss Kruger zone 36>
+<2413>;<Beijing 1954 3 degree Gauss Kruger zone 37>
+<2414>;<Beijing 1954 3 degree Gauss Kruger zone 38>
+<2415>;<Beijing 1954 3 degree Gauss Kruger zone 39>
+<2416>;<Beijing 1954 3 degree Gauss Kruger zone 40>
+<2417>;<Beijing 1954 3 degree Gauss Kruger zone 41>
+<2418>;<Beijing 1954 3 degree Gauss Kruger zone 42>
+<2419>;<Beijing 1954 3 degree Gauss Kruger zone 43>
+<2420>;<Beijing 1954 3 degree Gauss Kruger zone 44>
+<2421>;<Beijing 1954 3 degree Gauss Kruger zone 45>
+<2422>;<Beijing 1954 3 degree Gauss Kruger CM 75E>
+<2423>;<Beijing 1954 3 degree Gauss Kruger CM 78E>
+<2424>;<Beijing 1954 3 degree Gauss Kruger CM 81E>
+<2425>;<Beijing 1954 3 degree Gauss Kruger CM 84E>
+<2426>;<Beijing 1954 3 degree Gauss Kruger CM 87E>
+<2427>;<Beijing 1954 3 degree Gauss Kruger CM 90E>
+<2428>;<Beijing 1954 3 degree Gauss Kruger CM 93E>
+<2429>;<Beijing 1954 3 degree Gauss Kruger CM 96E>
+<2430>;<Beijing 1954 3 degree Gauss Kruger CM 99E>
+<2431>;<Beijing 1954 3 degree Gauss Kruger CM 102E>
+<2432>;<Beijing 1954 3 degree Gauss Kruger CM 105E>
+<2433>;<Beijing 1954 3 degree Gauss Kruger CM 108E>
+<2434>;<Beijing 1954 3 degree Gauss Kruger CM 111E>
+<2435>;<Beijing 1954 3 degree Gauss Kruger CM 114E>
+<2436>;<Beijing 1954 3 degree Gauss Kruger CM 117E>
+<2437>;<Beijing 1954 3 degree Gauss Kruger CM 120E>
+<2438>;<Beijing 1954 3 degree Gauss Kruger CM 123E>
+<2439>;<Beijing 1954 3 degree Gauss Kruger CM 126E>
+<2440>;<Beijing 1954 3 degree Gauss Kruger CM 129E>
+<2441>;<Beijing 1954 3 degree Gauss Kruger CM 132E>
+<2442>;<Beijing 1954 3 degree Gauss Kruger CM 135E>
+<2443>;<JGD2000 Japan Plane Rectangular CS I>
+<2444>;<JGD2000 Japan Plane Rectangular CS II>
+<2445>;<JGD2000 Japan Plane Rectangular CS III>
+<2446>;<JGD2000 Japan Plane Rectangular CS IV>
+<2447>;<JGD2000 Japan Plane Rectangular CS V>
+<2448>;<JGD2000 Japan Plane Rectangular CS VI>
+<2449>;<JGD2000 Japan Plane Rectangular CS VII>
+<2450>;<JGD2000 Japan Plane Rectangular CS VIII>
+<2451>;<JGD2000 Japan Plane Rectangular CS IX>
+<2452>;<JGD2000 Japan Plane Rectangular CS X>
+<2453>;<JGD2000 Japan Plane Rectangular CS XI>
+<2454>;<JGD2000 Japan Plane Rectangular CS XII>
+<2455>;<JGD2000 Japan Plane Rectangular CS XIII>
+<2456>;<JGD2000 Japan Plane Rectangular CS XIV>
+<2457>;<JGD2000 Japan Plane Rectangular CS XV>
+<2458>;<JGD2000 Japan Plane Rectangular CS XVI>
+<2459>;<JGD2000 Japan Plane Rectangular CS XVII>
+<2460>;<JGD2000 Japan Plane Rectangular CS XVIII>
+<2461>;<JGD2000 Japan Plane Rectangular CS XIX>
+<2462>;<Albanian 1987 Gauss Kruger zone 4>
+<2463>;<Pulkovo 1995 Gauss Kruger CM 21E>
+<2464>;<Pulkovo 1995 Gauss Kruger CM 27E>
+<2465>;<Pulkovo 1995 Gauss Kruger CM 33E>
+<2466>;<Pulkovo 1995 Gauss Kruger CM 39E>
+<2467>;<Pulkovo 1995 Gauss Kruger CM 45E>
+<2468>;<Pulkovo 1995 Gauss Kruger CM 51E>
+<2469>;<Pulkovo 1995 Gauss Kruger CM 57E>
+<2470>;<Pulkovo 1995 Gauss Kruger CM 63E>
+<2471>;<Pulkovo 1995 Gauss Kruger CM 69E>
+<2472>;<Pulkovo 1995 Gauss Kruger CM 75E>
+<2473>;<Pulkovo 1995 Gauss Kruger CM 81E>
+<2474>;<Pulkovo 1995 Gauss Kruger CM 87E>
+<2475>;<Pulkovo 1995 Gauss Kruger CM 93E>
+<2476>;<Pulkovo 1995 Gauss Kruger CM 99E>
+<2477>;<Pulkovo 1995 Gauss Kruger CM 105E>
+<2478>;<Pulkovo 1995 Gauss Kruger CM 111E>
+<2479>;<Pulkovo 1995 Gauss Kruger CM 117E>
+<2480>;<Pulkovo 1995 Gauss Kruger CM 123E>
+<2481>;<Pulkovo 1995 Gauss Kruger CM 129E>
+<2482>;<Pulkovo 1995 Gauss Kruger CM 135E>
+<2483>;<Pulkovo 1995 Gauss Kruger CM 141E>
+<2484>;<Pulkovo 1995 Gauss Kruger CM 147E>
+<2485>;<Pulkovo 1995 Gauss Kruger CM 153E>
+<2486>;<Pulkovo 1995 Gauss Kruger CM 159E>
+<2487>;<Pulkovo 1995 Gauss Kruger CM 165E>
+<2488>;<Pulkovo 1995 Gauss Kruger CM 171E>
+<2489>;<Pulkovo 1995 Gauss Kruger CM 177E>
+<2490>;<Pulkovo 1995 Gauss Kruger CM 177W>
+<2491>;<Pulkovo 1995 Gauss Kruger CM 171W>
+<2492>;<Pulkovo 1942 Gauss Kruger CM 9E (deprecated)>
+<2493>;<Pulkovo 1942 Gauss Kruger CM 15E (deprecated)>
+<2494>;<Pulkovo 1942 Gauss Kruger CM 21E>
+<2495>;<Pulkovo 1942 Gauss Kruger CM 27E>
+<2496>;<Pulkovo 1942 Gauss Kruger CM 33E>
+<2497>;<Pulkovo 1942 Gauss Kruger CM 39E>
+<2498>;<Pulkovo 1942 Gauss Kruger CM 45E>
+<2499>;<Pulkovo 1942 Gauss Kruger CM 51E>
+<2500>;<Pulkovo 1942 Gauss Kruger CM 57E>
+<2501>;<Pulkovo 1942 Gauss Kruger CM 63E>
+<2502>;<Pulkovo 1942 Gauss Kruger CM 69E>
+<2503>;<Pulkovo 1942 Gauss Kruger CM 75E>
+<2504>;<Pulkovo 1942 Gauss Kruger CM 81E>
+<2505>;<Pulkovo 1942 Gauss Kruger CM 87E>
+<2506>;<Pulkovo 1942 Gauss Kruger CM 93E>
+<2507>;<Pulkovo 1942 Gauss Kruger CM 99E>
+<2508>;<Pulkovo 1942 Gauss Kruger CM 105E>
+<2509>;<Pulkovo 1942 Gauss Kruger CM 111E>
+<2510>;<Pulkovo 1942 Gauss Kruger CM 117E>
+<2511>;<Pulkovo 1942 Gauss Kruger CM 123E>
+<2512>;<Pulkovo 1942 Gauss Kruger CM 129E>
+<2513>;<Pulkovo 1942 Gauss Kruger CM 135E>
+<2514>;<Pulkovo 1942 Gauss Kruger CM 141E>
+<2515>;<Pulkovo 1942 Gauss Kruger CM 147E>
+<2516>;<Pulkovo 1942 Gauss Kruger CM 153E>
+<2517>;<Pulkovo 1942 Gauss Kruger CM 159E>
+<2518>;<Pulkovo 1942 Gauss Kruger CM 165E>
+<2519>;<Pulkovo 1942 Gauss Kruger CM 171E>
+<2520>;<Pulkovo 1942 Gauss Kruger CM 177E>
+<2521>;<Pulkovo 1942 Gauss Kruger CM 177W>
+<2522>;<Pulkovo 1942 Gauss Kruger CM 171W>
+<2523>;<Pulkovo 1942 3 degree Gauss Kruger zone 7>
+<2524>;<Pulkovo 1942 3 degree Gauss Kruger zone 8>
+<2525>;<Pulkovo 1942 3 degree Gauss Kruger zone 9>
+<2526>;<Pulkovo 1942 3 degree Gauss Kruger zone 10>
+<2527>;<Pulkovo 1942 3 degree Gauss Kruger zone 11>
+<2528>;<Pulkovo 1942 3 degree Gauss Kruger zone 12>
+<2529>;<Pulkovo 1942 3 degree Gauss Kruger zone 13>
+<2530>;<Pulkovo 1942 3 degree Gauss Kruger zone 14>
+<2531>;<Pulkovo 1942 3 degree Gauss Kruger zone 15>
+<2532>;<Pulkovo 1942 3 degree Gauss Kruger zone 16>
+<2533>;<Pulkovo 1942 3 degree Gauss Kruger zone 17>
+<2534>;<Pulkovo 1942 3 degree Gauss Kruger zone 18>
+<2535>;<Pulkovo 1942 3 degree Gauss Kruger zone 19>
+<2536>;<Pulkovo 1942 3 degree Gauss Kruger zone 20>
+<2537>;<Pulkovo 1942 3 degree Gauss Kruger zone 21>
+<2538>;<Pulkovo 1942 3 degree Gauss Kruger zone 22>
+<2539>;<Pulkovo 1942 3 degree Gauss Kruger zone 23>
+<2540>;<Pulkovo 1942 3 degree Gauss Kruger zone 24>
+<2541>;<Pulkovo 1942 3 degree Gauss Kruger zone 25>
+<2542>;<Pulkovo 1942 3 degree Gauss Kruger zone 26>
+<2543>;<Pulkovo 1942 3 degree Gauss Kruger zone 27>
+<2544>;<Pulkovo 1942 3 degree Gauss Kruger zone 28>
+<2545>;<Pulkovo 1942 3 degree Gauss Kruger zone 29>
+<2546>;<Pulkovo 1942 3 degree Gauss Kruger zone 30>
+<2547>;<Pulkovo 1942 3 degree Gauss Kruger zone 31>
+<2548>;<Pulkovo 1942 3 degree Gauss Kruger zone 32>
+<2549>;<Pulkovo 1942 3 degree Gauss Kruger zone 33>
+<2550>;<Samboja UTM zone 50S (deprecated)>
+<2551>;<Pulkovo 1942 3 degree Gauss Kruger zone 34>
+<2552>;<Pulkovo 1942 3 degree Gauss Kruger zone 35>
+<2553>;<Pulkovo 1942 3 degree Gauss Kruger zone 36>
+<2554>;<Pulkovo 1942 3 degree Gauss Kruger zone 37>
+<2555>;<Pulkovo 1942 3 degree Gauss Kruger zone 38>
+<2556>;<Pulkovo 1942 3 degree Gauss Kruger zone 39>
+<2557>;<Pulkovo 1942 3 degree Gauss Kruger zone 40>
+<2558>;<Pulkovo 1942 3 degree Gauss Kruger zone 41>
+<2559>;<Pulkovo 1942 3 degree Gauss Kruger zone 42>
+<2560>;<Pulkovo 1942 3 degree Gauss Kruger zone 43>
+<2561>;<Pulkovo 1942 3 degree Gauss Kruger zone 44>
+<2562>;<Pulkovo 1942 3 degree Gauss Kruger zone 45>
+<2563>;<Pulkovo 1942 3 degree Gauss Kruger zone 46>
+<2564>;<Pulkovo 1942 3 degree Gauss Kruger zone 47>
+<2565>;<Pulkovo 1942 3 degree Gauss Kruger zone 48>
+<2566>;<Pulkovo 1942 3 degree Gauss Kruger zone 49>
+<2567>;<Pulkovo 1942 3 degree Gauss Kruger zone 50>
+<2568>;<Pulkovo 1942 3 degree Gauss Kruger zone 51>
+<2569>;<Pulkovo 1942 3 degree Gauss Kruger zone 52>
+<2570>;<Pulkovo 1942 3 degree Gauss Kruger zone 53>
+<2571>;<Pulkovo 1942 3 degree Gauss Kruger zone 54>
+<2572>;<Pulkovo 1942 3 degree Gauss Kruger zone 55>
+<2573>;<Pulkovo 1942 3 degree Gauss Kruger zone 56>
+<2574>;<Pulkovo 1942 3 degree Gauss Kruger zone 57>
+<2575>;<Pulkovo 1942 3 degree Gauss Kruger zone 58>
+<2576>;<Pulkovo 1942 3 degree Gauss Kruger zone 59>
+<2577>;<Pulkovo 1942 3 degree Gauss Kruger zone 60 (deprecated)>
+<2578>;<Pulkovo 1942 3 degree Gauss Kruger zone 61>
+<2579>;<Pulkovo 1942 3 degree Gauss Kruger zone 62>
+<2580>;<Pulkovo 1942 3 degree Gauss Kruger zone 63>
+<2581>;<Pulkovo 1942 3 degree Gauss Kruger zone 64>
+<2582>;<Pulkovo 1942 3 degree Gauss Kruger CM 21E>
+<2583>;<Pulkovo 1942 3 degree Gauss Kruger CM 24E>
+<2584>;<Pulkovo 1942 3 degree Gauss Kruger CM 27E>
+<2585>;<Pulkovo 1942 3 degree Gauss Kruger CM 30E>
+<2586>;<Pulkovo 1942 3 degree Gauss Kruger CM 33E>
+<2587>;<Pulkovo 1942 3 degree Gauss Kruger CM 36E>
+<2588>;<Pulkovo 1942 3 degree Gauss Kruger CM 39E>
+<2589>;<Pulkovo 1942 3 degree Gauss Kruger CM 42E>
+<2590>;<Pulkovo 1942 3 degree Gauss Kruger CM 45E>
+<2591>;<Pulkovo 1942 3 degree Gauss Kruger CM 48E>
+<2592>;<Pulkovo 1942 3 degree Gauss Kruger CM 51E>
+<2593>;<Pulkovo 1942 3 degree Gauss Kruger CM 54E>
+<2594>;<Pulkovo 1942 3 degree Gauss Kruger CM 57E>
+<2595>;<Pulkovo 1942 3 degree Gauss Kruger CM 60E>
+<2596>;<Pulkovo 1942 3 degree Gauss Kruger CM 63E>
+<2597>;<Pulkovo 1942 3 degree Gauss Kruger CM 66E>
+<2598>;<Pulkovo 1942 3 degree Gauss Kruger CM 69E>
+<2599>;<Pulkovo 1942 3 degree Gauss Kruger CM 72E>
+<2600>;<Lietuvos Koordinoei Sistema 1994 (deprecated)>
+<2601>;<Pulkovo 1942 3 degree Gauss Kruger CM 75E>
+<2602>;<Pulkovo 1942 3 degree Gauss Kruger CM 78E>
+<2603>;<Pulkovo 1942 3 degree Gauss Kruger CM 81E>
+<2604>;<Pulkovo 1942 3 degree Gauss Kruger CM 84E>
+<2605>;<Pulkovo 1942 3 degree Gauss Kruger CM 87E>
+<2606>;<Pulkovo 1942 3 degree Gauss Kruger CM 90E>
+<2607>;<Pulkovo 1942 3 degree Gauss Kruger CM 93E>
+<2608>;<Pulkovo 1942 3 degree Gauss Kruger CM 96E>
+<2609>;<Pulkovo 1942 3 degree Gauss Kruger CM 99E>
+<2610>;<Pulkovo 1942 3 degree Gauss Kruger CM 102E>
+<2611>;<Pulkovo 1942 3 degree Gauss Kruger CM 105E>
+<2612>;<Pulkovo 1942 3 degree Gauss Kruger CM 108E>
+<2613>;<Pulkovo 1942 3 degree Gauss Kruger CM 111E>
+<2614>;<Pulkovo 1942 3 degree Gauss Kruger CM 114E>
+<2615>;<Pulkovo 1942 3 degree Gauss Kruger CM 117E>
+<2616>;<Pulkovo 1942 3 degree Gauss Kruger CM 120E>
+<2617>;<Pulkovo 1942 3 degree Gauss Kruger CM 123E>
+<2618>;<Pulkovo 1942 3 degree Gauss Kruger CM 126E>
+<2619>;<Pulkovo 1942 3 degree Gauss Kruger CM 129E>
+<2620>;<Pulkovo 1942 3 degree Gauss Kruger CM 132E>
+<2621>;<Pulkovo 1942 3 degree Gauss Kruger CM 135E>
+<2622>;<Pulkovo 1942 3 degree Gauss Kruger CM 138E>
+<2623>;<Pulkovo 1942 3 degree Gauss Kruger CM 141E>
+<2624>;<Pulkovo 1942 3 degree Gauss Kruger CM 144E>
+<2625>;<Pulkovo 1942 3 degree Gauss Kruger CM 147E>
+<2626>;<Pulkovo 1942 3 degree Gauss Kruger CM 150E>
+<2627>;<Pulkovo 1942 3 degree Gauss Kruger CM 153E>
+<2628>;<Pulkovo 1942 3 degree Gauss Kruger CM 156E>
+<2629>;<Pulkovo 1942 3 degree Gauss Kruger CM 159E>
+<2630>;<Pulkovo 1942 3 degree Gauss Kruger CM 162E>
+<2631>;<Pulkovo 1942 3 degree Gauss Kruger CM 165E>
+<2632>;<Pulkovo 1942 3 degree Gauss Kruger CM 168E>
+<2633>;<Pulkovo 1942 3 degree Gauss Kruger CM 171E>
+<2634>;<Pulkovo 1942 3 degree Gauss Kruger CM 174E>
+<2635>;<Pulkovo 1942 3 degree Gauss Kruger CM 177E>
+<2636>;<Pulkovo 1942 3 degree Gauss Kruger CM 180E>
+<2637>;<Pulkovo 1942 3 degree Gauss Kruger CM 177W>
+<2638>;<Pulkovo 1942 3 degree Gauss Kruger CM 174W>
+<2639>;<Pulkovo 1942 3 degree Gauss Kruger CM 171W>
+<2640>;<Pulkovo 1942 3 degree Gauss Kruger CM 168W>
+<2641>;<Pulkovo 1995 3 degree Gauss Kruger zone 7>
+<2642>;<Pulkovo 1995 3 degree Gauss Kruger zone 8>
+<2643>;<Pulkovo 1995 3 degree Gauss Kruger zone 9>
+<2644>;<Pulkovo 1995 3 degree Gauss Kruger zone 10>
+<2645>;<Pulkovo 1995 3 degree Gauss Kruger zone 11>
+<2646>;<Pulkovo 1995 3 degree Gauss Kruger zone 12>
+<2647>;<Pulkovo 1995 3 degree Gauss Kruger zone 13>
+<2648>;<Pulkovo 1995 3 degree Gauss Kruger zone 14>
+<2649>;<Pulkovo 1995 3 degree Gauss Kruger zone 15>
+<2650>;<Pulkovo 1995 3 degree Gauss Kruger zone 16>
+<2651>;<Pulkovo 1995 3 degree Gauss Kruger zone 17>
+<2652>;<Pulkovo 1995 3 degree Gauss Kruger zone 18>
+<2653>;<Pulkovo 1995 3 degree Gauss Kruger zone 19>
+<2654>;<Pulkovo 1995 3 degree Gauss Kruger zone 20>
+<2655>;<Pulkovo 1995 3 degree Gauss Kruger zone 21>
+<2656>;<Pulkovo 1995 3 degree Gauss Kruger zone 22>
+<2657>;<Pulkovo 1995 3 degree Gauss Kruger zone 23>
+<2658>;<Pulkovo 1995 3 degree Gauss Kruger zone 24>
+<2659>;<Pulkovo 1995 3 degree Gauss Kruger zone 25>
+<2660>;<Pulkovo 1995 3 degree Gauss Kruger zone 26>
+<2661>;<Pulkovo 1995 3 degree Gauss Kruger zone 27>
+<2662>;<Pulkovo 1995 3 degree Gauss Kruger zone 28>
+<2663>;<Pulkovo 1995 3 degree Gauss Kruger zone 29>
+<2664>;<Pulkovo 1995 3 degree Gauss Kruger zone 30>
+<2665>;<Pulkovo 1995 3 degree Gauss Kruger zone 31>
+<2666>;<Pulkovo 1995 3 degree Gauss Kruger zone 32>
+<2667>;<Pulkovo 1995 3 degree Gauss Kruger zone 33>
+<2668>;<Pulkovo 1995 3 degree Gauss Kruger zone 34>
+<2669>;<Pulkovo 1995 3 degree Gauss Kruger zone 35>
+<2670>;<Pulkovo 1995 3 degree Gauss Kruger zone 36>
+<2671>;<Pulkovo 1995 3 degree Gauss Kruger zone 37>
+<2672>;<Pulkovo 1995 3 degree Gauss Kruger zone 38>
+<2673>;<Pulkovo 1995 3 degree Gauss Kruger zone 39>
+<2674>;<Pulkovo 1995 3 degree Gauss Kruger zone 40>
+<2675>;<Pulkovo 1995 3 degree Gauss Kruger zone 41>
+<2676>;<Pulkovo 1995 3 degree Gauss Kruger zone 42>
+<2677>;<Pulkovo 1995 3 degree Gauss Kruger zone 43>
+<2678>;<Pulkovo 1995 3 degree Gauss Kruger zone 44>
+<2679>;<Pulkovo 1995 3 degree Gauss Kruger zone 45>
+<2680>;<Pulkovo 1995 3 degree Gauss Kruger zone 46>
+<2681>;<Pulkovo 1995 3 degree Gauss Kruger zone 47>
+<2682>;<Pulkovo 1995 3 degree Gauss Kruger zone 48>
+<2683>;<Pulkovo 1995 3 degree Gauss Kruger zone 49>
+<2684>;<Pulkovo 1995 3 degree Gauss Kruger zone 50>
+<2685>;<Pulkovo 1995 3 degree Gauss Kruger zone 51>
+<2686>;<Pulkovo 1995 3 degree Gauss Kruger zone 52>
+<2687>;<Pulkovo 1995 3 degree Gauss Kruger zone 53>
+<2688>;<Pulkovo 1995 3 degree Gauss Kruger zone 54>
+<2689>;<Pulkovo 1995 3 degree Gauss Kruger zone 55>
+<2690>;<Pulkovo 1995 3 degree Gauss Kruger zone 56>
+<2691>;<Pulkovo 1995 3 degree Gauss Kruger zone 57>
+<2692>;<Pulkovo 1995 3 degree Gauss Kruger zone 58>
+<2693>;<Pulkovo 1995 3 degree Gauss Kruger zone 59>
+<2694>;<Pulkovo 1995 3 degree Gauss Kruger zone 60 (deprecated)>
+<2695>;<Pulkovo 1995 3 degree Gauss Kruger zone 61>
+<2696>;<Pulkovo 1995 3 degree Gauss Kruger zone 62>
+<2697>;<Pulkovo 1995 3 degree Gauss Kruger zone 63>
+<2698>;<Pulkovo 1995 3 degree Gauss Kruger zone 64>
+<2699>;<Pulkovo 1995 3 degree Gauss Kruger CM 21E>
+<2700>;<Pulkovo 1995 3 degree Gauss Kruger CM 24E>
+<2701>;<Pulkovo 1995 3 degree Gauss Kruger CM 27E>
+<2702>;<Pulkovo 1995 3 degree Gauss Kruger CM 30E>
+<2703>;<Pulkovo 1995 3 degree Gauss Kruger CM 33E>
+<2704>;<Pulkovo 1995 3 degree Gauss Kruger CM 36E>
+<2705>;<Pulkovo 1995 3 degree Gauss Kruger CM 39E>
+<2706>;<Pulkovo 1995 3 degree Gauss Kruger CM 42E>
+<2707>;<Pulkovo 1995 3 degree Gauss Kruger CM 45E>
+<2708>;<Pulkovo 1995 3 degree Gauss Kruger CM 48E>
+<2709>;<Pulkovo 1995 3 degree Gauss Kruger CM 51E>
+<2710>;<Pulkovo 1995 3 degree Gauss Kruger CM 54E>
+<2711>;<Pulkovo 1995 3 degree Gauss Kruger CM 57E>
+<2712>;<Pulkovo 1995 3 degree Gauss Kruger CM 60E>
+<2713>;<Pulkovo 1995 3 degree Gauss Kruger CM 63E>
+<2714>;<Pulkovo 1995 3 degree Gauss Kruger CM 66E>
+<2715>;<Pulkovo 1995 3 degree Gauss Kruger CM 69E>
+<2716>;<Pulkovo 1995 3 degree Gauss Kruger CM 72E>
+<2717>;<Pulkovo 1995 3 degree Gauss Kruger CM 75E>
+<2718>;<Pulkovo 1995 3 degree Gauss Kruger CM 78E>
+<2719>;<Pulkovo 1995 3 degree Gauss Kruger CM 81E>
+<2720>;<Pulkovo 1995 3 degree Gauss Kruger CM 84E>
+<2721>;<Pulkovo 1995 3 degree Gauss Kruger CM 87E>
+<2722>;<Pulkovo 1995 3 degree Gauss Kruger CM 90E>
+<2723>;<Pulkovo 1995 3 degree Gauss Kruger CM 93E>
+<2724>;<Pulkovo 1995 3 degree Gauss Kruger CM 96E>
+<2725>;<Pulkovo 1995 3 degree Gauss Kruger CM 99E>
+<2726>;<Pulkovo 1995 3 degree Gauss Kruger CM 102E>
+<2727>;<Pulkovo 1995 3 degree Gauss Kruger CM 105E>
+<2728>;<Pulkovo 1995 3 degree Gauss Kruger CM 108E>
+<2729>;<Pulkovo 1995 3 degree Gauss Kruger CM 111E>
+<2730>;<Pulkovo 1995 3 degree Gauss Kruger CM 114E>
+<2731>;<Pulkovo 1995 3 degree Gauss Kruger CM 117E>
+<2732>;<Pulkovo 1995 3 degree Gauss Kruger CM 120E>
+<2733>;<Pulkovo 1995 3 degree Gauss Kruger CM 123E>
+<2734>;<Pulkovo 1995 3 degree Gauss Kruger CM 126E>
+<2735>;<Pulkovo 1995 3 degree Gauss Kruger CM 129E>
+<2736>;<Tete UTM zone 36S>
+<2737>;<Tete UTM zone 37S>
+<2738>;<Pulkovo 1995 3 degree Gauss Kruger CM 132E>
+<2739>;<Pulkovo 1995 3 degree Gauss Kruger CM 135E>
+<2740>;<Pulkovo 1995 3 degree Gauss Kruger CM 138E>
+<2741>;<Pulkovo 1995 3 degree Gauss Kruger CM 141E>
+<2742>;<Pulkovo 1995 3 degree Gauss Kruger CM 144E>
+<2743>;<Pulkovo 1995 3 degree Gauss Kruger CM 147E>
+<2744>;<Pulkovo 1995 3 degree Gauss Kruger CM 150E>
+<2745>;<Pulkovo 1995 3 degree Gauss Kruger CM 153E>
+<2746>;<Pulkovo 1995 3 degree Gauss Kruger CM 156E>
+<2747>;<Pulkovo 1995 3 degree Gauss Kruger CM 159E>
+<2748>;<Pulkovo 1995 3 degree Gauss Kruger CM 162E>
+<2749>;<Pulkovo 1995 3 degree Gauss Kruger CM 165E>
+<2750>;<Pulkovo 1995 3 degree Gauss Kruger CM 168E>
+<2751>;<Pulkovo 1995 3 degree Gauss Kruger CM 171E>
+<2752>;<Pulkovo 1995 3 degree Gauss Kruger CM 174E>
+<2753>;<Pulkovo 1995 3 degree Gauss Kruger CM 177E>
+<2754>;<Pulkovo 1995 3 degree Gauss Kruger CM 180E>
+<2755>;<Pulkovo 1995 3 degree Gauss Kruger CM 177W>
+<2756>;<Pulkovo 1995 3 degree Gauss Kruger CM 174W>
+<2757>;<Pulkovo 1995 3 degree Gauss Kruger CM 171W>
+<2758>;<Pulkovo 1995 3 degree Gauss Kruger CM 168W>
+<2759>;<NAD83(HARN) Alabama East>
+<2760>;<NAD83(HARN) Alabama West>
+<2761>;<NAD83(HARN) Arizona East>
+<2762>;<NAD83(HARN) Arizona Central>
+<2763>;<NAD83(HARN) Arizona West>
+<2764>;<NAD83(HARN) Arkansas North>
+<2765>;<NAD83(HARN) Arkansas South>
+<2766>;<NAD83(HARN) California zone 1>
+<2767>;<NAD83(HARN) California zone 2>
+<2768>;<NAD83(HARN) California zone 3>
+<2769>;<NAD83(HARN) California zone 4>
+<2770>;<NAD83(HARN) California zone 5>
+<2771>;<NAD83(HARN) California zone 6>
+<2772>;<NAD83(HARN) Colorado North>
+<2773>;<NAD83(HARN) Colorado Central>
+<2774>;<NAD83(HARN) Colorado South>
+<2775>;<NAD83(HARN) Connecticut>
+<2776>;<NAD83(HARN) Delaware>
+<2777>;<NAD83(HARN) Florida East>
+<2778>;<NAD83(HARN) Florida West>
+<2779>;<NAD83(HARN) Florida North>
+<2780>;<NAD83(HARN) Georgia East>
+<2781>;<NAD83(HARN) Georgia West>
+<2782>;<NAD83(HARN) Hawaii zone 1>
+<2783>;<NAD83(HARN) Hawaii zone 2>
+<2784>;<NAD83(HARN) Hawaii zone 3>
+<2785>;<NAD83(HARN) Hawaii zone 4>
+<2786>;<NAD83(HARN) Hawaii zone 5>
+<2787>;<NAD83(HARN) Idaho East>
+<2788>;<NAD83(HARN) Idaho Central>
+<2789>;<NAD83(HARN) Idaho West>
+<2790>;<NAD83(HARN) Illinois East>
+<2791>;<NAD83(HARN) Illinois West>
+<2792>;<NAD83(HARN) Indiana East>
+<2793>;<NAD83(HARN) Indiana West>
+<2794>;<NAD83(HARN) Iowa North>
+<2795>;<NAD83(HARN) Iowa South>
+<2796>;<NAD83(HARN) Kansas North>
+<2797>;<NAD83(HARN) Kansas South>
+<2798>;<NAD83(HARN) Kentucky North>
+<2799>;<NAD83(HARN) Kentucky South>
+<2800>;<NAD83(HARN) Louisiana North>
+<2801>;<NAD83(HARN) Louisiana South>
+<2802>;<NAD83(HARN) Maine East>
+<2803>;<NAD83(HARN) Maine West>
+<2804>;<NAD83(HARN) Maryland>
+<2805>;<NAD83(HARN) Massachusetts Mainland>
+<2806>;<NAD83(HARN) Massachusetts Island>
+<2807>;<NAD83(HARN) Michigan North>
+<2808>;<NAD83(HARN) Michigan Central>
+<2809>;<NAD83(HARN) Michigan South>
+<2810>;<NAD83(HARN) Minnesota North>
+<2811>;<NAD83(HARN) Minnesota Central>
+<2812>;<NAD83(HARN) Minnesota South>
+<2813>;<NAD83(HARN) Mississippi East>
+<2814>;<NAD83(HARN) Mississippi West>
+<2815>;<NAD83(HARN) Missouri East>
+<2816>;<NAD83(HARN) Missouri Central>
+<2817>;<NAD83(HARN) Missouri West>
+<2818>;<NAD83(HARN) Montana>
+<2819>;<NAD83(HARN) Nebraska>
+<2820>;<NAD83(HARN) Nevada East>
+<2821>;<NAD83(HARN) Nevada Central>
+<2822>;<NAD83(HARN) Nevada West>
+<2823>;<NAD83(HARN) New Hampshire>
+<2824>;<NAD83(HARN) New Jersey>
+<2825>;<NAD83(HARN) New Mexico East>
+<2826>;<NAD83(HARN) New Mexico Central>
+<2827>;<NAD83(HARN) New Mexico West>
+<2828>;<NAD83(HARN) New York East>
+<2829>;<NAD83(HARN) New York Central>
+<2830>;<NAD83(HARN) New York West>
+<2831>;<NAD83(HARN) New York Long Island>
+<2832>;<NAD83(HARN) North Dakota North>
+<2833>;<NAD83(HARN) North Dakota South>
+<2834>;<NAD83(HARN) Ohio North>
+<2835>;<NAD83(HARN) Ohio South>
+<2836>;<NAD83(HARN) Oklahoma North>
+<2837>;<NAD83(HARN) Oklahoma South>
+<2838>;<NAD83(HARN) Oregon North>
+<2839>;<NAD83(HARN) Oregon South>
+<2840>;<NAD83(HARN) Rhode Island>
+<2841>;<NAD83(HARN) South Dakota North>
+<2842>;<NAD83(HARN) South Dakota South>
+<2843>;<NAD83(HARN) Tennessee>
+<2844>;<NAD83(HARN) Texas North>
+<2845>;<NAD83(HARN) Texas North Central>
+<2846>;<NAD83(HARN) Texas Central>
+<2847>;<NAD83(HARN) Texas South Central>
+<2848>;<NAD83(HARN) Texas South>
+<2849>;<NAD83(HARN) Utah North>
+<2850>;<NAD83(HARN) Utah Central>
+<2851>;<NAD83(HARN) Utah South>
+<2852>;<NAD83(HARN) Vermont>
+<2853>;<NAD83(HARN) Virginia North>
+<2854>;<NAD83(HARN) Virginia South>
+<2855>;<NAD83(HARN) Washington North>
+<2856>;<NAD83(HARN) Washington South>
+<2857>;<NAD83(HARN) West Virginia North>
+<2858>;<NAD83(HARN) West Virginia South>
+<2859>;<NAD83(HARN) Wisconsin North>
+<2860>;<NAD83(HARN) Wisconsin Central>
+<2861>;<NAD83(HARN) Wisconsin South>
+<2862>;<NAD83(HARN) Wyoming East>
+<2862>;<NAD83(HARN) Wyoming East>
+<2863>;<NAD83(HARN) Wyoming East Central>
+<2864>;<NAD83(HARN) Wyoming West Central>
+<2865>;<NAD83(HARN) Wyoming West>
+<2866>;<NAD83(HARN) Puerto Rico and Virgin Is.>
+<2867>;<NAD83(HARN) Arizona East (ft)>
+<2868>;<NAD83(HARN) Arizona Central (ft)>
+<2869>;<NAD83(HARN) Arizona West (ft)>
+<2870>;<NAD83(HARN) California zone 1 (ftUS)>
+<2871>;<NAD83(HARN) California zone 2 (ftUS)>
+<2872>;<NAD83(HARN) California zone 3 (ftUS)>
+<2873>;<NAD83(HARN) California zone 4 (ftUS)>
+<2874>;<NAD83(HARN) California zone 5 (ftUS)>
+<2875>;<NAD83(HARN) California zone 6 (ftUS)>
+<2876>;<NAD83(HARN) Colorado North (ftUS)>
+<2877>;<NAD83(HARN) Colorado Central (ftUS)>
+<2878>;<NAD83(HARN) Colorado South (ftUS)>
+<2879>;<NAD83(HARN) Connecticut (ftUS)>
+<2880>;<NAD83(HARN) Delaware (ftUS)>
+<2881>;<NAD83(HARN) Florida East (ftUS)>
+<2882>;<NAD83(HARN) Florida West (ftUS)>
+<2883>;<NAD83(HARN) Florida North (ftUS)>
+<2884>;<NAD83(HARN) Georgia East (ftUS)>
+<2885>;<NAD83(HARN) Georgia West (ftUS)>
+<2886>;<NAD83(HARN) Idaho East (ftUS)>
+<2887>;<NAD83(HARN) Idaho Central (ftUS)>
+<2888>;<NAD83(HARN) Idaho West (ftUS)>
+<2889>;<NAD83(HARN) Indiana East (ftUS) (deprecated)>
+<2890>;<NAD83(HARN) Indiana West (ftUS) (deprecated)>
+<2891>;<NAD83(HARN) Kentucky North (ftUS)>
+<2892>;<NAD83(HARN) Kentucky South (ftUS)>
+<2893>;<NAD83(HARN) Maryland (ftUS)>
+<2894>;<NAD83(HARN) Massachusetts Mainland (ftUS)>
+<2895>;<NAD83(HARN) Massachusetts Island (ftUS)>
+<2896>;<NAD83(HARN) Michigan North (ft)>
+<2897>;<NAD83(HARN) Michigan Central (ft)>
+<2898>;<NAD83(HARN) Michigan South (ft)>
+<2899>;<NAD83(HARN) Mississippi East (ftUS)>
+<2900>;<NAD83(HARN) Mississippi West (ftUS)>
+<2901>;<NAD83(HARN) Montana (ft)>
+<2902>;<NAD83(HARN) New Mexico East (ftUS)>
+<2903>;<NAD83(HARN) New Mexico Central (ftUS)>
+<2904>;<NAD83(HARN) New Mexico West (ftUS)>
+<2905>;<NAD83(HARN) New York East (ftUS)>
+<2906>;<NAD83(HARN) New York Central (ftUS)>
+<2907>;<NAD83(HARN) New York West (ftUS)>
+<2908>;<NAD83(HARN) New York Long Island (ftUS)>
+<2909>;<NAD83(HARN) North Dakota North (ft)>
+<2910>;<NAD83(HARN) North Dakota South (ft)>
+<2911>;<NAD83(HARN) Oklahoma North (ftUS)>
+<2912>;<NAD83(HARN) Oklahoma South (ftUS)>
+<2913>;<NAD83(HARN) Oregon North (ft)>
+<2914>;<NAD83(HARN) Oregon South (ft)>
+<2915>;<NAD83(HARN) Tennessee (ftUS)>
+<2916>;<NAD83(HARN) Texas North (ftUS)>
+<2917>;<NAD83(HARN) Texas North Central (ftUS)>
+<2918>;<NAD83(HARN) Texas Central (ftUS)>
+<2919>;<NAD83(HARN) Texas South Central (ftUS)>
+<2920>;<NAD83(HARN) Texas South (ftUS)>
+<2921>;<NAD83(HARN) Utah North (ft)>
+<2922>;<NAD83(HARN) Utah Central (ft)>
+<2923>;<NAD83(HARN) Utah South (ft)>
+<2924>;<NAD83(HARN) Virginia North (ftUS)>
+<2925>;<NAD83(HARN) Virginia South (ftUS)>
+<2926>;<NAD83(HARN) Washington North (ftUS)>
+<2927>;<NAD83(HARN) Washington South (ftUS)>
+<2928>;<NAD83(HARN) Wisconsin North (ftUS)>
+<2929>;<NAD83(HARN) Wisconsin Central (ftUS)>
+<2930>;<NAD83(HARN) Wisconsin South (ftUS)>
+<2931>;<Beduaram TM 13 NE>
+<2932>;<QND95 Qatar National Grid>
+<2933>;<Segara UTM zone 50S>
+<2934>;<Segara (Jakarta) NEIEZ (deprecated)>
+<2935>;<Pulkovo 1942 CS63 zone A1>
+<2936>;<Pulkovo 1942 CS63 zone A2>
+<2937>;<Pulkovo 1942 CS63 zone A3>
+<2938>;<Pulkovo 1942 CS63 zone A4>
+<2939>;<Pulkovo 1942 CS63 zone K2>
+<2940>;<Pulkovo 1942 CS63 zone K3>
+<2941>;<Pulkovo 1942 CS63 zone K4>
+<2942>;<Porto Santo UTM zone 28N>
+<2943>;<Selvagem Grande UTM zone 28N>
+<2944>;<NAD83(CSRS) SCoPQ zone 2>
+<2945>;<NAD83(CSRS) MTM zone 3>
+<2946>;<NAD83(CSRS) MTM zone 4>
+<2947>;<NAD83(CSRS) MTM zone 5>
+<2948>;<NAD83(CSRS) MTM zone 6>
+<2949>;<NAD83(CSRS) MTM zone 7>
+<2950>;<NAD83(CSRS) MTM zone 8>
+<2951>;<NAD83(CSRS) MTM zone 9>
+<2952>;<NAD83(CSRS) MTM zone 10>
+<2953>;<NAD83(CSRS) New Brunswick Stereographic>
+<2954>;<NAD83(CSRS) Prince Edward Isl. Stereographic (NAD83)>
+<2955>;<NAD83(CSRS) UTM zone 11N>
+<2956>;<NAD83(CSRS) UTM zone 12N>
+<2957>;<NAD83(CSRS) UTM zone 13N>
+<2958>;<NAD83(CSRS) UTM zone 17N>
+<2959>;<NAD83(CSRS) UTM zone 18N>
+<2960>;<NAD83(CSRS) UTM zone 19N>
+<2961>;<NAD83(CSRS) UTM zone 20N>
+<2962>;<NAD83(CSRS) UTM zone 21N>
+<2963>;<Lisbon 1890 (Lisbon) Portugal Bonne>
+<2964>;<NAD27 Alaska Albers>
+<2964>;<Albers Equal Area>
+<2965>;<NAD83 Indiana East (ftUS)>
+<2966>;<NAD83 Indiana West (ftUS)>
+<2967>;<NAD83(HARN) Indiana East (ftUS)>
+<2968>;<NAD83(HARN) Indiana West (ftUS)>
+<2969>;<Fort Marigot UTM zone 20N>
+<2970>;<Guadeloupe 1948 UTM zone 20N>
+<2971>;<CSG67 UTM zone 22N>
+<2972>;<RGFG95 UTM zone 22N>
+<2973>;<Martinique 1938 UTM zone 20N>
+<2975>;<RGR92 UTM zone 40S>
+<2976>;<Tahiti 52 UTM zone 6S>
+<2977>;<Tahaa 54 UTM zone 5S>
+<2978>;<IGN72 Nuku Hiva UTM zone 7S>
+<2979>;<K0 1949 UTM zone 42S (deprecated)>
+<2980>;<Combani 1950 UTM zone 38S>
+<2981>;<IGN56 Lifou UTM zone 58S>
+<2982>;<IGN72 Grand Terre UTM zone 58S (deprecated)>
+<2983>;<ST87 Ouvea UTM zone 58S (deprecated)>
+<2984>;<RGNC 1991 Lambert New Caledonia (deprecated)>
+<2985>;<Petrels 1972 Terre Adelie Polar Stereographic>
+<2986>;<Perroud 1950 Terre Adelie Polar Stereographic>
+<2987>;<Saint Pierre et Miquelon 1950 UTM zone 21N>
+<2988>;<MOP78 UTM zone 1S>
+<2989>;<RRAF 1991 UTM zone 20N (deprecated)>
+<2990>;<Reunion 1947 TM Reunion (deprecated)>
+<2991>;<NAD83 Oregon Lambert>
+<2992>;<NAD83 Oregon Lambert (ft)>
+<2993>;<NAD83(HARN) Oregon Lambert>
+<2994>;<NAD83(HARN) Oregon Lambert (ft)>
+<2995>;<IGN53 Mare UTM zone 58S>
+<2996>;<ST84 Ile des Pins UTM zone 58S>
+<2997>;<ST71 Belep UTM zone 58S>
+<2998>;<NEA74 Noumea UTM zone 58S>
+<2999>;<Grand Comoros UTM zone 38S>
+<3000>;<Segara NEIEZ>
+<3001>;<Batavia NEIEZ>
+<3002>;<Makassar NEIEZ>
+<3003>;<Monte Mario Italy zone 1>
+<3004>;<Monte Mario Italy zone 2>
+<3005>;<NAD83 BC Albers>
+<3006>;<SWEREF99 TM>
+<3007>;<SWEREF99 12 00>
+<3008>;<SWEREF99 13 30>
+<3009>;<SWEREF99 15 00>
+<3010>;<SWEREF99 16 30>
+<3011>;<SWEREF99 18 00>
+<3012>;<SWEREF99 14 15>
+<3013>;<SWEREF99 15 45>
+<3014>;<SWEREF99 17 15>
+<3015>;<SWEREF99 18 45>
+<3016>;<SWEREF99 20 15>
+<3017>;<SWEREF99 21 45>
+<3018>;<SWEREF99 23 15>
+<3019>;<RT90 7.5 gon V>
+<3020>;<RT90 5 gon V>
+<3021>;<RT90 2.5 gon V>
+<3022>;<RT90 0 gon>
+<3023>;<RT90 2.5 gon O>
+<3024>;<RT90 5 gon O>
+<3025>;<RT38 7.5 gon V>
+<3026>;<RT38 5 gon V>
+<3027>;<RT38 2.5 gon V>
+<3028>;<RT38 0 gon>
+<3029>;<RT38 2.5 gon O>
+<3030>;<RT38 5 gon O>
+<3031>;<WGS 84 Antarctic Polar Stereographic>
+<3032>;<WGS 84 Australian Antarctic Polar Stereographic>
+<3033>;<WGS 84 Australian Antarctic Lambert>
+<3034>;<ETRS89 ETRS LCC>
+<3035>;<ETRS89 ETRS LAEA>
+<3036>;<Moznet UTM zone 36S>
+<3037>;<Moznet UTM zone 37S>
+<3038>;<ETRS89 ETRS TM26>
+<3039>;<ETRS89 ETRS TM27>
+<3040>;<ETRS89 ETRS TM28>
+<3041>;<ETRS89 ETRS TM29>
+<3042>;<ETRS89 ETRS TM30>
+<3043>;<ETRS89 ETRS TM31>
+<3044>;<ETRS89 ETRS TM32>
+<3045>;<ETRS89 ETRS TM33>
+<3046>;<ETRS89 ETRS TM34>
+<3047>;<ETRS89 ETRS TM35>
+<3048>;<ETRS89 ETRS TM36>
+<3049>;<ETRS89 ETRS TM37>
+<3050>;<ETRS89 ETRS TM38>
+<3051>;<ETRS89 ETRS TM39>
+<3052>;<Reykjavik 1900 Lambert 1900>
+<3053>;<Hjorsey 1955 Lambert 1955>
+<3054>;<Hjorsey 1955 UTM zone 26N>
+<3055>;<Hjorsey 1955 UTM zone 27N>
+<3056>;<Hjorsey 1955 UTM zone 28N>
+<3057>;<ISN93 Lambert 1993>
+<3058>;<Helle 1954 Jan Mayen Grid>
+<3059>;<LKS92 Latvia TM>
+<3060>;<IGN72 Grande Terre UTM zone 58S>
+<3061>;<Porto Santo 1995 UTM zone 28N>
+<3062>;<Azores Oriental 1995 UTM zone 26N>
+<3063>;<Azores Central 1995 UTM zone 26N>
+<3064>;<IGM95 UTM zone 32N>
+<3065>;<IGM95 UTM zone 33N>
+<3066>;<ED50 Jordan TM>
+<3067>;<ETRS89 ETRS TM35FIN>
+<3068>;<DHDN Soldner Berlin>
+<3069>;<NAD27 Wisconsin Transverse Mercator>
+<3070>;<NAD83 Wisconsin Transverse Mercator>
+<3071>;<NAD83(HARN) Wisconsin Transverse Mercator>
+<3072>;<NAD83 Maine CS2000 East>
+<3073>;<NAD83 Maine CS2000 Central (deprecated)>
+<3074>;<NAD83 Maine CS2000 West>
+<3075>;<NAD83(HARN) Maine CS2000 East>
+<3076>;<NAD83(HARN) Maine CS2000 Central (deprecated)>
+<3077>;<NAD83(HARN) Maine CS2000 West>
+<3078>;<NAD83 Michigan Oblique Mercator>
+<3079>;<NAD83(HARN) Michigan Oblique Mercator>
+<3080>;<NAD27 Shackleford>
+<3081>;<NAD83 Texas State Mapping System>
+<3082>;<NAD83 Texas Centric Lambert Conformal>
+<3083>;<NAD83 Texas Centric Albers Equal Area>
+<3084>;<NAD83(HARN) Texas Centric Lambert Conformal>
+<3085>;<NAD83(HARN) Texas Centric Albers Equal Area>
+<3086>;<NAD83 Florida GDL Albers>
+<3087>;<NAD83(HARN) Florida GDL Albers>
+<3088>;<NAD83 Kentucky Single Zone>
+<3089>;<NAD83 Kentucky Single Zone (ftUS)>
+<3090>;<NAD83(HARN) Kentucky Single Zone>
+<3091>;<NAD83(HARN) Kentucky Single Zone (ftUS)>
+<3092>;<Tokyo UTM zone 51N>
+<3093>;<Tokyo UTM zone 52N>
+<3094>;<Tokyo UTM zone 53N>
+<3095>;<Tokyo UTM zone 54N>
+<3096>;<Tokyo UTM zone 55N>
+<3097>;<JGD2000 UTM zone 51N>
+<3098>;<JGD2000 UTM zone 52N>
+<3099>;<JGD2000 UTM zone 53N>
+<3100>;<JGD2000 UTM zone 54N>
+<3101>;<JGD2000 UTM zone 55N>
+<3102>;<American Samoa 1962 American Samoa Lambert>
+<3103>;<Mauritania 1999 UTM zone 28N (deprecated)>
+<3104>;<Mauritania 1999 UTM zone 29N (deprecated)>
+<3105>;<Mauritania 1999 UTM zone 30N (deprecated)>
+<3106>;<Gulshan 303 Bangladesh Transverse Mercator>
+<3107>;<GDA94 SA Lambert>
+<3108>;<ETRS89 Guernsey Grid>
+<3109>;<ETRS89 Jersey Transverse Mercator>
+<3110>;<AGD66 Vicgrid66>
+<3111>;<GDA94 Vicgrid94>
+<3112>;<GDA94 Geoscience Australia Lambert>
+<3113>;<GDA94 BCSG02>
+<3114>;<MAGNA SIRGAS Colombia Far West zone>
+<3115>;<MAGNA SIRGAS Colombia West zone>
+<3116>;<MAGNA SIRGAS Colombia Bogota zone>
+<3117>;<MAGNA SIRGAS Colombia East Central zone>
+<3118>;<MAGNA SIRGAS Colombia East zone>
+<3119>;<Douala 1948 AEF west>
+<3120>;<Pulkovo 1942(58) Poland zone I>
+<3121>;<PRS92 Philippines zone 1>
+<3122>;<PRS92 Philippines zone 2>
+<3123>;<PRS92 Philippines zone 3>
+<3124>;<PRS92 Philippines zone 4>
+<3125>;<PRS92 Philippines zone 5>
+<3126>;<ETRS89 ETRS GK19FIN>
+<3127>;<ETRS89 ETRS GK20FIN>
+<3128>;<ETRS89 ETRS GK21FIN>
+<3129>;<ETRS89 ETRS GK22FIN>
+<3130>;<ETRS89 ETRS GK23FIN>
+<3131>;<ETRS89 ETRS GK24FIN>
+<3132>;<ETRS89 ETRS GK25FIN>
+<3133>;<ETRS89 ETRS GK26FIN>
+<3134>;<ETRS89 ETRS GK27FIN>
+<3135>;<ETRS89 ETRS GK28FIN>
+<3136>;<ETRS89 ETRS GK29FIN>
+<3137>;<ETRS89 ETRS GK30FIN>
+<3138>;<ETRS89 ETRS GK31FIN>
+<3139>;<Vanua Levu 1915 Vanua Levu Grid>
+<3140>;<Viti Levu 1912 Viti Levu Grid>
+<3141>;<Fiji 1956 UTM zone 60S>
+<3142>;<Fiji 1956 UTM zone 1S>
+<3143>;<Fiji 1986 Fiji Map Grid (deprecated)>
+<3144>;<FD54 Faroe Lambert>
+<3145>;<ETRS89 Faroe Lambert>
+<3146>;<Pulkovo 1942 3 degree Gauss Kruger zone 6>
+<3147>;<Pulkovo 1942 3 degree Gauss Kruger CM 18E>
+<3148>;<Indian 1960 UTM zone 48N>
+<3149>;<Indian 1960 UTM zone 49N>
+<3150>;<Pulkovo 1995 3 degree Gauss Kruger zone 6>
+<3151>;<Pulkovo 1995 3 degree Gauss Kruger CM 18E>
+<3152>;<ST74>
+<3153>;<NAD83(CSRS) BC Albers>
+<3154>;<NAD83(CSRS) UTM zone 7N>
+<3155>;<NAD83(CSRS) UTM zone 8N>
+<3156>;<NAD83(CSRS) UTM zone 9N>
+<3157>;<NAD83(CSRS) UTM zone 10N>
+<3158>;<NAD83(CSRS) UTM zone 14N>
+<3159>;<NAD83(CSRS) UTM zone 15N>
+<3160>;<NAD83(CSRS) UTM zone 16N>
+<3161>;<NAD83 Ontario MNR Lambert>
+<3162>;<NAD83(CSRS) Ontario MNR Lambert>
+<3163>;<RGNC91 93 Lambert New Caledonia>
+<3164>;<ST87 Ouvea UTM zone 58S>
+<3165>;<NEA74 Noumea Noumea Lambert>
+<3166>;<NEA74 Noumea Noumea Lambert 2>
+<3167>;<Kertau (RSO) RSO Malaya (ch)>
+<3168>;<Kertau (RSO) RSO Malaya (m)>
+<3169>;<RGNC91 93 UTM zone 57S>
+<3170>;<RGNC91 93 UTM zone 58S>
+<3171>;<RGNC91 93 UTM zone 59S>
+<3172>;<IGN53 Mare UTM zone 59S>
+<3173>;<fk89 Faroe Lambert FK89>
+<3174>;<NAD83 Great Lakes Albers>
+<3175>;<NAD83 Great Lakes and St Lawrence Albers>
+<3176>;<Indian 1960 TM 106 NE>
+<3177>;<LGD2006 Libya TM>
+<3178>;<GR96 UTM zone 18N>
+<3179>;<GR96 UTM zone 19N>
+<3180>;<GR96 UTM zone 20N>
+<3181>;<GR96 UTM zone 21N>
+<3182>;<GR96 UTM zone 22N>
+<3183>;<GR96 UTM zone 23N>
+<3184>;<GR96 UTM zone 24N>
+<3185>;<GR96 UTM zone 25N>
+<3186>;<GR96 UTM zone 26N>
+<3187>;<GR96 UTM zone 27N>
+<3188>;<GR96 UTM zone 28N>
+<3189>;<GR96 UTM zone 29N>
+<3190>;<LGD2006 Libya TM zone 5>
+<3191>;<LGD2006 Libya TM zone 6>
+<3192>;<LGD2006 Libya TM zone 7>
+<3193>;<LGD2006 Libya TM zone 8>
+<3194>;<LGD2006 Libya TM zone 9>
+<3195>;<LGD2006 Libya TM zone 10>
+<3196>;<LGD2006 Libya TM zone 11>
+<3197>;<LGD2006 Libya TM zone 12>
+<3198>;<LGD2006 Libya TM zone 13>
+<3199>;<LGD2006 UTM zone 32N>
+<3200>;<FD58 Iraq zone>
+<3201>;<LGD2006 UTM zone 33N>
+<3202>;<LGD2006 UTM zone 34N>
+<3203>;<LGD2006 UTM zone 35N>
+<3204>;<WGS 84 SCAR IMW SP19 20>
+<3205>;<WGS 84 SCAR IMW SP21 22>
+<3206>;<WGS 84 SCAR IMW SP23 24>
+<3207>;<WGS 84 SCAR IMW SQ01 2>
+<3208>;<WGS 84 SCAR IMW SQ19 20>
+<3209>;<WGS 84 SCAR IMW SQ21 22>
+<3210>;<WGS 84 SCAR IMW SQ37 38>
+<3211>;<WGS 84 SCAR IMW SQ39 40>
+<3212>;<WGS 84 SCAR IMW SQ41 42>
+<3213>;<WGS 84 SCAR IMW SQ43 44>
+<3214>;<WGS 84 SCAR IMW SQ45 46>
+<3215>;<WGS 84 SCAR IMW SQ47 48>
+<3216>;<WGS 84 SCAR IMW SQ49 50>
+<3217>;<WGS 84 SCAR IMW SQ51 52>
+<3218>;<WGS 84 SCAR IMW SQ53 54>
+<3219>;<WGS 84 SCAR IMW SQ55 56>
+<3220>;<WGS 84 SCAR IMW SQ57 58>
+<3221>;<WGS 84 SCAR IMW SR13 14>
+<3222>;<WGS 84 SCAR IMW SR15 16>
+<3223>;<WGS 84 SCAR IMW SR17 18>
+<3224>;<WGS 84 SCAR IMW SR19 20>
+<3225>;<WGS 84 SCAR IMW SR27 28>
+<3226>;<WGS 84 SCAR IMW SR29 30>
+<3227>;<WGS 84 SCAR IMW SR31 32>
+<3228>;<WGS 84 SCAR IMW SR33 34>
+<3229>;<WGS 84 SCAR IMW SR35 36>
+<3230>;<WGS 84 SCAR IMW SR37 38>
+<3231>;<WGS 84 SCAR IMW SR39 40>
+<3232>;<WGS 84 SCAR IMW SR41 42>
+<3233>;<WGS 84 SCAR IMW SR43 44>
+<3234>;<WGS 84 SCAR IMW SR45 46>
+<3235>;<WGS 84 SCAR IMW SR47 48>
+<3236>;<WGS 84 SCAR IMW SR49 50>
+<3237>;<WGS 84 SCAR IMW SR51 52>
+<3238>;<WGS 84 SCAR IMW SR53 54>
+<3239>;<WGS 84 SCAR IMW SR55 56>
+<3240>;<WGS 84 SCAR IMW SR57 58>
+<3241>;<WGS 84 SCAR IMW SR59 60>
+<3242>;<WGS 84 SCAR IMW SS04 6>
+<3243>;<WGS 84 SCAR IMW SS07 9>
+<3244>;<WGS 84 SCAR IMW SS10 12>
+<3245>;<WGS 84 SCAR IMW SS13 15>
+<3246>;<WGS 84 SCAR IMW SS16 18>
+<3247>;<WGS 84 SCAR IMW SS19 21>
+<3248>;<WGS 84 SCAR IMW SS25 27>
+<3249>;<WGS 84 SCAR IMW SS28 30>
+<3250>;<WGS 84 SCAR IMW SS31 33>
+<3251>;<WGS 84 SCAR IMW SS34 36>
+<3252>;<WGS 84 SCAR IMW SS37 39>
+<3253>;<WGS 84 SCAR IMW SS40 42>
+<3254>;<WGS 84 SCAR IMW SS43 45>
+<3255>;<WGS 84 SCAR IMW SS46 48>
+<3256>;<WGS 84 SCAR IMW SS49 51>
+<3257>;<WGS 84 SCAR IMW SS52 54>
+<3258>;<WGS 84 SCAR IMW SS55 57>
+<3259>;<WGS 84 SCAR IMW SS58 60>
+<3260>;<WGS 84 SCAR IMW ST01 4>
+<3261>;<WGS 84 SCAR IMW ST05 8>
+<3262>;<WGS 84 SCAR IMW ST09 12>
+<3263>;<WGS 84 SCAR IMW ST13 16>
+<3264>;<WGS 84 SCAR IMW ST17 20>
+<3265>;<WGS 84 SCAR IMW ST21 24>
+<3266>;<WGS 84 SCAR IMW ST25 28>
+<3267>;<WGS 84 SCAR IMW ST29 32>
+<3268>;<WGS 84 SCAR IMW ST33 36>
+<3269>;<WGS 84 SCAR IMW ST37 40>
+<3270>;<WGS 84 SCAR IMW ST41 44>
+<3271>;<WGS 84 SCAR IMW ST45 48>
+<3272>;<WGS 84 SCAR IMW ST49 52>
+<3273>;<WGS 84 SCAR IMW ST53 56>
+<3274>;<WGS 84 SCAR IMW ST57 60>
+<3275>;<WGS 84 SCAR IMW SU01 5>
+<3276>;<WGS 84 SCAR IMW SU06 10>
+<3277>;<WGS 84 SCAR IMW SU11 15>
+<3278>;<WGS 84 SCAR IMW SU16 20>
+<3279>;<WGS 84 SCAR IMW SU21 25>
+<3280>;<WGS 84 SCAR IMW SU26 30>
+<3281>;<WGS 84 SCAR IMW SU31 35>
+<3282>;<WGS 84 SCAR IMW SU36 40>
+<3283>;<WGS 84 SCAR IMW SU41 45>
+<3284>;<WGS 84 SCAR IMW SU46 50>
+<3285>;<WGS 84 SCAR IMW SU51 55>
+<3286>;<WGS 84 SCAR IMW SU56 60>
+<3287>;<WGS 84 SCAR IMW SV01 10>
+<3288>;<WGS 84 SCAR IMW SV11 20>
+<3289>;<WGS 84 SCAR IMW SV21 30>
+<3290>;<WGS 84 SCAR IMW SV31 40>
+<3291>;<WGS 84 SCAR IMW SV41 50>
+<3292>;<WGS 84 SCAR IMW SV51 60>
+<3293>;<WGS 84 SCAR IMW SW01 60>
+<3294>;<WGS 84 USGS Transantarctic Mountains>
+<3295>;<Guam 1963 Yap Islands>
+<3296>;<RGPF UTM zone 5S>
+<3297>;<RGPF UTM zone 6S>
+<3298>;<RGPF UTM zone 7S>
+<3299>;<RGPF UTM zone 8S>
+<3300>;<Estonian Coordinate System of 1992>
+<3301>;<Estonian Coordinate System of 1997>
+<3302>;<IGN63 Hiva Oa UTM zone 7S>
+<3303>;<Fatu Iva 72 UTM zone 7S>
+<3304>;<Tahiti 79 UTM zone 6S>
+<3305>;<Moorea 87 UTM zone 6S>
+<3306>;<Maupiti 83 UTM zone 5S>
+<3307>;<Nakhl e Ghanem UTM zone 39N>
+<3308>;<GDA94 NSW Lambert>
+<3309>;<NAD27 California Albers>
+<3310>;<NAD83 California Albers>
+<3311>;<NAD83(HARN) California Albers>
+<3312>;<CSG67 UTM zone 21N>
+<3313>;<RGFG95 UTM zone 21N>
+<3314>;<Katanga 1955 Katanga Lambert (deprecated)>
+<3315>;<Katanga 1955 Katanga TM (deprecated)>
+<3316>;<Kasai 1953 Congo TM zone 22>
+<3317>;<Kasai 1953 Congo TM zone 24>
+<3318>;<IGC 1962 Congo TM zone 12>
+<3319>;<IGC 1962 Congo TM zone 14>
+<3320>;<IGC 1962 Congo TM zone 16>
+<3321>;<IGC 1962 Congo TM zone 18>
+<3322>;<IGC 1962 Congo TM zone 20>
+<3323>;<IGC 1962 Congo TM zone 22>
+<3324>;<IGC 1962 Congo TM zone 24>
+<3325>;<IGC 1962 Congo TM zone 26>
+<3326>;<IGC 1962 Congo TM zone 28>
+<3327>;<IGC 1962 Congo TM zone 30>
@@ Diff output truncated at 100000 characters. @@
------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel