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    }