+ public WorldCoordinate addCoordinate(WorldCoordinate location, Coordinate delta) {
+
+ double metersPerDegreeLongitude = METERS_PER_DEGREE_LONGITUDE_EQUATOR * Math.cos(location.getLatitudeRad());
+ // Limit to 1 meter per degree near poles
+ metersPerDegreeLongitude = MathUtil.max(metersPerDegreeLongitude, 1);
+
+ double newLat = location.getLatitudeDeg() + delta.y / METERS_PER_DEGREE_LATITUDE;
+ double newLon = location.getLongitudeDeg() + delta.x / metersPerDegreeLongitude;
+ double newAlt = location.getAltitude() + delta.z;
+
+ return new WorldCoordinate(newLat, newLon, newAlt);