source: josm/trunk/src/org/openstreetmap/josm/data/projection/datum/Datum.java@ 5072

Last change on this file since 5072 was 4285, checked in by bastiK, 13 years ago

major projection rework

More modular structure, inspired by Proj.4.

There are almost no semantic changes to the projection algorithms. Mostly factors of 'a' and 180/PI have been moved from one place to the other. In UTM_France_DOM, the ellipsoid conversion for the first 3 projections has been changed from hayford <-> GRS80 to hayford <-> WGS84.

Some redundant algorithms have been removed. In particular:

  • UTM_France_DOM used to have its own Transverse Mercator implementation. It is different from the implementation in TransverseMercator.java as it has another series expansion. For EPSG::2975, there are numeric differences on centimeter scale. However, the new data fits better with Proj.4 output.
  • Also removed are alternate implementations of LambertConformalConic. (They are all quite similar, though.)
  • Property svn:eol-style set to native
File size: 914 bytes
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.projection.datum;
3
4import org.openstreetmap.josm.data.coor.LatLon;
5import org.openstreetmap.josm.data.projection.Ellipsoid;
6
7/**
8 * Represents a geodetic datum.
9 *
10 * Basically it provides conversion functions from and to the WGS84 datum.
11 */
12public interface Datum {
13
14 /**
15 * @return a human readable name of this projection
16 */
17 String getName();
18
19 /**
20 * @return the Proj.4 identifier
21 * (as reported by cs2cs -ld)
22 * If no id exists, return null.
23 */
24 String getProj4Id();
25
26 /**
27 * @return the ellipsoid associated with this datum
28 */
29 Ellipsoid getEllipsoid();
30
31 /**
32 * Convert lat/lon from this datum to WGS84 datum.
33 */
34 LatLon toWGS84(LatLon ll);
35
36 /**
37 * Convert lat/lon from WGS84 to this datum.
38 */
39 LatLon fromWGS84(LatLon ll);
40
41}
Note: See TracBrowser for help on using the repository browser.