24.11.2009, 22:08
(This post was last modified: 24.11.2009, 22:09 by routeconverter.)
(24.11.2009, 21:56)pebogufi Wrote: Hallo Christian,
meine Frage richtet sich speziell an Dich.
Für Berechnungen zu GPS-Koordinaten brauche ich die Differenz zwischen zwei Positionen (x1,y1) - (x2,y2).
[..]
Da gibt es doch bestimmt eine Formel.
Bezugssystem ist bevorzugt WGS 84.
Kannst du mir da weiterhelfen ?
Hallo Peter,
schau Dir mal die Klasse Bearing an. Die modelliert die Erde genauer als Ellipsoid und berechnet dann Entfernungen:
/**
* Computes distance (in meters), azimuth (degrees clockwise positive
* from North, 0 to 360), and back azimuth (degrees clockwise positive
* from North, 0 to 360), from latitude-longituide point pt1 to
* latitude-longituide pt2.<p>
* Algorithm from U.S. National Geodetic Survey, FORTRAN program "inverse,"
* subroutine "INVER1," by L. PFEIFER and JOHN G. GERGEN.
* See http://www.ngs.noaa.gov/TOOLS/Inv_Fwd/Inv_Fwd.html
* <P>Original documentation:
* <br>SOLUTION OF THE GEODETIC INVERSE PROBLEM AFTER T.VINCENTY
* <br>MODIFIED RAINSFORD'S METHOD WITH HELMERT'S ELLIPTICAL TERMS
* <br>EFFECTIVE IN ANY AZIMUTH AND AT ANY DISTANCE SHORT OF ANTIPODAL
* <br>STANDPOINT/FOREPOINT MUST NOT BE THE GEOGRAPHIC POLE
* </P>
* Reference ellipsoid is the WGS-84 ellipsoid.
* <br>See http://www.colorado.edu/geography/gcraft...elist.html
* <p/>
* Requires close to 1.4 E-5 seconds wall clock time per call
* on a 550 MHz Pentium with Linux 7.2.
*
* @param longitude1 Lon of point 1
* @param latitude1 Lat of point 1
* @param longitude2 Lon of point 2
* @param latitude2 Lat of point 2
* @return a Bearing object with distance (in meters), azimuth from
* pt1 to pt2 (degrees, 0 = north, clockwise positive)
*/
public static Bearing calculateBearing(double longitude1, double latitude1,
double longitude2, double latitude2) {
[..]
}
--
Christian
Christian
