Class: Google::Apis::VisionV1::LatLongRect
- Inherits:
-
Object
- Object
- Google::Apis::VisionV1::LatLongRect
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/vision_v1/classes.rb,
generated/google/apis/vision_v1/representations.rb,
generated/google/apis/vision_v1/representations.rb
Overview
Rectangle determined by min and max LatLng pairs.
Instance Attribute Summary collapse
-
#max_lat_lng ⇒ Google::Apis::VisionV1::LatLng
An object representing a latitude/longitude pair.
-
#min_lat_lng ⇒ Google::Apis::VisionV1::LatLng
An object representing a latitude/longitude pair.
Instance Method Summary collapse
-
#initialize(**args) ⇒ LatLongRect
constructor
A new instance of LatLongRect.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ LatLongRect
Returns a new instance of LatLongRect
623 624 625 |
# File 'generated/google/apis/vision_v1/classes.rb', line 623 def initialize(**args) update!(**args) end |
Instance Attribute Details
#max_lat_lng ⇒ Google::Apis::VisionV1::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)
The code in logs/storage/validator/logs_validator_traits.cc treats this type
as if it were annotated as ST_LOCATION.
Corresponds to the JSON property maxLatLng
621 622 623 |
# File 'generated/google/apis/vision_v1/classes.rb', line 621 def max_lat_lng @max_lat_lng end |
#min_lat_lng ⇒ Google::Apis::VisionV1::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)
The code in logs/storage/validator/logs_validator_traits.cc treats this type
as if it were annotated as ST_LOCATION.
Corresponds to the JSON property minLatLng
580 581 582 |
# File 'generated/google/apis/vision_v1/classes.rb', line 580 def min_lat_lng @min_lat_lng end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
628 629 630 631 |
# File 'generated/google/apis/vision_v1/classes.rb', line 628 def update!(**args) @min_lat_lng = args[:min_lat_lng] if args.key?(:min_lat_lng) @max_lat_lng = args[:max_lat_lng] if args.key?(:max_lat_lng) end |