Class GeoTileUtils
- java.lang.Object
-
- org.elasticsearch.search.aggregations.bucket.geogrid.GeoTileUtils
-
public final class GeoTileUtils extends Object
Implements geotile key hashing, same as used by many map tile implementations. The string key is formatted as "zoom/x/y" The hash value (long) contains all three of those values compacted into a single 64bit value: bits 58..63 -- zoom (0..29) bits 29..57 -- X tile index (0..2^zoom) bits 0..28 -- Y tile index (0..2^zoom)
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intcheckPrecisionRange(int precision)Assert the precision value is within the allowed range, and return it if ok, or throw.static longlongEncode(double longitude, double latitude, int precision)Encode lon/lat to the geotile based long format.static longlongEncode(String hashAsString)Encode a geotile hash style string to a long.static StringstringEncode(long hash)Encode to a geotile string from the geotile based long format
-
-
-
Method Detail
-
checkPrecisionRange
public static int checkPrecisionRange(int precision)
Assert the precision value is within the allowed range, and return it if ok, or throw.
-
longEncode
public static long longEncode(double longitude, double latitude, int precision)Encode lon/lat to the geotile based long format. The resulting hash contains interleaved tile X and Y coordinates. The precision itself is also encoded as a few high bits.
-
longEncode
public static long longEncode(String hashAsString)
Encode a geotile hash style string to a long.- Parameters:
hashAsString- String in format "zoom/x/y"- Returns:
- long encoded value of the given string hash
-
stringEncode
public static String stringEncode(long hash)
Encode to a geotile string from the geotile based long format
-
-