Amazon Location Service

2022/08/09 - Amazon Location Service - 4 updated api methods

Changes  Amazon Location Service now allows circular geofences in BatchPutGeofence, PutGeofence, and GetGeofence APIs.

BatchPutGeofence (updated) Link ¶
Changes (request)
{'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,
                        ],
                    ],
                ]
            }
        },
    ]
)
type CollectionName:

string

param CollectionName:

[REQUIRED]

The geofence collection storing the geofences.

type Entries:

list

param Entries:

[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.

      • 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) --

rtype:

dict

returns:

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

GetGeofence (updated) Link ¶
Changes (response)
{'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'
)
type CollectionName:

string

param CollectionName:

[REQUIRED]

The geofence collection storing the target geofence.

type GeofenceId:

string

param GeofenceId:

[REQUIRED]

The geofence you're retrieving details for.

rtype:

dict

returns:

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

ListGeofences (updated) Link ¶
Changes (response)
{'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'
)
type CollectionName:

string

param CollectionName:

[REQUIRED]

The name of the geofence collection storing the list of geofences.

type MaxResults:

integer

param MaxResults:

An optional limit for the number of geofences returned in a single call.

Default value: 100

type NextToken:

string

param NextToken:

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

rtype:

dict

returns:

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.

PutGeofence (updated) Link ¶
Changes (request)
{'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,
                ],
            ],
        ]
    }
)
type CollectionName:

string

param CollectionName:

[REQUIRED]

The geofence collection to store the geofence in.

type GeofenceId:

string

param GeofenceId:

[REQUIRED]

An identifier for the geofence. For example, ExampleGeofence-1.

type Geometry:

dict

param Geometry:

[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.

  • 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) --

rtype:

dict

returns:

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