Ticket #5681: Epsg3008-2.diff
| File Epsg3008-2.diff, 1.7 KB (added by , 15 years ago) |
|---|
-
src/org/openstreetmap/josm/data/projection/Epsg3008.java
5 5 6 6 import org.openstreetmap.josm.data.Bounds; 7 7 import org.openstreetmap.josm.data.coor.LatLon; 8 import org.openstreetmap.josm.data.coor.EastNorth; 8 9 10 9 11 /** 10 12 * SWEREF99 13 30 projection. Based on data from spatialreference.org. 11 13 * http://spatialreference.org/ref/epsg/3008/ … … 15 17 public class Epsg3008 extends TransverseMercator { 16 18 17 19 private final static double UTMScaleFactor = 1.0; 20 private double UTMCentralMeridianRad; 21 private double offsetEastMeters = 150000; 22 private double offsetNorthMeters = 0; 18 23 24 19 25 public Epsg3008() 20 26 { 21 setProjectionParameters(13.5, 150000, 0);27 UTMCentralMeridianRad = Math.toRadians(13.5); 22 28 } 23 29 24 30 @Override public String toString() { … … 49 55 new LatLon(55.2, 12.1), // new LatLon(-90.0, -180.0), 50 56 new LatLon(62.26, 14.65)); // new LatLon(90.0, 180.0)); 51 57 } 58 59 @Override 60 public EastNorth latlon2eastNorth(LatLon p) { 61 EastNorth a = mapLatLonToXY(Math.toRadians(p.lat()), Math.toRadians(p.lon()), UTMCentralMeridianRad); 62 return new EastNorth(a.east() * UTMScaleFactor + offsetEastMeters, a.north() * UTMScaleFactor + offsetNorthMeters); 63 } 64 65 @Override 66 public LatLon eastNorth2latlon(EastNorth p) { 67 return mapXYToLatLon((p.east() - offsetEastMeters)/UTMScaleFactor, (p.north() - offsetNorthMeters)/UTMScaleFactor, UTMCentralMeridianRad); 68 } 69 52 70 }
