Class 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 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