public class GeoRelationUtils extends Object
Modifier and Type | Method and Description |
---|---|
static boolean |
pointInPolygon(double[] polyLats,
double[] polyLons,
double lat,
double lon)
simple even-odd point in polygon computation
1.
|
static boolean |
pointInRectPrecise(double lat,
double lon,
double minLat,
double maxLat,
double minLon,
double maxLon)
Determine if a bbox (defined by minLat, maxLat, minLon, maxLon) contains the provided point (defined by lat, lon)
NOTE: this is a basic method that does not handle dateline or pole crossing.
|
static boolean |
rectCrosses(double aMinLat,
double aMaxLat,
double aMinLon,
double aMaxLon,
double bMinLat,
double bMaxLat,
double bMinLon,
double bMaxLon)
Computes whether two rectangles cross
|
static boolean |
rectCrossesCircle(double rMinLat,
double rMaxLat,
double rMinLon,
double rMaxLon,
double centerLat,
double centerLon,
double radiusMeters,
boolean approx)
Computes whether a rectangle crosses a circle.
|
static boolean |
rectCrossesPolyApprox(double rMinLat,
double rMaxLat,
double rMinLon,
double rMaxLon,
double[] shapeLat,
double[] shapeLon,
double sMinLat,
double sMaxLat,
double sMinLon,
double sMaxLon)
Compute whether a rectangle crosses a shape.
|
static boolean |
rectCrossesPolyPrecise(double rMinLat,
double rMaxLat,
double rMinLon,
double rMaxLon,
double[] shapeLat,
double[] shapeLon,
double sMinLat,
double sMaxLat,
double sMinLon,
double sMaxLon)
Convenience method for accurately computing whether a rectangle crosses a poly
|
static boolean |
rectIntersects(double aMinLat,
double aMaxLat,
double aMinLon,
double aMaxLon,
double bMinLat,
double bMaxLat,
double bMinLon,
double bMaxLon)
Computes whether a rectangle intersects another rectangle (crosses, within, touching, etc)
|
static boolean |
rectWithin(double aMinLat,
double aMaxLat,
double aMinLon,
double aMaxLon,
double bMinLat,
double bMaxLat,
double bMinLon,
double bMaxLon)
Computes whether the first (a) rectangle is wholly within another (b) rectangle (shared boundaries allowed)
|
static boolean |
rectWithinCircle(double rMinLat,
double rMaxLat,
double rMinLon,
double rMaxLon,
double centerLat,
double centerLon,
double radiusMeters,
boolean approx)
Computes whether a rectangle is within a circle.
|
static boolean |
rectWithinPolyApprox(double rMinLat,
double rMaxLat,
double rMinLon,
double rMaxLon,
double[] shapeLats,
double[] shapeLons,
double sMinLat,
double sMaxLat,
double sMinLon,
double sMaxLon)
Computes whether a rectangle is within a given polygon (shared boundaries allowed)
|
static boolean |
rectWithinPolyPrecise(double rMinLat,
double rMaxLat,
double rMinLon,
double rMaxLon,
double[] shapeLats,
double[] shapeLons,
double sMinLat,
double sMaxLat,
double sMinLon,
double sMaxLon)
Computes whether a rectangle is within a polygon (shared boundaries not allowed) with more rigor than the
rectWithinPolyApprox(double, double, double, double, double[], double[], double, double, double, double) counterpart |
public static boolean pointInRectPrecise(double lat, double lon, double minLat, double maxLat, double minLon, double maxLon)
public static boolean pointInPolygon(double[] polyLats, double[] polyLons, double lat, double lon)
public static boolean rectWithin(double aMinLat, double aMaxLat, double aMinLon, double aMaxLon, double bMinLat, double bMaxLat, double bMinLon, double bMaxLon)
public static boolean rectCrosses(double aMinLat, double aMaxLat, double aMinLon, double aMaxLon, double bMinLat, double bMaxLat, double bMinLon, double bMaxLon)
public static boolean rectIntersects(double aMinLat, double aMaxLat, double aMinLon, double aMaxLon, double bMinLat, double bMaxLat, double bMinLon, double bMaxLon)
public static boolean rectCrossesPolyPrecise(double rMinLat, double rMaxLat, double rMinLon, double rMaxLon, double[] shapeLat, double[] shapeLon, double sMinLat, double sMaxLat, double sMinLon, double sMaxLon)
public static boolean rectCrossesPolyApprox(double rMinLat, double rMaxLat, double rMinLon, double rMaxLon, double[] shapeLat, double[] shapeLon, double sMinLat, double sMaxLat, double sMinLon, double sMaxLon)
public static boolean rectWithinPolyPrecise(double rMinLat, double rMaxLat, double rMinLon, double rMaxLon, double[] shapeLats, double[] shapeLons, double sMinLat, double sMaxLat, double sMinLon, double sMaxLon)
rectWithinPolyApprox(double, double, double, double, double[], double[], double, double, double, double)
counterpartpublic static boolean rectWithinPolyApprox(double rMinLat, double rMaxLat, double rMinLon, double rMaxLon, double[] shapeLats, double[] shapeLons, double sMinLat, double sMaxLat, double sMinLon, double sMaxLon)
public static boolean rectWithinCircle(double rMinLat, double rMaxLat, double rMinLon, double rMaxLon, double centerLat, double centerLon, double radiusMeters, boolean approx)
public static boolean rectCrossesCircle(double rMinLat, double rMaxLat, double rMinLon, double rMaxLon, double centerLat, double centerLon, double radiusMeters, boolean approx)
NOTE: this is basic method that does not handle dateline or pole crossing. Unwrapping must be done before calling this method.
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.