public interface DistanceCalc
See http://en.wikipedia.org/wiki/Haversine_formula
Modifier and Type | Method and Description |
---|---|
double |
calcCircumference(double lat) |
GHPoint |
calcCrossingPointToEdge(double r_lat_deg,
double r_lon_deg,
double a_lat_deg,
double a_lon_deg,
double b_lat_deg,
double b_lon_deg) |
double |
calcDenormalizedDist(double normedDist)
Inverse to calcNormalizedDist.
|
double |
calcDist(double fromLat,
double fromLon,
double toLat,
double toLon)
Calculates distance of (from, to) in meter.
|
double |
calcNormalizedDist(double dist)
Returns the specified length in normalized meter.
|
double |
calcNormalizedDist(double fromLat,
double fromLon,
double toLat,
double toLon)
Calculates in normalized meter
|
double |
calcNormalizedEdgeDistance(double r_lat_deg,
double r_lon_deg,
double a_lat_deg,
double a_lon_deg,
double b_lat_deg,
double b_lon_deg)
This method calculates the distance from r to edge (a, b) where the crossing point is c
|
BBox |
createBBox(double lat,
double lon,
double radiusInMeter) |
boolean |
isCrossBoundary(double lon1,
double lon2) |
GHPoint |
projectCoordinate(double lat,
double lon,
double distanceInMeter,
double headingClockwiseFromNorth)
This methods creates a point (lat, lon in degrees) in a certain distance and direction from the specified
point (lat, lon in degrees).
|
boolean |
validEdgeDistance(double r_lat_deg,
double r_lon_deg,
double a_lat_deg,
double a_lon_deg,
double b_lat_deg,
double b_lon_deg)
This method decides for case 1: if we should use distance(r to edge) where r=(lat,lon) or
case 2: min(distance(r to a), distance(r to b)) where edge=(a to b).
|
BBox createBBox(double lat, double lon, double radiusInMeter)
double calcCircumference(double lat)
double calcDist(double fromLat, double fromLon, double toLat, double toLon)
double calcNormalizedDist(double dist)
double calcDenormalizedDist(double normedDist)
double calcNormalizedDist(double fromLat, double fromLon, double toLat, double toLon)
boolean validEdgeDistance(double r_lat_deg, double r_lon_deg, double a_lat_deg, double a_lon_deg, double b_lat_deg, double b_lon_deg)
case 1 (including ): r . a-------b
case 2: r . a-------b
double calcNormalizedEdgeDistance(double r_lat_deg, double r_lon_deg, double a_lat_deg, double a_lon_deg, double b_lat_deg, double b_lon_deg)
GHPoint calcCrossingPointToEdge(double r_lat_deg, double r_lon_deg, double a_lat_deg, double a_lon_deg, double b_lat_deg, double b_lon_deg)
GHPoint projectCoordinate(double lat, double lon, double distanceInMeter, double headingClockwiseFromNorth)
boolean isCrossBoundary(double lon1, double lon2)
Copyright © 2012–2018. All rights reserved.