001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.data.projection.proj;
003
004 import static org.openstreetmap.josm.tools.I18n.tr;
005
006 import org.openstreetmap.josm.data.projection.ProjectionConfigurationException;
007
008 /**
009 * Simple Lat/Lon (pseudo-)projection.
010 */
011 public class LonLat implements Proj {
012
013 private double a;
014
015 @Override
016 public String getName() {
017 return tr("Lat/lon (Geodetic)");
018 }
019
020 @Override
021 public String getProj4Id() {
022 return "lonlat";
023 }
024
025 @Override
026 public void initialize(ProjParameters params) throws ProjectionConfigurationException {
027 a = params.ellps.a;
028 }
029
030 @Override
031 public double[] project(double lat_rad, double lon_rad) {
032 return new double[] { Math.toDegrees(lon_rad) / a, Math.toDegrees(lat_rad) / a };
033 }
034
035 @Override
036 public double[] invproject(double east, double north) {
037 return new double[] { Math.toRadians(north * a), Math.toRadians(east * a) };
038 }
039 }