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) |
static ArrayList<double[]> |
circleToPoly(double lon,
double lat,
double radius)
Converts a given circle (defined as a point/radius) to an approximated line-segment polygon
|
static boolean |
circleWithinRect(double rMinX,
double rMinY,
double rMaxX,
double rMaxY,
double centerLon,
double centerLat,
double radius) |
static double |
compare(double v1,
double v2) |
static String |
geoTermToString(long term) |
static boolean |
isValidLat(double lat) |
static boolean |
isValidLon(double lon) |
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 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 radius)
Computes whether a rectangle crosses a circle
|
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 a rectangle is wholly within another rectangle (shared boundaries allowed)
|
static boolean |
rectWithinCircle(double rMinX,
double rMinY,
double rMaxX,
double rMaxY,
double centerLon,
double centerLat,
double radius) |
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 Long mortonHash(double lon, double lat)
public static double mortonUnhashLon(long hash)
public static 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 final 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 ArrayList<double[]> circleToPoly(double lon, double lat, double radius)
lon
- longitudinal center of circle (in degrees)lat
- latitudinal center of circle (in degrees)radius
- 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 radius)
public static boolean rectCrossesCircle(double rMinX, double rMinY, double rMaxX, double rMaxY, double centerLon, double centerLat, double radius)
public static boolean circleWithinRect(double rMinX, double rMinY, double rMaxX, double rMaxY, double centerLon, double centerLat, double radius)
public static boolean isValidLat(double lat)
public static boolean isValidLon(double lon)
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.