Geocodificação usando Amazon Location - Amazon Location Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Geocodificação usando Amazon Location

A geocodificação é um processo que converte texto, como endereço, região, nome comercial ou ponto de interesse, em um conjunto de coordenadas geográficas. Você pode usar recursos de índice de local para enviar solicitações de geocodificação e incorporar dados recuperados da geocodificação para exibir dados em um mapa para seu aplicativo da web ou móvel.

Esta seção explica como enviar uma solicitação simples de geocodificação e como enviar solicitações de geocodificação com especificações opcionais.

Geocodificação

Você pode enviar uma solicitação simples para geocodificar usando a operação SearchPlaceIndexForText para converter um endereço em um conjunto de coordenadas. Uma solicitação simples contém o seguinte parâmetro necessário:

  • Text: um endereço, nome, cidade ou região para converter em um conjunto de coordenadas. Por exemplo, a string Any Town.

Para especificar um número máximo de resultados por página, use o seguinte parâmetro opcional:

  • MaxResults: limita o número máximo de resultados retornados na resposta da consulta.

Você pode usar o AWS CLI ou o Amazon LocationAPIs.

API

O exemplo a seguir é uma SearchPlaceIndexForText solicitação para pesquisar o recurso place index ExamplePlaceIndex, para um endereço, nome, cidade ou região chamado Any Town.

POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Any Town", "MaxResults": 10 }
AWS CLI

O exemplo a seguir é um search-place-index-for-text comando para pesquisar o recurso place index, ExamplePlaceIndex, para um endereço, nome, cidade ou região chamado Any Town.

aws location \ search-place-index-for-text \ --index-name ExamplePlaceIndex \ --text "Any Town" \ --max-results 10

Codifique geograficamente perto de uma posição

Ao geocodificar, você pode geocodificar perto de uma determinada posição com o seguinte parâmetro opcional:

  • BiasPosition: A posição que você deseja pesquisar nas proximidades. Isso restringe sua pesquisa pesquisando os resultados mais próximos da posição especificada. Definido como [longitude, latitude]

O exemplo a seguir é uma SearchPlaceIndexForText solicitação para pesquisar no recurso de índice de locais um endereço, nome, cidade ou região chamado Any Town perto da posição [-123.4567,45.6789].

POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Any Town", "BiasPosition": [-123.4567,45.6789] }

Codifique geograficamente dentro de uma caixa delimitadora

Você pode geocodificar dentro de uma caixa delimitadora para restringir seus resultados às coordenadas dentro de um determinado limite usando o seguinte parâmetro opcional:

  • FilterBBox: uma caixa delimitadora que você especifica para filtrar seus resultados para coordenadas dentro dos limites da caixa. Definido como [LongitudeSW, LatitudeSW, LongitudeNE, LatitudeNE]

    nota

    Uma solicitação não pode conter os parâmetros FilterBBox e BiasPosition. A especificação dos dois parâmetros na solicitação retorna um erro ValidationException.

O exemplo a seguir é uma SearchPlaceIndexForText solicitação para pesquisar em uma caixa delimitadora um endereço, nome, cidade ou região chamada Any Town. A caixa delimitadora segue o seguinte:

  • A longitude do canto sudoeste é -124.1450.

  • A latitude do canto sudoeste é 41.7045.

  • A longitude do canto nordeste é -124.1387.

  • A latitude do canto nordeste é 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 ] }

Codificar geograficamente dentro de um país

Você pode geocodificar dentro de um ou mais países que especificar usando o seguinte parâmetro opcional:

  • FilterCountries: o país ou região em que você deseja geocodificar. Você pode definir até 100 países em uma solicitação usando um código de país de três letras ISO3166. Por exemplo, use AUS para a Austrália.

O exemplo a seguir é uma SearchPlaceIndexForText solicitação para pesquisar um endereço, nome, cidade ou região chamada Any Town na Alemanha e na França.

POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Any Town", "FilterCountries": ["DEU","FRA"] }

Filtrar por categoria

Você pode filtrar as categorias que são retornadas em sua solicitação de geocodificação usando o seguinte parâmetro opcional:

  • FilterCategories: As categorias de resultados que você deseja retornar em sua consulta. É possível especificar até cinco categorias em uma solicitação. Você pode encontrar a lista das categorias do Amazon Location Service na seção Categorias. Por exemplo, é possível especificar Hotel somente para os hotéis resultantes da sua consulta.

O exemplo a seguir é uma SearchPlaceIndexForText solicitação para pesquisar uma cafeteria chamada Hometown Coffee nos Estados Unidos.

POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Hometown Coffee", "FilterCategories": ["Coffee Shop"], "FilterCountries": ["USA"] }

Para obter mais detalhes sobre a filtragem em categorias, consulte Coloque categorias e resultados de filtragem com Amazon Location

Geocodifique em um idioma preferido

Você pode definir uma preferência de idioma para os resultados da sua pesquisa usando o parâmetro Language opcional. Por exemplo, uma pesquisa por 100 Main St, Anytown, USA pode retornar 100 Main St, Any Town, USA por padrão. Mas se você selecionar fr como Language, os resultados poderão retornar 100 Rue Principale, Any Town, États-Unis em vez disso.

  • Language: um código de linguagem a ser usado para renderizar os resultados da sua consulta. O valor deve ser um código válido de BCP47 idiomas. Por exemplo, en para inglês.

nota

Se Language não for especificado ou se o idioma especificado não for suportado para um resultado, o idioma padrão do parceiro para esse resultado será usado.

O exemplo a seguir é uma solicitação SearchPlaceIndexforText para pesquisar um local chamado Any Town com o idioma preferencial especificado como de.

POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Any Town", "Language": "de" }

Exemplo de resposta

Veja a seguir um exemplo de resposta quando você chama a SearchPlaceIndexForText operação a partir do Amazon Location PlacesAPIs. Os resultados incluem locais relevantes e o resumo da solicitação. Duas respostas são mostradas, com base na seleção da Esri ou HERE como parceira.

Example request
POST /places/v0/indexes/ExamplePlaceIndex/search/text Content-type: application/json { "Text": "Amazon", "MaxResults": 1, "FilterCountries": ["USA"], "BiasPosition": [-112.10, 46.32] }
Example response (Esri)
{ "Results": [ { "Place": { "Country": "USA", "Geometry": { "Point": [ -112.10667999999998, 46.319090000000074 ] }, "Interpolated": false, "Label": "Amazon, MT, USA", "Municipality": "Amazon", "Region": "Montana", "SubRegion": "Jefferson County" }, "Distance": 523.4619749879726, "Relevance": 1 } ], "Summary": { "BiasPosition": [ -112.1, 46.32 ], "DataSource": "Esri", "FilterCountries": [ "USA" ], "MaxResults": 1, "ResultBBox": [ -112.10667999999998, 46.319090000000074, -112.10667999999998, 46.319090000000074 ], "Text": "Amazon" } }
Example response (HERE)
{ "Summary": { "Text": "Amazon", "BiasPosition": [ -112.1, 46.32 ], "FilterCountries": [ "USA" ], "MaxResults": 1, "ResultBBox": [ -112.10668, 46.31909, -112.10668, 46.31909 ], "DataSource": "Here" }, "Results": [ { "Place": { "Label": "Amazon, Jefferson City, MT, United States", "Geometry": { "Point": [ -112.10668, 46.31909 ] }, "Neighborhood": "Amazon", "Municipality": "Jefferson City", "SubRegion": "Jefferson", "Region": "Montana", "Country": "USA", "Interpolated": false, "TimeZone": { "Name": "America/Denver", "Offset": -25200 } }, "PlaceId": "AQAAAIAADsn2T3KdrRWeaXLeVEyjNx_JfeTsMB0NVCEAnAZoJ-o3nqdlJZAdgcT2oWi1w9pS4wXXOk3O1vsKlGsPyHjV4EJxsu289i3hVO_BUPgP7SFoWAi8BW2v7LvAjQ5NfUPy7a1v9ajT3feIqcUZszWSTqKbJHFYvQqW7wdqhpQq3Wy-et39ZQDWSPLZUzgcjN-6VD2gyKkH0Po7gSm8YSJNSQ", "Distance": 523.4619749905755 } ] }