Amazon Location Service

2023/12/12 - Amazon Location Service - 4 updated api methods

Changes  This release 1) adds sub-municipality field in Places API for searching and getting places information, and 2) allows optimizing route calculation based on expected arrival time.

CalculateRoute (updated) Link ¶
Changes (request)
{'ArrivalTime': 'timestamp', 'OptimizeFor': 'FastestRoute | ShortestRoute'}

Calculates a route given the following required parameters: DeparturePosition and DestinationPosition . Requires that you first create a route calculator resource .

By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating the route.

Additional options include:

  • Specifying a departure time using either DepartureTime or DepartNow . This calculates a route based on predictive traffic data at the given time.

Note

You can't specify both DepartureTime and DepartNow in a single request. Specifying both parameters returns a validation error.

  • Specifying a travel mode using TravelMode sets the transportation mode used to calculate the routes. This also lets you specify additional route preferences in CarModeOptions if traveling by Car , or TruckModeOptions if traveling by Truck .

Note

If you specify walking for the travel mode and your data provider is Esri, the start and destination must be within 40km.

See also: AWS API Documentation

Request Syntax

client.calculate_route(
    ArrivalTime=datetime(2015, 1, 1),
    CalculatorName='string',
    CarModeOptions={
        'AvoidFerries': True|False,
        'AvoidTolls': True|False
    },
    DepartNow=True|False,
    DeparturePosition=[
        123.0,
    ],
    DepartureTime=datetime(2015, 1, 1),
    DestinationPosition=[
        123.0,
    ],
    DistanceUnit='Kilometers'|'Miles',
    IncludeLegGeometry=True|False,
    Key='string',
    OptimizeFor='FastestRoute'|'ShortestRoute',
    TravelMode='Car'|'Truck'|'Walking'|'Bicycle'|'Motorcycle',
    TruckModeOptions={
        'AvoidFerries': True|False,
        'AvoidTolls': True|False,
        'Dimensions': {
            'Height': 123.0,
            'Length': 123.0,
            'Unit': 'Meters'|'Feet',
            'Width': 123.0
        },
        'Weight': {
            'Total': 123.0,
            'Unit': 'Kilograms'|'Pounds'
        }
    },
    WaypointPositions=[
        [
            123.0,
        ],
    ]
)
type ArrivalTime

datetime

param ArrivalTime

Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

Note

ArrivalTime is not supported Esri.

type CalculatorName

string

param CalculatorName

[REQUIRED]

The name of the route calculator resource that you want to use to calculate the route.

type CarModeOptions

dict

param CarModeOptions

Specifies route preferences when traveling by Car , such as avoiding routes that use ferries or tolls.

Requirements: TravelMode must be specified as Car .

  • AvoidFerries (boolean) --

    Avoids ferries when calculating routes.

    Default Value: false

    Valid Values: false | true

  • AvoidTolls (boolean) --

    Avoids tolls when calculating routes.

    Default Value: false

    Valid Values: false | true

type DepartNow

boolean

param DepartNow

Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

Default Value: false

Valid Values: false | true

type DeparturePosition

list

param DeparturePosition

[REQUIRED]

The start position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude] .

  • For example, [-123.115, 49.285]

Note

If you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road . If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

Valid Values: [-180 to 180,-90 to 90]

  • (float) --

type DepartureTime

datetime

param DepartureTime

Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

  • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ . For example, 2020–07-2T12:15:20.000Z+01:00

type DestinationPosition

list

param DestinationPosition

[REQUIRED]

The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude] .

  • For example, [-122.339, 47.615]

Note

If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road .

Valid Values: [-180 to 180,-90 to 90]

  • (float) --

type DistanceUnit

string

param DistanceUnit

Set the unit system to specify the distance.

Default Value: Kilometers

type IncludeLegGeometry

boolean

param IncludeLegGeometry

Set to include the geometry details in the result for each path between a pair of positions.

Default Value: false

Valid Values: false | true

type Key

string

param Key

The optional API key to authorize the request.

type OptimizeFor

string

param OptimizeFor

Specifies the distance to optimize for when calculating a route.

type TravelMode

string

param TravelMode

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car , Truck , Walking , Bicycle or Motorcycle as options for the TravelMode .

Note

Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

Truck is not available for Grab.

For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide .

The TravelMode you specify also determines how you specify route preferences:

  • If traveling by Car use the CarModeOptions parameter.

  • If traveling by Truck use the TruckModeOptions parameter.

Default Value: Car

type TruckModeOptions

dict

param TruckModeOptions

Specifies route preferences when traveling by Truck , such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

Requirements: TravelMode must be specified as Truck .

  • AvoidFerries (boolean) --

    Avoids ferries when calculating routes.

    Default Value: false

    Valid Values: false | true

  • AvoidTolls (boolean) --

    Avoids tolls when calculating routes.

    Default Value: false

    Valid Values: false | true

  • Dimensions (dict) --

    Specifies the truck's dimension specifications including length, height, width, and unit of measurement. Used to avoid roads that can't support the truck's dimensions.

    • Height (float) --

      The height of the truck.

      • For example, 4.5 .

      Note

      For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

    • Length (float) --

      The length of the truck.

      • For example, 15.5 .

      Note

      For routes calculated with a HERE resource, this value must be between 0 and 300 meters.

    • Unit (string) --

      Specifies the unit of measurement for the truck dimensions.

      Default Value: Meters

    • Width (float) --

      The width of the truck.

      • For example, 4.5 .

      Note

      For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

  • Weight (dict) --

    Specifies the truck's weight specifications including total weight and unit of measurement. Used to avoid roads that can't support the truck's weight.

    • Total (float) --

      The total weight of the truck.

      • For example, 3500 .

    • Unit (string) --

      The unit of measurement to use for the truck weight.

      Default Value: Kilograms

type WaypointPositions

list

param WaypointPositions

Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure position and destination position.

  • For example, from the DeparturePosition [-123.115, 49.285] , the route follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]]

Note

If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road .

Specifying more than 23 waypoints returns a 400 ValidationException error.

If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

Valid Values: [-180 to 180,-90 to 90]

  • (list) --

    • (float) --

rtype

dict

returns

Response Syntax

{
    'Legs': [
        {
            'Distance': 123.0,
            'DurationSeconds': 123.0,
            'EndPosition': [
                123.0,
            ],
            'Geometry': {
                'LineString': [
                    [
                        123.0,
                    ],
                ]
            },
            'StartPosition': [
                123.0,
            ],
            'Steps': [
                {
                    'Distance': 123.0,
                    'DurationSeconds': 123.0,
                    'EndPosition': [
                        123.0,
                    ],
                    'GeometryOffset': 123,
                    'StartPosition': [
                        123.0,
                    ]
                },
            ]
        },
    ],
    'Summary': {
        'DataSource': 'string',
        'Distance': 123.0,
        'DistanceUnit': 'Kilometers'|'Miles',
        'DurationSeconds': 123.0,
        'RouteBBox': [
            123.0,
        ]
    }
}

Response Structure

  • (dict) --

    Returns the result of the route calculation. Metadata includes legs and route summary.

    • Legs (list) --

      Contains details about each path between a pair of positions included along a route such as: StartPosition , EndPosition , Distance , DurationSeconds , Geometry , and Steps . The number of legs returned corresponds to one fewer than the total number of positions in the request.

      For example, a route with a departure position and destination position returns one leg with the positions snapped to a nearby road :

      • The StartPosition is the departure position.

      • The EndPosition is the destination position.

      A route with a waypoint between the departure and destination position returns two legs with the positions snapped to a nearby road:

      • Leg 1: The StartPosition is the departure position . The EndPosition is the waypoint positon.

      • Leg 2: The StartPosition is the waypoint position. The EndPosition is the destination position.

      • (dict) --

        Contains the calculated route's details for each path between a pair of positions. The number of legs returned corresponds to one fewer than the total number of positions in the request.

        For example, a route with a departure position and destination position returns one leg with the positions snapped to a nearby road :

        • The StartPosition is the departure position.

        • The EndPosition is the destination position.

        A route with a waypoint between the departure and destination position returns two legs with the positions snapped to a nearby road:

        • Leg 1: The StartPosition is the departure position . The EndPosition is the waypoint positon.

        • Leg 2: The StartPosition is the waypoint position. The EndPosition is the destination position.

        • Distance (float) --

          The distance between the leg's StartPosition and EndPosition along a calculated route.

          • The default measurement is Kilometers unless the request specifies a DistanceUnit of Miles .

        • DurationSeconds (float) --

          The estimated travel time between the leg's StartPosition and EndPosition . The travel mode and departure time that you specify in the request determines the calculated time.

        • EndPosition (list) --

          The terminating position of the leg. Follows the format [longitude,latitude] .

          Note

          If the EndPosition isn't located on a road, it's snapped to a nearby road .

          • (float) --

        • Geometry (dict) --

          Contains the calculated route's path as a linestring geometry.

          • LineString (list) --

            An ordered list of positions used to plot a route on a map.

            The first position is closest to the start position for the leg, and the last position is the closest to the end position for the leg.

            • For example, [[-123.117, 49.284],[-123.115, 49.285],[-123.115, 49.285]]

            • (list) --

              • (float) --

        • StartPosition (list) --

          The starting position of the leg. Follows the format [longitude,latitude] .

          Note

          If the StartPosition isn't located on a road, it's snapped to a nearby road .

          • (float) --

        • Steps (list) --

          Contains a list of steps, which represent subsections of a leg. Each step provides instructions for how to move to the next step in the leg such as the step's start position, end position, travel distance, travel duration, and geometry offset.

          • (dict) --

            Represents an element of a leg within a route. A step contains instructions for how to move to the next step in the leg.

            • Distance (float) --

              The travel distance between the step's StartPosition and EndPosition .

            • DurationSeconds (float) --

              The estimated travel time, in seconds, from the step's StartPosition to the EndPosition . . The travel mode and departure time that you specify in the request determines the calculated time.

            • EndPosition (list) --

              The end position of a step. If the position the last step in the leg, this position is the same as the end position of the leg.

              • (float) --

            • GeometryOffset (integer) --

              Represents the start position, or index, in a sequence of steps within the leg's line string geometry. For example, the index of the first step in a leg geometry is 0 .

              Included in the response for queries that set IncludeLegGeometry to True .

            • StartPosition (list) --

              The starting position of a step. If the position is the first step in the leg, this position is the same as the start position of the leg.

              • (float) --

    • Summary (dict) --

      Contains information about the whole route, such as: RouteBBox , DataSource , Distance , DistanceUnit , and DurationSeconds .

      • DataSource (string) --

        The data provider of traffic and road network data used to calculate the route. Indicates one of the available providers:

        • Esri

        • Grab

        • Here

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

      • Distance (float) --

        The total distance covered by the route. The sum of the distance travelled between every stop on the route.

        Note

        If Esri is the data source for the route calculator, the route distance can’t be greater than 400 km. If the route exceeds 400 km, the response is a 400 RoutesValidationException error.

      • DistanceUnit (string) --

        The unit of measurement for route distances.

      • DurationSeconds (float) --

        The total travel time for the route measured in seconds. The sum of the travel time between every stop on the route.

      • RouteBBox (list) --

        Specifies a geographical box surrounding a route. Used to zoom into a route when displaying it in a map. For example, [min x, min y, max x, max y] .

        The first 2 bbox parameters describe the lower southwest corner:

        • The first bbox position is the X coordinate or longitude of the lower southwest corner.

        • The second bbox position is the Y coordinate or latitude of the lower southwest corner.

        The next 2 bbox parameters describe the upper northeast corner:

        • The third bbox position is the X coordinate, or longitude of the upper northeast corner.

        • The fourth bbox position is the Y coordinate, or latitude of the upper northeast corner.

        • (float) --

GetPlace (updated) Link ¶
Changes (response)
{'Place': {'SubMunicipality': 'string'}}

Finds a place by its unique ID. A PlaceId is returned by other search operations.

Note

A PlaceId is valid only if all of the following are the same in the original search request and the call to GetPlace .

  • Customer Amazon Web Services account

  • Amazon Web Services Region

  • Data provider specified in the place index resource

See also: AWS API Documentation

Request Syntax

client.get_place(
    IndexName='string',
    Key='string',
    Language='string',
    PlaceId='string'
)
type IndexName

string

param IndexName

[REQUIRED]

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

type Key

string

param Key

The optional API key to authorize the request.

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, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the language parameter set to en . The city in the results will most likely be returned as Athens .

If you set the language parameter to el , for Greek, then the city in the results will more likely be returned as Αθήνα .

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

type PlaceId

string

param PlaceId

[REQUIRED]

The identifier of the place to find.

rtype

dict

returns

Response Syntax

{
    'Place': {
        'AddressNumber': 'string',
        'Categories': [
            'string',
        ],
        'Country': 'string',
        'Geometry': {
            'Point': [
                123.0,
            ]
        },
        'Interpolated': True|False,
        'Label': 'string',
        'Municipality': 'string',
        'Neighborhood': 'string',
        'PostalCode': 'string',
        'Region': 'string',
        'Street': 'string',
        'SubMunicipality': 'string',
        'SubRegion': 'string',
        'SupplementalCategories': [
            'string',
        ],
        'TimeZone': {
            'Name': 'string',
            'Offset': 123
        },
        'UnitNumber': 'string',
        'UnitType': 'string'
    }
}

Response Structure

  • (dict) --

    • Place (dict) --

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

      • AddressNumber (string) --

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

      • Categories (list) --

        The Amazon Location categories that describe this Place.

        For more information about using categories, including a list of Amazon Location categories, see Categories and filtering , in the Amazon Location Service Developer Guide .

        • (string) --

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

      • SubMunicipality (string) --

        An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

        Note

        This property supported by Esri and OpenData. The Esri property is district , and the OpenData property is borough .

      • SubRegion (string) --

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

      • SupplementalCategories (list) --

        Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

        • (string) --

      • TimeZone (dict) --

        The time zone in which the Place is located. Returned only when using HERE or Grab 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.

      • UnitNumber (string) --

        For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123 .

        Note

        Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition .

      • UnitType (string) --

        For addresses with a UnitNumber , the type of unit. For example, Apartment .

        Note

        Returned only for a place index that uses Esri as a data provider.

SearchPlaceIndexForPosition (updated) Link ¶
Changes (response)
{'Results': {'Place': {'SubMunicipality': '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',
    Key='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 Key

string

param Key

The optional API key to authorize the request.

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, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the language parameter set to en . The city in the results will most likely be returned as Athens .

If you set the language parameter to el , for Greek, then the city in the results will more likely be returned as Αθήνα .

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

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',
                'Categories': [
                    'string',
                ],
                'Country': 'string',
                'Geometry': {
                    'Point': [
                        123.0,
                    ]
                },
                'Interpolated': True|False,
                'Label': 'string',
                'Municipality': 'string',
                'Neighborhood': 'string',
                'PostalCode': 'string',
                'Region': 'string',
                'Street': 'string',
                'SubMunicipality': 'string',
                'SubRegion': 'string',
                'SupplementalCategories': [
                    'string',
                ],
                'TimeZone': {
                    'Name': 'string',
                    'Offset': 123
                },
                'UnitNumber': 'string',
                'UnitType': 'string'
            },
            'PlaceId': 'string'
        },
    ],
    '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.

          • Categories (list) --

            The Amazon Location categories that describe this Place.

            For more information about using categories, including a list of Amazon Location categories, see Categories and filtering , in the Amazon Location Service Developer Guide .

            • (string) --

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

          • SubMunicipality (string) --

            An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

            Note

            This property supported by Esri and OpenData. The Esri property is district , and the OpenData property is borough .

          • SubRegion (string) --

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

          • SupplementalCategories (list) --

            Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

            • (string) --

          • TimeZone (dict) --

            The time zone in which the Place is located. Returned only when using HERE or Grab 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.

          • UnitNumber (string) --

            For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123 .

            Note

            Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition .

          • UnitType (string) --

            For addresses with a UnitNumber , the type of unit. For example, Apartment .

            Note

            Returned only for a place index that uses Esri as a data provider.

        • PlaceId (string) --

          The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

          Note

          For SearchPlaceIndexForPosition operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

    • 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

        • Grab

        • 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 (response)
{'Results': {'Place': {'SubMunicipality': '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,
    ],
    FilterCategories=[
        'string',
    ],
    FilterCountries=[
        'string',
    ],
    IndexName='string',
    Key='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 FilterCategories

list

param FilterCategories

A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering , in the Amazon Location Service Developer Guide .

  • (string) --

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 Key

string

param Key

The optional API key to authorize the request.

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, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for Athens, Greece , with the language parameter set to en . The result found will most likely be returned as Athens .

If you set the language parameter to el , for Greek, then the result found will more likely be returned as Αθήνα .

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

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',
                'Categories': [
                    'string',
                ],
                'Country': 'string',
                'Geometry': {
                    'Point': [
                        123.0,
                    ]
                },
                'Interpolated': True|False,
                'Label': 'string',
                'Municipality': 'string',
                'Neighborhood': 'string',
                'PostalCode': 'string',
                'Region': 'string',
                'Street': 'string',
                'SubMunicipality': 'string',
                'SubRegion': 'string',
                'SupplementalCategories': [
                    'string',
                ],
                'TimeZone': {
                    'Name': 'string',
                    'Offset': 123
                },
                'UnitNumber': 'string',
                'UnitType': 'string'
            },
            'PlaceId': 'string',
            'Relevance': 123.0
        },
    ],
    'Summary': {
        'BiasPosition': [
            123.0,
        ],
        'DataSource': 'string',
        'FilterBBox': [
            123.0,
        ],
        'FilterCategories': [
            'string',
        ],
        '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.

      Not all response properties are included with all responses. Some properties may only be returned by specific data partners.

      • (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.

          • Categories (list) --

            The Amazon Location categories that describe this Place.

            For more information about using categories, including a list of Amazon Location categories, see Categories and filtering , in the Amazon Location Service Developer Guide .

            • (string) --

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

          • SubMunicipality (string) --

            An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

            Note

            This property supported by Esri and OpenData. The Esri property is district , and the OpenData property is borough .

          • SubRegion (string) --

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

          • SupplementalCategories (list) --

            Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

            • (string) --

          • TimeZone (dict) --

            The time zone in which the Place is located. Returned only when using HERE or Grab 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.

          • UnitNumber (string) --

            For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123 .

            Note

            Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition .

          • UnitType (string) --

            For addresses with a UnitNumber , the type of unit. For example, Apartment .

            Note

            Returned only for a place index that uses Esri as a data provider.

        • PlaceId (string) --

          The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

          Note

          For SearchPlaceIndexForText operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

        • 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 or Grab.

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

        This parameter contains 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 .

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

        • Grab

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

      • FilterCategories (list) --

        The optional category filter specified in the request.

        • (string) --

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