Class: Google::Apis::StreetviewpublishV1::Pose

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

Overview

Raw pose measurement for an entity.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Pose

Returns a new instance of Pose



549
550
551
# File 'generated/google/apis/streetviewpublish_v1/classes.rb', line 549

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

Instance Attribute Details

#altitudeFloat

Altitude of the pose in meters above ground level (as defined by WGS84). NaN indicates an unmeasured quantity. Corresponds to the JSON property altitude

Returns:

  • (Float)


481
482
483
# File 'generated/google/apis/streetviewpublish_v1/classes.rb', line 481

def altitude
  @altitude
end

#headingFloat

Compass heading, measured at the center of the photo in degrees clockwise from North. Value must be >=0 and <360. NaN indicates an unmeasured quantity. Corresponds to the JSON property heading

Returns:

  • (Float)


488
489
490
# File 'generated/google/apis/streetviewpublish_v1/classes.rb', line 488

def heading
  @heading
end

#lat_lng_pairGoogle::Apis::StreetviewpublishV1::LatLng

An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wraps decimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-90.0, 90.0] and [-180.0, 180.0], respectively.""" r = latitude % 360.0 if r <= 90.0: return r, NormalizeLongitude(longitude) elif r >= 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) Corresponds to the JSON property latLngPair



527
528
529
# File 'generated/google/apis/streetviewpublish_v1/classes.rb', line 527

def lat_lng_pair
  @lat_lng_pair
end

#levelGoogle::Apis::StreetviewpublishV1::Level

Level information containing level number and its corresponding name. Corresponds to the JSON property level



532
533
534
# File 'generated/google/apis/streetviewpublish_v1/classes.rb', line 532

def level
  @level
end

#pitchFloat

Pitch, measured at the center of the photo in degrees. Value must be >=-90 and <= 90. A value of -90 means looking directly down, and a value of 90 means looking directly up. NaN indicates an unmeasured quantity. Corresponds to the JSON property pitch

Returns:

  • (Float)


540
541
542
# File 'generated/google/apis/streetviewpublish_v1/classes.rb', line 540

def pitch
  @pitch
end

#rollFloat

Roll, measured in degrees. Value must be >= 0 and <360. A value of 0 means level with the horizon. NaN indicates an unmeasured quantity. Corresponds to the JSON property roll

Returns:

  • (Float)


547
548
549
# File 'generated/google/apis/streetviewpublish_v1/classes.rb', line 547

def roll
  @roll
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



554
555
556
557
558
559
560
561
# File 'generated/google/apis/streetviewpublish_v1/classes.rb', line 554

def update!(**args)
  @altitude = args[:altitude] if args.key?(:altitude)
  @heading = args[:heading] if args.key?(:heading)
  @lat_lng_pair = args[:lat_lng_pair] if args.key?(:lat_lng_pair)
  @level = args[:level] if args.key?(:level)
  @pitch = args[:pitch] if args.key?(:pitch)
  @roll = args[:roll] if args.key?(:roll)
end