001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.projection.proj;
003
004import static org.openstreetmap.josm.tools.I18n.tr;
005
006import org.openstreetmap.josm.data.projection.ProjectionConfigurationException;
007
008/**
009 * Simple Lat/Lon (pseudo-)projection.
010 */
011public 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}