Amazon Location Service

2021/11/16 - Amazon Location Service - 5 updated api methods

Changes  This release adds the support for Relevance, Distance, Time Zone, Language and Interpolated Address for Geocoding and Reverse Geocoding.

CreateTracker (updated) Link ¶
Changes (request)
{'PositionFiltering': {'AccuracyBased'}}

Creates a tracker resource in your AWS account, which lets you retrieve current and historical location of devices.

See also: AWS API Documentation

Request Syntax

client.create_tracker(
    Description='string',
    KmsKeyId='string',
    PositionFiltering='TimeBased'|'DistanceBased'|'AccuracyBased',
    PricingPlan='RequestBasedUsage'|'MobileAssetTracking'|'MobileAssetManagement',
    PricingPlanDataSource='string',
    Tags={
        'string': 'string'
    },
    TrackerName='string'
)
type Description

string

param Description

An optional description for the tracker resource.

type KmsKeyId

string

param KmsKeyId

A key identifier for an AWS KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

type PositionFiltering

string

param PositionFiltering

Specifies the position filtering for the tracker resource.

Valid values:

  • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

  • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this area are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.

This field is optional. If not specified, the default value is TimeBased .

type PricingPlan

string

param PricingPlan

[REQUIRED]

Specifies the pricing plan for the tracker resource.

For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

type PricingPlanDataSource

string

param PricingPlanDataSource

Specifies the data provider for the tracker resource.

  • Required value for the following pricing plans: MobileAssetTracking | MobileAssetManagement

For more information about Data Providers, and Pricing plans, see the Amazon Location Service product page.

Note

Amazon Location Service only uses PricingPlanDataSource to calculate billing for your tracker resource. Your data will not be shared with the data provider, and will remain in your AWS account or Region unless you move it.

Valid values: Esri | Here

type Tags

dict

param Tags

Applies one or more tags to the tracker resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

Format: "key" : "value"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use "aws:" as a prefix for a key.

  • (string) --

    • (string) --

type TrackerName

string

param TrackerName

[REQUIRED]

The name for the tracker resource.

Requirements:

  • Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).

  • Must be a unique tracker resource name.

  • No spaces allowed. For example, ExampleTracker .

rtype

dict

returns

Response Syntax

{
    'CreateTime': datetime(2015, 1, 1),
    'TrackerArn': 'string',
    'TrackerName': 'string'
}

Response Structure

  • (dict) --

    • CreateTime (datetime) --

      The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ .

    • TrackerArn (string) --

      The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all AWS.

      • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

    • TrackerName (string) --

      The name of the tracker resource.

DescribeTracker (updated) Link ¶
Changes (response)
{'PositionFiltering': {'AccuracyBased'}}

Retrieves the tracker resource details.

See also: AWS API Documentation

Request Syntax

client.describe_tracker(
    TrackerName='string'
)
type TrackerName

string

param TrackerName

[REQUIRED]

The name of the tracker resource.

rtype

dict

returns

Response Syntax

{
    'CreateTime': datetime(2015, 1, 1),
    'Description': 'string',
    'KmsKeyId': 'string',
    'PositionFiltering': 'TimeBased'|'DistanceBased'|'AccuracyBased',
    'PricingPlan': 'RequestBasedUsage'|'MobileAssetTracking'|'MobileAssetManagement',
    'PricingPlanDataSource': 'string',
    'Tags': {
        'string': 'string'
    },
    'TrackerArn': 'string',
    'TrackerName': 'string',
    'UpdateTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • CreateTime (datetime) --

      The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ .

    • Description (string) --

      The optional description for the tracker resource.

    • KmsKeyId (string) --

      A key identifier for an AWS KMS customer managed key assigned to the Amazon Location resource.

    • PositionFiltering (string) --

      The position filtering method of the tracker resource.

    • PricingPlan (string) --

      The pricing plan selected for the specified tracker resource.

      For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

    • PricingPlanDataSource (string) --

      The specified data provider for the tracker resource.

    • Tags (dict) --

      The tags associated with the tracker resource.

      • (string) --

        • (string) --

    • TrackerArn (string) --

      The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all AWS.

      • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

    • TrackerName (string) --

      The name of the tracker resource.

    • UpdateTime (datetime) --

      The timestamp for when the tracker resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ .

SearchPlaceIndexForPosition (updated) Link ¶
Changes (request, response)
Request
{'Language': 'string'}
Response
{'Results': {'Distance': 'double',
             'Place': {'Interpolated': 'boolean',
                       'TimeZone': {'Name': 'string', 'Offset': 'integer'}}},
 'Summary': {'Language': 'string'}}

Reverse geocodes a given coordinate and returns a legible address. Allows you to search for Places or points of interest near a given position.

See also: AWS API Documentation

Request Syntax

client.search_place_index_for_position(
    IndexName='string',
    Language='string',
    MaxResults=123,
    Position=[
        123.0,
    ]
)
type IndexName

string

param IndexName

[REQUIRED]

The name of the place index resource you want to use for the search.

type Language

string

param Language

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

This setting affects the languages used in the results. It does not change which results are returned. If the language is not specified, or not supported for a particular result, the partner automatically chooses a language for the result.

type MaxResults

integer

param MaxResults

An optional parameter. The maximum number of results returned per request.

Default value: 50

type Position

list

param Position

[REQUIRED]

Specifies the longitude and latitude of the position to query.

This parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

For example, [-123.1174, 49.2847] represents a position with longitude -123.1174 and latitude 49.2847 .

  • (float) --

rtype

dict

returns

Response Syntax

{
    'Results': [
        {
            'Distance': 123.0,
            'Place': {
                'AddressNumber': 'string',
                'Country': 'string',
                'Geometry': {
                    'Point': [
                        123.0,
                    ]
                },
                'Interpolated': True|False,
                'Label': 'string',
                'Municipality': 'string',
                'Neighborhood': 'string',
                'PostalCode': 'string',
                'Region': 'string',
                'Street': 'string',
                'SubRegion': 'string',
                'TimeZone': {
                    'Name': 'string',
                    'Offset': 123
                }
            }
        },
    ],
    'Summary': {
        'DataSource': 'string',
        'Language': 'string',
        'MaxResults': 123,
        'Position': [
            123.0,
        ]
    }
}

Response Structure

  • (dict) --

    • Results (list) --

      Returns a list of Places closest to the specified position. Each result contains additional information about the Places returned.

      • (dict) --

        Contains a search result from a position search query that is run on a place index resource.

        • Distance (float) --

          The distance in meters of a great-circle arc between the query position and the result.

          Note

          A great-circle arc is the shortest path on a sphere, in this case the Earth. This returns the shortest distance between two locations.

        • Place (dict) --

          Details about the search result, such as its address and position.

          • AddressNumber (string) --

            The numerical portion of an address, such as a building number.

          • Country (string) --

            A country/region specified using ISO 3166 3-digit country/region code. For example, CAN .

          • Geometry (dict) --

            Places uses a point geometry to specify a location or a Place.

            • Point (list) --

              A single point geometry specifies a location for a Place using WGS 84 coordinates:

              • x — Specifies the x coordinate or longitude.

              • y — Specifies the y coordinate or latitude.

              • (float) --

          • Interpolated (boolean) --

            True if the result is interpolated from other known places.

            False if the Place is a known place.

            Not returned when the partner does not provide the information.

            For example, returns False for an address location that is found in the partner data, but returns True if an address does not exist in the partner data and its location is calculated by interpolating between other known addresses.

          • Label (string) --

            The full name and address of the point of interest such as a city, region, or country. For example, 123 Any Street, Any Town, USA .

          • Municipality (string) --

            A name for a local area, such as a city or town name. For example, Toronto .

          • Neighborhood (string) --

            The name of a community district. For example, Downtown .

          • PostalCode (string) --

            A group of numbers and letters in a country-specific format, which accompanies the address for the purpose of identifying a location.

          • Region (string) --

            A name for an area or geographical division, such as a province or state name. For example, British Columbia .

          • Street (string) --

            The name for a street or a road to identify a location. For example, Main Street .

          • SubRegion (string) --

            A country, or an area that's part of a larger region. For example, Metro Vancouver .

          • TimeZone (dict) --

            The time zone in which the Place is located. Returned only when using Here as the selected partner.

            • Name (string) --

              The name of the time zone, following the IANA time zone standard. For example, America/Los_Angeles .

            • Offset (integer) --

              The time zone's offset, in seconds, from UTC.

    • Summary (dict) --

      Contains a summary of the request. Echoes the input values for Position , Language , MaxResults , and the DataSource of the place index.

      • DataSource (string) --

        The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

        • Esri

        • Here

        For more information about data providers, see Amazon Location Service data providers.

      • Language (string) --

        The preferred language used to return results. Matches the language in the request. The value is a valid BCP 47 language tag, for example, en for English.

      • MaxResults (integer) --

        Contains the optional result count limit that is specified in the request.

        Default value: 50

      • Position (list) --

        The position specified in the request.

        • (float) --

SearchPlaceIndexForText (updated) Link ¶
Changes (request, response)
Request
{'Language': 'string'}
Response
{'Results': {'Distance': 'double',
             'Place': {'Interpolated': 'boolean',
                       'TimeZone': {'Name': 'string', 'Offset': 'integer'}},
             'Relevance': 'double'},
 'Summary': {'Language': 'string'}}

Geocodes free-form text, such as an address, name, city, or region to allow you to search for Places or points of interest.

Optional parameters let you narrow your search results by bounding box or country, or bias your search toward a specific position on the globe.

Note

You can search for places near a given position using BiasPosition , or filter results within a bounding box using FilterBBox . Providing both parameters simultaneously returns an error.

Search results are returned in order of highest to lowest relevance.

See also: AWS API Documentation

Request Syntax

client.search_place_index_for_text(
    BiasPosition=[
        123.0,
    ],
    FilterBBox=[
        123.0,
    ],
    FilterCountries=[
        'string',
    ],
    IndexName='string',
    Language='string',
    MaxResults=123,
    Text='string'
)
type BiasPosition

list

param BiasPosition

An optional parameter that indicates a preference for places that are closer to a specified position.

If provided, this parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

For example, [-123.1174, 49.2847] represents the position with longitude -123.1174 and latitude 49.2847 .

Note

BiasPosition and FilterBBox are mutually exclusive. Specifying both options results in an error.

  • (float) --

type FilterBBox

list

param FilterBBox

An optional parameter that limits the search results by returning only places that are within the provided bounding box.

If provided, this parameter must contain a total of four consecutive numbers in two pairs. The first pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the southwest corner of the bounding box; the second pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the northeast corner of the bounding box.

For example, [-12.7935, -37.4835, -12.0684, -36.9542] represents a bounding box where the southwest corner has longitude -12.7935 and latitude -37.4835 , and the northeast corner has longitude -12.0684 and latitude -36.9542 .

Note

FilterBBox and BiasPosition are mutually exclusive. Specifying both options results in an error.

  • (float) --

type FilterCountries

list

param FilterCountries

An optional parameter that limits the search results by returning only places that are in a specified list of countries.

  • Valid values include ISO 3166 3-digit country codes. For example, Australia uses three upper-case characters: AUS .

  • (string) --

type IndexName

string

param IndexName

[REQUIRED]

The name of the place index resource you want to use for the search.

type Language

string

param Language

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

This setting affects the languages used in the results. It does not change which results are returned. If the language is not specified, or not supported for a particular result, the partner automatically chooses a language for the result.

type MaxResults

integer

param MaxResults

An optional parameter. The maximum number of results returned per request.

The default: 50

type Text

string

param Text

[REQUIRED]

The address, name, city, or region to be used in the search in free-form text format. For example, 123 Any Street .

rtype

dict

returns

Response Syntax

{
    'Results': [
        {
            'Distance': 123.0,
            'Place': {
                'AddressNumber': 'string',
                'Country': 'string',
                'Geometry': {
                    'Point': [
                        123.0,
                    ]
                },
                'Interpolated': True|False,
                'Label': 'string',
                'Municipality': 'string',
                'Neighborhood': 'string',
                'PostalCode': 'string',
                'Region': 'string',
                'Street': 'string',
                'SubRegion': 'string',
                'TimeZone': {
                    'Name': 'string',
                    'Offset': 123
                }
            },
            'Relevance': 123.0
        },
    ],
    'Summary': {
        'BiasPosition': [
            123.0,
        ],
        'DataSource': 'string',
        'FilterBBox': [
            123.0,
        ],
        'FilterCountries': [
            'string',
        ],
        'Language': 'string',
        'MaxResults': 123,
        'ResultBBox': [
            123.0,
        ],
        'Text': 'string'
    }
}

Response Structure

  • (dict) --

    • Results (list) --

      A list of Places matching the input text. Each result contains additional information about the specific point of interest.

      • (dict) --

        Contains a search result from a text search query that is run on a place index resource.

        • Distance (float) --

          The distance in meters of a great-circle arc between the bias position specified and the result. Distance will be returned only if a bias position was specified in the query.

          Note

          A great-circle arc is the shortest path on a sphere, in this case the Earth. This returns the shortest distance between two locations.

        • Place (dict) --

          Details about the search result, such as its address and position.

          • AddressNumber (string) --

            The numerical portion of an address, such as a building number.

          • Country (string) --

            A country/region specified using ISO 3166 3-digit country/region code. For example, CAN .

          • Geometry (dict) --

            Places uses a point geometry to specify a location or a Place.

            • Point (list) --

              A single point geometry specifies a location for a Place using WGS 84 coordinates:

              • x — Specifies the x coordinate or longitude.

              • y — Specifies the y coordinate or latitude.

              • (float) --

          • Interpolated (boolean) --

            True if the result is interpolated from other known places.

            False if the Place is a known place.

            Not returned when the partner does not provide the information.

            For example, returns False for an address location that is found in the partner data, but returns True if an address does not exist in the partner data and its location is calculated by interpolating between other known addresses.

          • Label (string) --

            The full name and address of the point of interest such as a city, region, or country. For example, 123 Any Street, Any Town, USA .

          • Municipality (string) --

            A name for a local area, such as a city or town name. For example, Toronto .

          • Neighborhood (string) --

            The name of a community district. For example, Downtown .

          • PostalCode (string) --

            A group of numbers and letters in a country-specific format, which accompanies the address for the purpose of identifying a location.

          • Region (string) --

            A name for an area or geographical division, such as a province or state name. For example, British Columbia .

          • Street (string) --

            The name for a street or a road to identify a location. For example, Main Street .

          • SubRegion (string) --

            A country, or an area that's part of a larger region. For example, Metro Vancouver .

          • TimeZone (dict) --

            The time zone in which the Place is located. Returned only when using Here as the selected partner.

            • Name (string) --

              The name of the time zone, following the IANA time zone standard. For example, America/Los_Angeles .

            • Offset (integer) --

              The time zone's offset, in seconds, from UTC.

        • Relevance (float) --

          The relative confidence in the match for a result among the results returned. For example, if more fields for an address match (including house number, street, city, country/region, and postal code), the relevance score is closer to 1.

          Returned only when the partner selected is Esri.

    • Summary (dict) --

      Contains a summary of the request. Echoes the input values for BiasPosition , FilterBBox , FilterCountries , Language , MaxResults , and Text . Also includes the DataSource of the place index and the bounding box, ResultBBox , which surrounds the search results.

      • BiasPosition (list) --

        Contains the coordinates for the optional bias position specified in the request.

        • (float) --

      • DataSource (string) --

        The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

        • Esri

        • Here

        For more information about data providers, see Amazon Location Service data providers.

      • FilterBBox (list) --

        Contains the coordinates for the optional bounding box specified in the request.

        • (float) --

      • FilterCountries (list) --

        Contains the optional country filter specified in the request.

        • (string) --

      • Language (string) --

        The preferred language used to return results. Matches the language in the request. The value is a valid BCP 47 language tag, for example, en for English.

      • MaxResults (integer) --

        Contains the optional result count limit specified in the request.

      • ResultBBox (list) --

        The bounding box that fully contains all search results.

        Note

        If you specified the optional FilterBBox parameter in the request, ResultBBox is contained within FilterBBox .

        • (float) --

      • Text (string) --

        The search text specified in the request.

UpdateTracker (updated) Link ¶
Changes (request)
{'PositionFiltering': {'AccuracyBased'}}

Updates the specified properties of a given tracker resource.

See also: AWS API Documentation

Request Syntax

client.update_tracker(
    Description='string',
    PositionFiltering='TimeBased'|'DistanceBased'|'AccuracyBased',
    PricingPlan='RequestBasedUsage'|'MobileAssetTracking'|'MobileAssetManagement',
    PricingPlanDataSource='string',
    TrackerName='string'
)
type Description

string

param Description

Updates the description for the tracker resource.

type PositionFiltering

string

param PositionFiltering

Updates the position filtering for the tracker resource.

Valid values:

  • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

  • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this distance are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and device positions to retrieve. Distance-based filtering can also reduce the jitter effect when displaying device trajectory on a map.

type PricingPlan

string

param PricingPlan

Updates the pricing plan for the tracker resource.

For more information about each pricing plan option restrictions, see Amazon Location Service pricing.

type PricingPlanDataSource

string

param PricingPlanDataSource

Updates the data provider for the tracker resource.

A required value for the following pricing plans: MobileAssetTracking | MobileAssetManagement

For more information about data providers and pricing plans, see the Amazon Location Service product page

Note

This can only be updated when updating the PricingPlan in the same request.

Amazon Location Service uses PricingPlanDataSource to calculate billing for your tracker resource. Your data won't be shared with the data provider, and will remain in your AWS account and Region unless you move it.

type TrackerName

string

param TrackerName

[REQUIRED]

The name of the tracker resource to update.

rtype

dict

returns

Response Syntax

{
    'TrackerArn': 'string',
    'TrackerName': 'string',
    'UpdateTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • TrackerArn (string) --

      The Amazon Resource Name (ARN) of the updated tracker resource. Used to specify a resource across AWS.

      • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

    • TrackerName (string) --

      The name of the updated tracker resource.

    • UpdateTime (datetime) --

      The timestamp for when the tracker resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ .