001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.projection.datum; 003 004import org.openstreetmap.josm.data.coor.LatLon; 005import org.openstreetmap.josm.data.projection.Ellipsoid; 006 007/** 008 * Represents a geodetic datum. 009 * 010 * Basically it provides conversion functions from and to the WGS84 datum. 011 */ 012public interface Datum { 013 014 /** 015 * @return a human readable name of this projection 016 */ 017 String getName(); 018 019 /** 020 * Replies the Proj.4 identifier. 021 * @return the Proj.4 identifier (as reported by cs2cs -ld) 022 * If no id exists, return null. 023 */ 024 String getProj4Id(); 025 026 /** 027 * @return the ellipsoid associated with this datum 028 */ 029 Ellipsoid getEllipsoid(); 030 031 /** 032 * Convert lat/lon from this datum to WGS84 datum. 033 */ 034 LatLon toWGS84(LatLon ll); 035 036 /** 037 * Convert lat/lon from WGS84 to this datum. 038 */ 039 LatLon fromWGS84(LatLon ll); 040 041}