Package org.locationtech.spatial4j.io
Class GeohashUtils
java.lang.Object
org.locationtech.spatial4j.io.GeohashUtils
Utilities for encoding and decoding geohashes.
This class isn't used by any other part of Spatial4j; it's included largely for convenience of software using Spatial4j. There are other open-source libraries that have more comprehensive geohash utilities but providing this one avoids an additional dependency for what's a small amount of code. If you're using Spatial4j just for this class, consider alternatives.
This code originally came from Apache Lucene, LUCENE-1512.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final char[]
private static final int[]
private static final int[]
private static final double[]
See the table at http://en.wikipedia.org/wiki/Geohashprivate static final double[]
See the table at http://en.wikipedia.org/wiki/Geohashstatic final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Point
decode
(String geohash, SpatialContext ctx) Decodes the given geohash into a longitude (X) and latitude (Y)static Rectangle
decodeBoundary
(String geohash, SpatialContext ctx) Returns min-max lon (X), min-max lat (Y).static String
encodeLatLon
(double latitude, double longitude) Encodes the given latitude and longitude into a geohashstatic String
encodeLatLon
(double latitude, double longitude, int precision) static String[]
getSubGeohashes
(String baseGeohash) Array of geohashes 1 level below the baseGeohash.static double[]
lookupDegreesSizeForHashLen
(int hashLen) static int
lookupHashLenForWidthHeight
(double lonErr, double latErr) Return the shortest geohash length that will have a width & height >= specified arguments.
-
Field Details
-
BASE_32
private static final char[] BASE_32 -
BASE_32_IDX
private static final int[] BASE_32_IDX -
MAX_PRECISION
public static final int MAX_PRECISION- See Also:
-
BITS
private static final int[] BITS -
hashLenToLatHeight
private static final double[] hashLenToLatHeightSee the table at http://en.wikipedia.org/wiki/Geohash -
hashLenToLonWidth
private static final double[] hashLenToLonWidthSee the table at http://en.wikipedia.org/wiki/Geohash
-
-
Constructor Details
-
GeohashUtils
private GeohashUtils()
-
-
Method Details
-
encodeLatLon
Encodes the given latitude and longitude into a geohash- Parameters:
latitude
- Latitude to encodelongitude
- Longitude to encode- Returns:
- Geohash encoding of the longitude and latitude
-
encodeLatLon
-
decode
Decodes the given geohash into a longitude (X) and latitude (Y) -
decodeBoundary
Returns min-max lon (X), min-max lat (Y). -
getSubGeohashes
Array of geohashes 1 level below the baseGeohash. Sorted. -
lookupDegreesSizeForHashLen
public static double[] lookupDegreesSizeForHashLen(int hashLen) -
lookupHashLenForWidthHeight
public static int lookupHashLenForWidthHeight(double lonErr, double latErr) Return the shortest geohash length that will have a width & height >= specified arguments.
-