Class: Google::Apis::VisionV1::LatLng
- Inherits:
-
Object
- Object
- Google::Apis::VisionV1::LatLng
- Includes:
- Core::Hashable
- Defined in:
- lib/google/apis/vision_v1/classes.rb,
lib/google/apis/vision_v1/representations.rb,
lib/google/apis/vision_v1/representations.rb
Overview
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 <a href=“www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf”>WGS84 standard</a>. 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
- -180.0, 180.0
-
and [-90.0, 90.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)
Defined Under Namespace
Classes: Representation
Instance Attribute Summary collapse
-
#latitude ⇒ Float
The latitude in degrees.
-
#longitude ⇒ Float
The longitude in degrees.
Instance Method Summary collapse
-
#initialize(**args) ⇒ LatLng
constructor
A new instance of LatLng.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ LatLng
Returns a new instance of LatLng.
1247 1248 1249 |
# File 'lib/google/apis/vision_v1/classes.rb', line 1247 def initialize(**args) update!(**args) end |
Instance Attribute Details
#latitude ⇒ Float
The latitude in degrees. It must be in the range [-90.0, +90.0]. Corresponds to the JSON property ‘latitude`
1245 1246 1247 |
# File 'lib/google/apis/vision_v1/classes.rb', line 1245 def latitude @latitude end |
#longitude ⇒ Float
The longitude in degrees. It must be in the range [-180.0, +180.0]. Corresponds to the JSON property ‘longitude`
1240 1241 1242 |
# File 'lib/google/apis/vision_v1/classes.rb', line 1240 def longitude @longitude end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1252 1253 1254 1255 |
# File 'lib/google/apis/vision_v1/classes.rb', line 1252 def update!(**args) @longitude = args[:longitude] if args.key?(:longitude) @latitude = args[:latitude] if args.key?(:latitude) end |