Geocodificación usando Amazon Location
La geocodificación es un proceso que convierte texto como una dirección, una región, el nombre de una empresa o un punto de interés, en un conjunto de coordenadas geográficas. Puede usar los recursos del índice de ubicación para enviar solicitudes de geocodificación e incorporar los datos recuperados de la geocodificación para mostrarlos en un mapa para su aplicación web o móvil.
En esta sección, se explica cómo enviar una solicitud de geocodificación sencilla y cómo enviar solicitudes de geocodificación con especificaciones opcionales.
Geocodificación
Puede enviar una simple solicitud de geocodificación mediante la operación SearchPlaceIndexForText
para convertir una dirección en un conjunto de coordenadas. Una solicitud simple contiene el siguiente parámetro obligatorio:
-
Text
: una dirección, un nombre, una ciudad o una región para convertirlos en un conjunto de coordenadas. Por ejemplo, la cadenaAny Town
.
Para especificar un número máximo de resultados por página, utilice el siguiente parámetro opcional:
-
MaxResults
: limita el número máximo de resultados devueltos en la respuesta a la consulta.
Puede usar la AWS CLI o las API de Amazon Location.
Geocodificar cerca de una posición
Al geocodificar, puede geocodificar cerca de una posición determinada con el siguiente parámetro opcional:
-
BiasPosition
: la posición cercana a la que desea buscar. Esto reduce la búsqueda al buscar los resultados más cercanos a la posición dada. Definido como[longitude, latitude]
El siguiente ejemplo es una solicitud de
].SearchPlaceIndexForText
para buscar en el recurso de índice de ubicación una dirección, nombre, ciudad o región denominada cualquier ciudad
cercana a la posición [-123.4567
, 45.6789
POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Any Town", "BiasPosition": [
-123.4567
,45.6789
] }
Geocodificar dentro de un cuadro delimitador
Puede geocodificar dentro de un cuadro delimitador para limitar los resultados a las coordenadas dentro de un límite determinado mediante el siguiente parámetro opcional:
-
FilterBBox
: un cuadro delimitador que se especifica para filtrar los resultados a las coordenadas que se encuentran dentro de los límites del cuadro. Definido como[LongitudeSW, LatitudeSW, LongitudeNE, LatitudeNE]
nota
Una solicitud no puede contener los parámetros
FilterBBox
yBiasPosition
a la vez. Si se especifican ambos parámetros en la solicitud, se produce un error deValidationException
.
El siguiente ejemplo es una solicitud de SearchPlaceIndexForText
para buscar dentro de un cuadro delimitador una dirección, nombre, ciudad o región denominada cualquier ciudad
. El cuadro delimitador es el siguiente:
-
La longitud de la esquina suroeste es
-124.1450
. -
La latitud de la esquina suroeste es
41.7045
. -
La longitud de la esquina noreste es
−124.1387
. -
La latitud de la esquina noreste es
41.7096
.
POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Any Town", "FilterBBox": [
-124.1450
,41.7045
,-124.1387
,41.7096
] }
Geocodificar dentro de un país
Puede geocodificar en uno o más países que especifique mediante el siguiente parámetro opcional:
-
FilterCountries
: el país o la región en los que desea geocodificar. Puede definir hasta 100 países en una solicitud utilizando un código de país de tres letras según el estándar ISO 3166. Por ejemplo, utilice AUS
para Australia.
El siguiente ejemplo es una solicitud de SearchPlaceIndexForText
para la búsqueda de una dirección, nombre, ciudad o región denominada cualquier ciudad
en Alemania o Francia.
POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Any Town", "FilterCountries": ["
DEU
","FRA
"] }
Filtrar por categoría
Puede filtrar las categorías que se muestran en su solicitud de geocodificación mediante el siguiente parámetro opcional:
-
FilterCategories
: las categorías de resultados que desea que se muestren en la consulta. Puede especificar hasta 5 categorías en una única solicitud. Puede encontrar la lista de categorías de Amazon Location Service en la sección Categorías. Por ejemplo, puede utilizarHotel
en la consulta para que se especifiquen solo los hoteles que regresan.
El siguiente ejemplo es una solicitud de SearchPlaceIndexForText
para buscar una cafetería llamada Hometown Coffee
en los Estados Unidos.
POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Hometown Coffee", "FilterCategories": ["Coffee Shop"], "FilterCountries": ["USA"] }
Para obtener más información sobre el filtrado de categorías, consulte Categorías de lugar y filtrado de resultados con Amazon Location
Geocodifique en un idioma preferido
Puede establecer una preferencia de idioma para los resultados de la búsqueda mediante el parámetro opcional Language
. Por ejemplo, es posible que 100 Main
St, Anytown, USA
devuelva una búsqueda de 100 Main St, Any Town,
USA
por defecto. Sin embargo, si selecciona fr
como Language
, es posible que los resultados aparezcan como 100 Rue
Principale, Any Town, États-Unis
en su lugar.
-
Language
: un código de idioma que se utilizará para representar los resultados de la consulta. El valor debe ser un código de idioma BCP 47válido. Por ejemplo, en
para inglés.
nota
Si no se especifica el Language
o el idioma especificado no es compatible con un resultado, se utilizará el idioma predeterminado del socio para ese resultado.
El siguiente ejemplo es una solicitud de SearchPlaceIndexforText
para buscar un lugar llamado Any Town
con el idioma preferido especificado como el de
.
POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Any Town", "Language": "de" }
Ejemplo de respuesta
El siguiente es un ejemplo de respuesta cuando llamas a la operación de SearchPlaceIndexForText
desde las API de Amazon Location Places. Los resultados incluyen las ubicaciones relevantes y el resumen de la solicitud. Se muestran dos respuestas basadas en la selección de Esri o HERE como socio.