public final class GeoUtils extends Object
Modifier and Type | Field and Description |
---|---|
static short |
BITS |
static double |
MAX_LAT_INCL
Maximum latitude value.
|
static double |
MAX_LON_INCL
Maximum longitude value.
|
static double |
MIN_LAT_INCL
Minimum latitude value.
|
static double |
MIN_LON_INCL
Minimum longitude value.
|
static double |
TOLERANCE |
Modifier and Type | Method and Description |
---|---|
static boolean |
bboxContains(double lon,
double lat,
double minLon,
double minLat,
double maxLon,
double maxLat)
Determine if a bbox (defined by minLon, minLat, maxLon, maxLat) contains the provided point (defined by lon, lat)
NOTE: this is a basic method that does not handle dateline or pole crossing.
|
static GeoRect |
circleToBBox(double centerLon,
double centerLat,
double radiusMeters)
Compute Bounding Box for a circle using WGS-84 parameters
|
static ArrayList<double[]> |
circleToPoly(double lon,
double lat,
double radiusMeters)
Converts a given circle (defined as a point/radius) to an approximated line-segment polygon
|
static double |
compare(double v1,
double v2) |
static String |
geoTermToString(long term) |
static boolean |
isValidLat(double lat) |
static boolean |
isValidLon(double lon) |
static boolean |
lineCrossesPoly(double x1,
double y1,
double x2,
double y2,
double[] shapeX,
double[] shapeY,
double sMinX,
double sMinY,
double sMaxX,
double sMaxY) |
static Long |
mortonHash(double lon,
double lat) |
static double |
mortonUnhashLat(long hash) |
static double |
mortonUnhashLon(long hash) |
static double |
normalizeLat(double lat_deg)
Puts latitude in range of -90 to 90.
|
static double |
normalizeLon(double lon_deg)
Puts longitude in range of -180 to +180.
|
static boolean |
pointInPolygon(double[] x,
double[] y,
double lat,
double lon)
simple even-odd point in polygon computation
1.
|
static GeoRect |
polyToBBox(double[] polyLons,
double[] polyLats) |
static boolean |
rectContains(double aMinX,
double aMinY,
double aMaxX,
double aMaxY,
double bMinX,
double bMinY,
double bMaxX,
double bMaxY)
Computes whether rectangle a contains rectangle b (touching allowed)
|
static boolean |
rectCrosses(double aMinX,
double aMinY,
double aMaxX,
double aMaxY,
double bMinX,
double bMinY,
double bMaxX,
double bMaxY) |
static boolean |
rectCrossesCircle(double rMinX,
double rMinY,
double rMaxX,
double rMaxY,
double centerLon,
double centerLat,
double radiusMeters)
Determine if a bbox (defined by minLon, minLat, maxLon, maxLat) contains the provided point (defined by lon, lat)
NOTE: this is basic method that does not handle dateline or pole crossing.
|
static boolean |
rectCrossesPoly(double rMinX,
double rMinY,
double rMaxX,
double rMaxY,
double[] shapeX,
double[] shapeY,
double sMinX,
double sMinY,
double sMaxX,
double sMaxY)
Computes whether a rectangle crosses a shape.
|
static boolean |
rectDisjoint(double aMinX,
double aMinY,
double aMaxX,
double aMaxY,
double bMinX,
double bMinY,
double bMaxX,
double bMaxY) |
static boolean |
rectIntersects(double aMinX,
double aMinY,
double aMaxX,
double aMaxY,
double bMinX,
double bMinY,
double bMaxX,
double bMaxY)
Computes whether a rectangle intersects another rectangle (crosses, within, touching, etc)
|
static boolean |
rectWithin(double aMinX,
double aMinY,
double aMaxX,
double aMaxY,
double bMinX,
double bMinY,
double bMaxX,
double bMaxY)
Computes whether the first (a) rectangle is wholly within another (b) rectangle (shared boundaries allowed)
|
static boolean |
rectWithinCircle(double rMinX,
double rMinY,
double rMaxX,
double rMaxY,
double centerLon,
double centerLat,
double radiusMeters) |
static boolean |
rectWithinPoly(double rMinX,
double rMinY,
double rMaxX,
double rMaxY,
double[] shapeX,
double[] shapeY,
double sMinX,
double sMinY,
double sMaxX,
double sMaxY)
Computes whether a rectangle is within a given polygon (shared boundaries allowed)
|
public static final short BITS
public static final double TOLERANCE
public static final double MIN_LON_INCL
public static final double MAX_LON_INCL
public static final double MIN_LAT_INCL
public static final double MAX_LAT_INCL
public static final Long mortonHash(double lon, double lat)
public static final double mortonUnhashLon(long hash)
public static final double mortonUnhashLat(long hash)
public static double compare(double v1, double v2)
public static double normalizeLon(double lon_deg)
public static double normalizeLat(double lat_deg)
public static boolean bboxContains(double lon, double lat, double minLon, double minLat, double maxLon, double maxLat)
public static boolean pointInPolygon(double[] x, double[] y, double lat, double lon)
public static String geoTermToString(long term)
public static boolean rectDisjoint(double aMinX, double aMinY, double aMaxX, double aMaxY, double bMinX, double bMinY, double bMaxX, double bMaxY)
public static boolean rectWithin(double aMinX, double aMinY, double aMaxX, double aMaxY, double bMinX, double bMinY, double bMaxX, double bMaxY)
public static boolean rectCrosses(double aMinX, double aMinY, double aMaxX, double aMaxY, double bMinX, double bMinY, double bMaxX, double bMaxY)
public static boolean rectContains(double aMinX, double aMinY, double aMaxX, double aMaxY, double bMinX, double bMinY, double bMaxX, double bMaxY)
public static boolean rectIntersects(double aMinX, double aMinY, double aMaxX, double aMaxY, double bMinX, double bMinY, double bMaxX, double bMaxY)
public static boolean rectCrossesPoly(double rMinX, double rMinY, double rMaxX, double rMaxY, double[] shapeX, double[] shapeY, double sMinX, double sMinY, double sMaxX, double sMaxY)
public static boolean lineCrossesPoly(double x1, double y1, double x2, double y2, double[] shapeX, double[] shapeY, double sMinX, double sMinY, double sMaxX, double sMaxY)
public static ArrayList<double[]> circleToPoly(double lon, double lat, double radiusMeters)
lon
- longitudinal center of circle (in degrees)lat
- latitudinal center of circle (in degrees)radiusMeters
- distance radius of circle (in meters)public static boolean rectWithinPoly(double rMinX, double rMinY, double rMaxX, double rMaxY, double[] shapeX, double[] shapeY, double sMinX, double sMinY, double sMaxX, double sMaxY)
public static boolean rectWithinCircle(double rMinX, double rMinY, double rMaxX, double rMaxY, double centerLon, double centerLat, double radiusMeters)
public static boolean rectCrossesCircle(double rMinX, double rMinY, double rMaxX, double rMaxY, double centerLon, double centerLat, double radiusMeters)
public static GeoRect circleToBBox(double centerLon, double centerLat, double radiusMeters)
public static GeoRect polyToBBox(double[] polyLons, double[] polyLats)
public static boolean isValidLat(double lat)
public static boolean isValidLon(double lon)
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.