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 |
calcDist3D(double fromLat,
double fromLon,
double fromEle,
double toLat,
double toLon,
double toEle)
Calculates 3d 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
|
double |
calcNormalizedEdgeDistance3D(double r_lat_deg,
double r_lon_deg,
double r_ele_m,
double a_lat_deg,
double a_lon_deg,
double a_ele_m,
double b_lat_deg,
double b_lon_deg,
double b_ele_m)
This method calculates the distance from r to edge (a, b) where the crossing point is c including elevation
|
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 calcDist3D(double fromLat, double fromLon, double fromEle, double toLat, double toLon, double toEle)
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)
double calcNormalizedEdgeDistance3D(double r_lat_deg, double r_lon_deg, double r_ele_m, double a_lat_deg, double a_lon_deg, double a_ele_m, double b_lat_deg, double b_lon_deg, double b_ele_m)
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–2020. All rights reserved.