Class: Aws::LocationService::Types::GeofenceGeometry
- Inherits:
-
Struct
- Object
- Struct
- Aws::LocationService::Types::GeofenceGeometry
- Defined in:
- gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/types.rb
Overview
Contains the geofence geometry details.
A geofence geometry can be a circle, a polygon, or a multipolygon.
Polygon
and MultiPolygon
geometries can be defined using their
respective parameters, or encoded in Geobuf format using the Geobuf
parameter. Including multiple geometry types in the same request will
return a validation error.
Constant Summary collapse
- SENSITIVE =
[:circle, :geobuf]
Instance Attribute Summary collapse
-
#circle ⇒ Types::Circle
A circle on the earth, as defined by a center point and a radius.
-
#geobuf ⇒ String
Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons.
-
#multi_polygon ⇒ Array<Array<Array<Array<Float>>>>
A
MultiPolygon
is a list of up to 250Polygon
elements which represent the shape of a geofence. -
#polygon ⇒ Array<Array<Array<Float>>>
A
Polygon
is a list of up to 250 linear rings which represent the shape of a geofence.
Instance Attribute Details
#circle ⇒ Types::Circle
A circle on the earth, as defined by a center point and a radius.
3332 3333 3334 3335 3336 3337 3338 3339 |
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/types.rb', line 3332 class GeofenceGeometry < Struct.new( :polygon, :circle, :geobuf, :multi_polygon) SENSITIVE = [:circle, :geobuf] include Aws::Structure end |
#geobuf ⇒ String
Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons. The Geobuf must be Base64-encoded.
This parameter can contain a Geobuf-encoded GeoJSON geometry object
of type Polygon
OR MultiPolygon
. For more information and
specific configuration requirements for these object types, see
Polygon and MultiPolygon.
Geobuf
parameter, and supercede the corresponding
limitations of the Polygon
and MultiPolygon
parameters:
A
Polygon
inGeobuf
format can have up to 25,000 rings and up to 100,000 total vertices, including all vertices from all component rings.A
MultiPolygon
inGeobuf
format can contain up to 10,000Polygons
and up to 100,000 total vertices, including all vertices from all componentPolygons
.
3332 3333 3334 3335 3336 3337 3338 3339 |
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/types.rb', line 3332 class GeofenceGeometry < Struct.new( :polygon, :circle, :geobuf, :multi_polygon) SENSITIVE = [:circle, :geobuf] include Aws::Structure end |
#multi_polygon ⇒ Array<Array<Array<Array<Float>>>>
A MultiPolygon
is a list of up to 250 Polygon
elements which
represent the shape of a geofence. The Polygon
components of a
MultiPolygon
geometry can define separate geographical areas that
are considered part of the same geofence, perimeters of larger
exterior areas with smaller interior spaces that are excluded from
the geofence, or some combination of these use cases to form complex
geofence boundaries.
For more information and specific configuration requirements for the
Polygon
components that form a MultiPolygon
, see Polygon.
MultiPolygon
parameter:
The entire
MultiPolygon
must consist of no more than 1,000 vertices, including all vertices from all componentPolygons
.Each edge of a component
Polygon
must intersect no more than 5 edges from otherPolygons
. Parallel edges that are shared but do not cross are not counted toward this limit.The total number of intersecting edges of component
Polygons
must be no more than 100,000. Parallel edges that are shared but do not cross are not counted toward this limit.
3332 3333 3334 3335 3336 3337 3338 3339 |
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/types.rb', line 3332 class GeofenceGeometry < Struct.new( :polygon, :circle, :geobuf, :multi_polygon) SENSITIVE = [:circle, :geobuf] include Aws::Structure end |
#polygon ⇒ Array<Array<Array<Float>>>
A Polygon
is a list of up to 250 linear rings which represent the
shape of a geofence. This list must include 1 exterior ring
(representing the outer perimeter of the geofence), and can
optionally include up to 249 interior rings (representing polygonal
spaces within the perimeter, which are excluded from the geofence
area).
A linear ring is an array of 4 or more vertices, where the first and
last vertex are the same (to form a closed boundary). Each vertex is
a 2-dimensional point represented as an array of doubles of length
2: [longitude, latitude]
.
Each linear ring is represented as an array of arrays of doubles
([[longitude, latitude], [longitude, latitude], ...]
). The
vertices for the exterior ring must be listed in counter-clockwise
sequence. Vertices for all interior rings must be listed in
clockwise sequence.
The list of linear rings that describe the entire Polygon
is
represented as an array of arrays of arrays of doubles
([[[longitude, latitude], [longitude, latitude], ...], [[longitude,
latitude], [longitude, latitude], ...], ...]
). The exterior ring
must be listed first, before any interior rings.
Polygon
parameter:
The entire
Polygon
must consist of no more than 1,000 vertices, including all vertices from the exterior ring and all interior rings.Rings must not touch or cross each other.
All interior rings must be fully contained within the exterior ring.
Interior rings must not contain other interior rings.
No ring is permitted to intersect itself.
3332 3333 3334 3335 3336 3337 3338 3339 |
# File 'gems/aws-sdk-locationservice/lib/aws-sdk-locationservice/types.rb', line 3332 class GeofenceGeometry < Struct.new( :polygon, :circle, :geobuf, :multi_polygon) SENSITIVE = [:circle, :geobuf] include Aws::Structure end |