2023/06/15 - Amazon Location Service - 8 updated api methods
Changes Amazon Location Service adds categories to places, including filtering on those categories in searches. Also, you can now add metadata properties to your geofences.
{'Entries': {'GeofenceProperties': {'string': 'string'}}}
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', 'GeofenceProperties': { 'string': '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.
GeofenceProperties (dict) --
Specifies additional user-defined properties to store with the Geofence. An array of key-value pairs.
(string) --
(string) --
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) --
A polygon is a list of linear rings which are each made up of a list of vertices.
Each vertex is a 2-dimensional point of the form: [longitude, latitude] . This is represented as an array of doubles of length 2 (so [double, double] ).
An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ([[double, double], ...] ).
A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...] ).
A linear ring for use in geofences 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
{'GeofenceProperties': {'string': 'string'}}
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', 'GeofenceProperties': { 'string': '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.
GeofenceProperties (dict) --
Contains additional user-defined properties stored with the geofence. An array of key-value pairs.
(string) --
(string) --
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) --
A polygon is a list of linear rings which are each made up of a list of vertices.
Each vertex is a 2-dimensional point of the form: [longitude, latitude] . This is represented as an array of doubles of length 2 (so [double, double] ).
An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ([[double, double], ...] ).
A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...] ).
A linear ring for use in geofences 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
{'Place': {'Categories': ['string'], 'SupplementalCategories': ['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', Language='string', PlaceId='string' )
string
[REQUIRED]
The name of the place index resource that you want to use for the search.
string
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.
string
[REQUIRED]
The identifier of the place to find.
dict
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', '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 .
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.
{'Entries': {'GeofenceProperties': {'string': 'string'}}}
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', 'GeofenceProperties': { 'string': '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.
GeofenceProperties (dict) --
Contains additional user-defined properties stored with the geofence. An array of key-value pairs.
(string) --
(string) --
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) --
A polygon is a list of linear rings which are each made up of a list of vertices.
Each vertex is a 2-dimensional point of the form: [longitude, latitude] . This is represented as an array of doubles of length 2 (so [double, double] ).
An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ([[double, double], ...] ).
A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...] ).
A linear ring for use in geofences 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.
{'GeofenceProperties': {'string': 'string'}}
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', GeofenceProperties={ 'string': '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
Specifies additional user-defined properties to store with the Geofence. An array of key-value pairs.
(string) --
(string) --
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) --
A polygon is a list of linear rings which are each made up of a list of vertices.
Each vertex is a 2-dimensional point of the form: [longitude, latitude] . This is represented as an array of doubles of length 2 (so [double, double] ).
An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ([[double, double], ...] ).
A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...] ).
A linear ring for use in geofences 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
{'Results': {'Place': {'Categories': ['string'], 'SupplementalCategories': ['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, ] )
string
[REQUIRED]
The name of the place index resource you want to use for the search.
string
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.
integer
An optional parameter. The maximum number of results returned per request.
Default value: 50
list
[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) --
dict
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', '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 .
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) --
{'FilterCategories': ['string']}Response
{'Results': {'Categories': ['string'], 'SupplementalCategories': ['string']}, 'Summary': {'FilterCategories': ['string']}}
Generates suggestions for addresses and points of interest based on partial or misspelled free-form text. This operation is also known as autocomplete, autosuggest, or fuzzy matching.
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 suggested place names near a specified position by using BiasPosition , or filter results within a bounding box by using FilterBBox . These parameters are mutually exclusive; using both BiasPosition and FilterBBox in the same command returns an error.
See also: AWS API Documentation
Request Syntax
client.search_place_index_for_suggestions( BiasPosition=[ 123.0, ], FilterBBox=[ 123.0, ], FilterCategories=[ 'string', ], FilterCountries=[ 'string', ], IndexName='string', Language='string', MaxResults=123, Text='string' )
list
An optional parameter that indicates a preference for place suggestions 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) --
list
An optional parameter that limits the search results by returning only suggestions within a specified 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) --
list
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) --
list
An optional parameter that limits the search results by returning only suggestions within the provided list of countries.
Use the ISO 3166 3-digit country code. For example, Australia uses three upper-case characters: AUS .
(string) --
string
[REQUIRED]
The name of the place index resource you want to use for the search.
string
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. 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, Gr to get suggestions with the language parameter set to en . The results found will most likely be returned as Athens, Greece .
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.
integer
An optional parameter. The maximum number of results returned per request.
The default: 5
string
[REQUIRED]
The free-form partial text to use to generate place suggestions. For example, eiffel tow .
dict
Response Syntax
{ 'Results': [ { 'Categories': [ 'string', ], 'PlaceId': 'string', 'SupplementalCategories': [ 'string', ], 'Text': 'string' }, ], 'Summary': { 'BiasPosition': [ 123.0, ], 'DataSource': 'string', 'FilterBBox': [ 123.0, ], 'FilterCategories': [ 'string', ], 'FilterCountries': [ 'string', ], 'Language': 'string', 'MaxResults': 123, 'Text': 'string' } }
Response Structure
(dict) --
Results (list) --
A list of place suggestions that best match the search text.
(dict) --
Contains a place suggestion resulting from a place suggestion query that is run on a place index resource.
Categories (list) --
The Amazon Location categories that describe the 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) --
PlaceId (string) --
The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.
The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.
Note
For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.
SupplementalCategories (list) --
Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.
(string) --
Text (string) --
The text of the place suggestion, typically formatted as an address string.
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.
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.
Text (string) --
The free-form partial text input specified in the request.
{'FilterCategories': ['string']}Response
{'Results': {'Place': {'Categories': ['string'], 'SupplementalCategories': ['string']}}, 'Summary': {'FilterCategories': ['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', Language='string', MaxResults=123, Text='string' )
list
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) --
list
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) --
list
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) --
list
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) --
string
[REQUIRED]
The name of the place index resource you want to use for the search.
string
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.
integer
An optional parameter. The maximum number of results returned per request.
The default: 50
string
[REQUIRED]
The address, name, city, or region to be used in the search in free-form text format. For example, 123 Any Street .
dict
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', '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 .
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.