Class: PbfReverseGeocoder::GeometryDecoder

Inherits:
Object
  • Object
show all
Defined in:
lib/pbf_reverse_geocoder/geometry_decoder.rb

Constant Summary collapse

EXTENT =

MVT標準のタイル解像度

4096

Class Method Summary collapse

Class Method Details

.decode(geometry, tile_x, tile_y, zoom) ⇒ Array<Array<Float>>

MVTジオメトリをデコードして緯度経度ポリゴンに変換

Examples:

GeometryDecoder.decode([9, 50, 34, ...], 904, 403, 10)
#=> [[139.7671, 35.6812], ...]

Parameters:

  • geometry (Array<Integer>)

    MVTエンコードされたジオメトリ

  • tile_x (Integer)

    タイルX座標

  • tile_y (Integer)

    タイルY座標

  • zoom (Integer)

    ズームレベル

Returns:

  • (Array<Array<Float>>)
    [lng, lat], …

    緯度経度座標の配列



23
24
25
26
27
28
# File 'lib/pbf_reverse_geocoder/geometry_decoder.rb', line 23

def self.decode(geometry, tile_x, tile_y, zoom)
  return [] if geometry.nil? || geometry.empty?

  coordinates = decode_commands(geometry)
  tile_coords_to_lng_lat(coordinates, tile_x, tile_y, zoom)
end