Class: Google::Apis::VectortileV1::FirstDerivativeElevationGrid

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/vectortile_v1/classes.rb,
generated/google/apis/vectortile_v1/representations.rb,
generated/google/apis/vectortile_v1/representations.rb

Overview

A packed representation of a 2D grid of uniformly spaced points containing elevation data. Each point within the grid represents the altitude in meters above average sea level at that location within the tile. Elevations provided are (generally) relative to the EGM96 geoid, however some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more than 2 meters. The grid is oriented north-west to south-east, as illustrated: rows[0].a[0] rows[0] .a[m] +-----------------+ | | | N | | ^ | | | | | W <-----> E | | | | | v | | S | | | +-----------------+ rows[n].a[0] rows[n].a[m] Rather than storing the altitudes directly, we store the diffs between them as integers at some requested level of precision to take advantage of integer packing. The actual altitude values a[] can be reconstructed using the scale and each row's first_altitude and altitude_diff fields.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ FirstDerivativeElevationGrid

Returns a new instance of FirstDerivativeElevationGrid.



345
346
347
# File 'generated/google/apis/vectortile_v1/classes.rb', line 345

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#altitude_multiplierFloat

A multiplier applied to the altitude fields below to extract the actual altitudes in meters from the elevation grid. Corresponds to the JSON property altitudeMultiplier

Returns:

  • (Float)


336
337
338
# File 'generated/google/apis/vectortile_v1/classes.rb', line 336

def altitude_multiplier
  @altitude_multiplier
end

#rowsArray<Google::Apis::VectortileV1::Row>

Rows of points containing altitude data making up the elevation grid. Each row is the same length. Rows are ordered from north to south. E.g: rows[0] is the north-most row, and rows[n] is the south-most row. Corresponds to the JSON property rows



343
344
345
# File 'generated/google/apis/vectortile_v1/classes.rb', line 343

def rows
  @rows
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



350
351
352
353
# File 'generated/google/apis/vectortile_v1/classes.rb', line 350

def update!(**args)
  @altitude_multiplier = args[:altitude_multiplier] if args.key?(:altitude_multiplier)
  @rows = args[:rows] if args.key?(:rows)
end