package geotest; import com.bbn.openmap.geo.Geo; public class GeoTest { public GeoTest() { } public static void main(String[] args) { Geo g1 = new Geo(20, 20); System.out.println("g1 : " + g1); Geo g2 = new Geo(30, 30); System.out.println("g2 : " + g2); double radDist = g1.distance(g2); System.out.println("distance (radians) : " + radDist); double radAz = g1.azimuth(g2); System.out.println("azimuth (radians) : " + radAz); Geo fullOffset = g1.offset(radDist, radAz); System.out.println("g1 after offset (distance, azimuth) : " + fullOffset); double latDev = g2.getLatitude() - fullOffset.getLatitude(); double lonDev = g2.getLongitude() - fullOffset.getLongitude(); System.out.println("Deviation from g2 (lat, lon) : (" + latDev + ", " + lonDev + ")"); System.out.println(); int n = 10; double distTenth = radDist / n; System.out.println("1/" + n + " distance (radians) : " + distTenth); System.out.println("Moving g1 (offset) " + n + " times, without changing azimuth, by this distance :"); Geo current = g1; for (int i = 1; i <= n; i++) { current = current.offset(distTenth, radAz); System.out.println("after offset " + i + " : " + current); } latDev = g2.getLatitude() - current.getLatitude(); lonDev = g2.getLongitude() - current.getLongitude(); System.out.println("Deviation from g2 (lat, lon) : (" + latDev + ", " + lonDev + ")"); } }