Class: Google::Apis::VisionV1::LocationInfo
- Inherits:
-
Object
- Object
- Google::Apis::VisionV1::LocationInfo
- 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
Detected entity location information.
Instance Attribute Summary collapse
-
#lat_lng ⇒ Google::Apis::VisionV1::LatLng
An object representing a latitude/longitude pair.
Instance Method Summary collapse
-
#initialize(**args) ⇒ LocationInfo
constructor
A new instance of LocationInfo.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ LocationInfo
Returns a new instance of LocationInfo
1083 1084 1085 |
# File 'generated/google/apis/vision_v1/classes.rb', line 1083 def initialize(**args) update!(**args) end |
Instance Attribute Details
#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 latLng
1081 1082 1083 |
# File 'generated/google/apis/vision_v1/classes.rb', line 1081 def lat_lng @lat_lng end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1088 1089 1090 |
# File 'generated/google/apis/vision_v1/classes.rb', line 1088 def update!(**args) @lat_lng = args[:lat_lng] if args.key?(:lat_lng) end |