// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.opendata.core.datasets.at;
import org.geotools.referencing.CRS;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.NoSuchAuthorityCodeException;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.openstreetmap.josm.plugins.opendata.core.io.geographic.DefaultGmlHandler;
public class AustrianGmlHandler extends DefaultGmlHandler {
@Override
public CoordinateReferenceSystem getCrsFor(String crsName)
throws NoSuchAuthorityCodeException, FactoryException {
// See http://www.esri-austria.at/downloads/coords_at.html
if (crsName != null && crsName.startsWith("AUT")) {
// CHECKSTYLE.OFF: LineLength
if (crsName.equalsIgnoreCase("AUT-GK28")) { // Gauß-Krüger, Meridianstreifen M28
return CRS.decode("EPSG:31281");
} else if (crsName.equalsIgnoreCase("AUT-GK31")) { // Gauß-Krüger, Meridianstreifen M31
return CRS.decode("EPSG:31282");
} else if (crsName.equalsIgnoreCase("AUT-GK34")) { // Gauß-Krüger, Meridianstreifen M34
return CRS.decode("EPSG:31283");
} else if (crsName.equalsIgnoreCase("AUT-GK28-5")) { // Gauß-Krüger, Meridianstreifen M28, ohne 5 Mio. im Hochwert
return CRS.decode("EPSG:31251");
} else if (crsName.equalsIgnoreCase("AUT-GK31-5")) { // Gauß-Krüger, Meridianstreifen M31, ohne 5 Mio. im Hochwert
return CRS.decode("EPSG:31252");
} else if (crsName.equalsIgnoreCase("AUT-GK34-5")) { // Gauß-Krüger, Meridianstreifen M34, ohne 5 Mio. im Hochwert
return CRS.decode("EPSG:31253");
} else if (crsName.equalsIgnoreCase("AUT-BM28")) { // Bundesmeldenetz, Meridianstreifen M28
return CRS.decode("EPSG:31288");
} else if (crsName.equalsIgnoreCase("AUT-BM31")) { // Bundesmeldenetz, Meridianstreifen M31
return CRS.decode("EPSG:31289");
} else if (crsName.equalsIgnoreCase("AUT-BM34")) { // Bundesmeldenetz, Meridianstreifen M34
return CRS.decode("EPSG:31290");
} else if (crsName.equalsIgnoreCase("AUT-LM")) { // Lambertsche Kegelprojektion (geogr. Breite des Koo.Ursprungs = 47°30')
return CRS.decode("EPSG:31287");
} else if (crsName.equalsIgnoreCase("AUT-LL-BESSEL")) { // Geographische Koordinaten auf dem Bessel-Ellipsoid, Längenzählung nach Greenwich
// See http://josebatiz.com/granvision/Almap/Install/Data1/_B5694C166D6A4B5390B1E547C6A1FAF6
// FIXME
}
// CHECKSTYLE.ON: LineLength
}
return super.getCrsFor(crsName);
}
}