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 }