Index: org.gvsig.projection.jcrs.lib/src/main/java/org/gvsig/crs/Proj4.java =================================================================== --- org.gvsig.projection.jcrs.lib/src/main/java/org/gvsig/crs/Proj4.java (revisione 264) +++ org.gvsig.projection.jcrs.lib/src/main/java/org/gvsig/crs/Proj4.java (copia locale) @@ -46,11 +46,13 @@ import javax.units.ConversionException; import javax.units.Unit; +import org.geotools.referencing.CRS; import org.geotools.referencing.crs.DefaultGeographicCRS; import org.geotools.referencing.crs.DefaultProjectedCRS; import org.geotools.referencing.datum.DefaultGeodeticDatum; import org.geotools.referencing.datum.DefaultPrimeMeridian; import org.opengis.metadata.Identifier; +import org.opengis.referencing.NoSuchAuthorityCodeException; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.datum.Ellipsoid; import org.opengis.referencing.datum.PrimeMeridian; @@ -85,6 +87,11 @@ */ private static final double EPS = 1E-8; + /** + * EPSG codes of the Swiss Oblique Mercator CRSs + */ + private static final Integer[] somerc_codes = { 2056, 21780, 21781, 21782, 23700 }; + public Proj4() throws CrsException { //defineProjectionNames(); @@ -3300,8 +3307,10 @@ if(projectionName.equals("Oblique_Mercator")) { isOmerc=true; - if (crs.getCode()==21781) - isSomerc=true; + for (int i = 0; i < somerc_codes.length; i++) { + if (crs.getCode() == somerc_codes[i]) + isSomerc=true; + } for(int j=0;j