2022/08/09 - Amazon Location Service - 4 updated api methods
Changes Amazon Location Service now allows circular geofences in BatchPutGeofence, PutGeofence, and GetGeofence APIs.
{'Entries': {'Geometry': {'Circle': {'Center': ['double'], 'Radius': 'double'}}}}
A batch request for storing geofence geometries into a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.
See also: AWS API Documentation
Request Syntax
client.batch_put_geofence( CollectionName='string', Entries=[ { 'GeofenceId': 'string', 'Geometry': { 'Circle': { 'Center': [ 123.0, ], 'Radius': 123.0 }, 'Polygon': [ [ [ 123.0, ], ], ] } }, ] )
string
[REQUIRED]
The geofence collection storing the geofences.
list
[REQUIRED]
The batch of geofences to be stored in a geofence collection.
(dict) --
Contains geofence geometry details.
GeofenceId (string) -- [REQUIRED]
The identifier for the geofence to be stored in a given geofence collection.
Geometry (dict) -- [REQUIRED]
Contains the details of the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.
Note
Each geofence polygon can have a maximum of 1,000 vertices.
Circle (dict) --
A circle on the earth, as defined by a center point and a radius.
Center (list) -- [REQUIRED]
A single point geometry, specifying the center of the circle, using WGS 84 coordinates, in the form [longitude, latitude] .
(float) --
Radius (float) -- [REQUIRED]
The radius of the circle in meters. Must be greater than zero and no larger than 100,000 (100 kilometers).
Polygon (list) --
An array of 1 or more linear rings. 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 of the form: [longitude, latitude] .
The first linear ring is an outer ring, describing the polygon's boundary. Subsequent linear rings may be inner or outer rings to describe holes and islands. Outer rings must list their vertices in counter-clockwise order around the ring's center, where the left side is the polygon's exterior. Inner rings must list their vertices in clockwise order, where the left side is the polygon's interior.
A geofence polygon can consist of between 4 and 1,000 vertices.
(list) --
(list) --
(float) --
dict
Response Syntax
{ 'Errors': [ { 'Error': { 'Code': 'AccessDeniedError'|'ConflictError'|'InternalServerError'|'ResourceNotFoundError'|'ThrottlingError'|'ValidationError', 'Message': 'string' }, 'GeofenceId': 'string' }, ], 'Successes': [ { 'CreateTime': datetime(2015, 1, 1), 'GeofenceId': 'string', 'UpdateTime': datetime(2015, 1, 1) }, ] }
Response Structure
(dict) --
Errors (list) --
Contains additional error details for each geofence that failed to be stored in a geofence collection.
(dict) --
Contains error details for each geofence that failed to be stored in a given geofence collection.
Error (dict) --
Contains details associated to the batch error.
Code (string) --
The error code associated with the batch request error.
Message (string) --
A message with the reason for the batch request error.
GeofenceId (string) --
The geofence associated with the error message.
Successes (list) --
Contains each geofence that was successfully stored in a geofence collection.
(dict) --
Contains a summary of each geofence that was successfully stored in a given geofence collection.
CreateTime (datetime) --
The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
GeofenceId (string) --
The geofence successfully stored in a geofence collection.
UpdateTime (datetime) --
The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
{'Geometry': {'Circle': {'Center': ['double'], 'Radius': 'double'}}}
Retrieves the geofence details from a geofence collection.
See also: AWS API Documentation
Request Syntax
client.get_geofence( CollectionName='string', GeofenceId='string' )
string
[REQUIRED]
The geofence collection storing the target geofence.
string
[REQUIRED]
The geofence you're retrieving details for.
dict
Response Syntax
{ 'CreateTime': datetime(2015, 1, 1), 'GeofenceId': 'string', 'Geometry': { 'Circle': { 'Center': [ 123.0, ], 'Radius': 123.0 }, 'Polygon': [ [ [ 123.0, ], ], ] }, 'Status': 'string', 'UpdateTime': datetime(2015, 1, 1) }
Response Structure
(dict) --
CreateTime (datetime) --
The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
GeofenceId (string) --
The geofence identifier.
Geometry (dict) --
Contains the geofence geometry details describing a polygon or a circle.
Circle (dict) --
A circle on the earth, as defined by a center point and a radius.
Center (list) --
A single point geometry, specifying the center of the circle, using WGS 84 coordinates, in the form [longitude, latitude] .
(float) --
Radius (float) --
The radius of the circle in meters. Must be greater than zero and no larger than 100,000 (100 kilometers).
Polygon (list) --
An array of 1 or more linear rings. 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 of the form: [longitude, latitude] .
The first linear ring is an outer ring, describing the polygon's boundary. Subsequent linear rings may be inner or outer rings to describe holes and islands. Outer rings must list their vertices in counter-clockwise order around the ring's center, where the left side is the polygon's exterior. Inner rings must list their vertices in clockwise order, where the left side is the polygon's interior.
A geofence polygon can consist of between 4 and 1,000 vertices.
(list) --
(list) --
(float) --
Status (string) --
Identifies the state of the geofence. A geofence will hold one of the following states:
ACTIVE — The geofence has been indexed by the system.
PENDING — The geofence is being processed by the system.
FAILED — The geofence failed to be indexed by the system.
DELETED — The geofence has been deleted from the system index.
DELETING — The geofence is being deleted from the system index.
UpdateTime (datetime) --
The timestamp for when the geofence collection was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
{'Entries': {'Geometry': {'Circle': {'Center': ['double'], 'Radius': 'double'}}}}
Lists geofences stored in a given geofence collection.
See also: AWS API Documentation
Request Syntax
client.list_geofences( CollectionName='string', MaxResults=123, NextToken='string' )
string
[REQUIRED]
The name of the geofence collection storing the list of geofences.
integer
An optional limit for the number of geofences returned in a single call.
Default value: 100
string
The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.
Default value: null
dict
Response Syntax
{ 'Entries': [ { 'CreateTime': datetime(2015, 1, 1), 'GeofenceId': 'string', 'Geometry': { 'Circle': { 'Center': [ 123.0, ], 'Radius': 123.0 }, 'Polygon': [ [ [ 123.0, ], ], ] }, 'Status': 'string', 'UpdateTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Entries (list) --
Contains a list of geofences stored in the geofence collection.
(dict) --
Contains a list of geofences stored in a given geofence collection.
CreateTime (datetime) --
The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
GeofenceId (string) --
The geofence identifier.
Geometry (dict) --
Contains the geofence geometry details describing a polygon or a circle.
Circle (dict) --
A circle on the earth, as defined by a center point and a radius.
Center (list) --
A single point geometry, specifying the center of the circle, using WGS 84 coordinates, in the form [longitude, latitude] .
(float) --
Radius (float) --
The radius of the circle in meters. Must be greater than zero and no larger than 100,000 (100 kilometers).
Polygon (list) --
An array of 1 or more linear rings. 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 of the form: [longitude, latitude] .
The first linear ring is an outer ring, describing the polygon's boundary. Subsequent linear rings may be inner or outer rings to describe holes and islands. Outer rings must list their vertices in counter-clockwise order around the ring's center, where the left side is the polygon's exterior. Inner rings must list their vertices in clockwise order, where the left side is the polygon's interior.
A geofence polygon can consist of between 4 and 1,000 vertices.
(list) --
(list) --
(float) --
Status (string) --
Identifies the state of the geofence. A geofence will hold one of the following states:
ACTIVE — The geofence has been indexed by the system.
PENDING — The geofence is being processed by the system.
FAILED — The geofence failed to be indexed by the system.
DELETED — The geofence has been deleted from the system index.
DELETING — The geofence is being deleted from the system index.
UpdateTime (datetime) --
The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
NextToken (string) --
A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.
{'Geometry': {'Circle': {'Center': ['double'], 'Radius': 'double'}}}
Stores a geofence geometry in a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.
See also: AWS API Documentation
Request Syntax
client.put_geofence( CollectionName='string', GeofenceId='string', Geometry={ 'Circle': { 'Center': [ 123.0, ], 'Radius': 123.0 }, 'Polygon': [ [ [ 123.0, ], ], ] } )
string
[REQUIRED]
The geofence collection to store the geofence in.
string
[REQUIRED]
An identifier for the geofence. For example, ExampleGeofence-1 .
dict
[REQUIRED]
Contains the details to specify the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.
Note
Each geofence polygon can have a maximum of 1,000 vertices.
Circle (dict) --
A circle on the earth, as defined by a center point and a radius.
Center (list) -- [REQUIRED]
A single point geometry, specifying the center of the circle, using WGS 84 coordinates, in the form [longitude, latitude] .
(float) --
Radius (float) -- [REQUIRED]
The radius of the circle in meters. Must be greater than zero and no larger than 100,000 (100 kilometers).
Polygon (list) --
An array of 1 or more linear rings. 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 of the form: [longitude, latitude] .
The first linear ring is an outer ring, describing the polygon's boundary. Subsequent linear rings may be inner or outer rings to describe holes and islands. Outer rings must list their vertices in counter-clockwise order around the ring's center, where the left side is the polygon's exterior. Inner rings must list their vertices in clockwise order, where the left side is the polygon's interior.
A geofence polygon can consist of between 4 and 1,000 vertices.
(list) --
(list) --
(float) --
dict
Response Syntax
{ 'CreateTime': datetime(2015, 1, 1), 'GeofenceId': 'string', 'UpdateTime': datetime(2015, 1, 1) }
Response Structure
(dict) --
CreateTime (datetime) --
The timestamp for when the geofence was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
GeofenceId (string) --
The geofence identifier entered in the request.
UpdateTime (datetime) --
The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ