GeoPoint extends AbstractGeoJson implements Parcelable,
                   IMathConstants,
                   IGeoConstants,
                   Comparable<GeoPoint> { public double distanceTo(@NonNull final GeoPoint other) { final double dLat = (other.getLatitude() - getLatitude()) * DEG2RAD; final double dLng = (other.getLongitude() - getLongitude()) * DEG2RAD; final double lat1 = this.getLatitude() * DEG2RAD; final double lat2 = other.getLongitude() * DEG2RAD; final double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.sin(dLng / 2) * Math.sin(dLng / 2) * Math.cos(lat1) * Math.cos(lat2); final double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); return (RADIUS_EARTH_METERS * c); } GeoPoint(final int latitudeE6,
                    final int longitudeE6);  GeoPoint(final double latitude,
                    final double longitude);  GeoPoint(@NonNull final Point point); protected  GeoPoint(Parcel source); double getLatitude(); double getLongitude(); @NonNull Point getPoint(); double distanceTo(@NonNull final GeoPoint other); @Override int describeContents(); @Override void writeToParcel(Parcel dest,
                              int flags); @Override int compareTo(@NonNull GeoPoint another); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); static final Creator<GeoPoint> CREATOR; }
@Test public void testDistanceTo() throws Exception { final GeoPoint geoPoint1 = new GeoPoint(47.225782d, -1.554476d); final GeoPoint geoPoint2 = new GeoPoint(47.226468d, -1.554996d); final double distance = geoPoint1.distanceTo(geoPoint2); assertTrue(distance > 90d); assertTrue(distance < 91d); }