ジオコーディング - Amazon Location Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ジオコーディング

ジオコーディングは、住所、地域、会社名、対象地点などのテキストを一連の地理座標に変換するプロセスです。プレイスインデックスリソースを使用してジオコーディングリクエストを送信し、ジオコーディングから取得したデータを組み込んで Web またはモバイルアプリケーションのマップ上にデータを表示することができます。

このセクションでは、簡単なジオコーディングリクエストを送信する方法と、オプション仕様でジオコーディングリクエストを送信する方法について説明します。

ジオコーディング

住所を座標セットに変換するSearchPlaceIndexForTextオペレーションを使用して、ジオコーディングに簡単なリクエストを送信することができます。単純なリクエストには次の必須パラメータが含まれます。

  • Text— 座標セットに変換する住所、名前、都市、または地域。たとえば、文字列Any Town

1 ページあたりの結果の最大数を指定するには、以下のオプションパラメータを使用します。

  • MaxResults— クエリレスポンスで返される結果の数を制限します。

AWS CLI または Amazon Location APIsを使用できます。

API

次の例は、場所インデックスリソース でExamplePlaceIndex、Any Town と呼ばれる住所、名前、都市、または地域を検索するSearchPlaceIndexForTextリクエストです。

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

次の例は、場所インデックスリソース でExamplePlaceIndex、Any Town と呼ばれる住所、名前、都市、または地域を検索するsearch-place-index-for-textコマンドです。

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

ある位置の近くのジオコード

ジオコーディングでは、以下のオプションパラメータを使用して特定の位置の近くをジオコーディングすることができます。

  • BiasPosition— 付近で検索したい位置。指定した位置に最も近い結果を検索して、検索範囲を絞り込みます。[longitude, latitude]と定義されます。

次の例は、-123.4567, 45.6789という位置の近くにある「Any Town」という住所、名前、都市、または地域をプレイスインデックスリソースで検索するSearchPlaceIndexForTextリクエストです。

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

バウンディングボックス内のジオコーディング

バウンディングボックス内でジオコーディングすると、次のオプションパラメータを使用して結果を特定の境界内の座標に絞り込むことができます。

  • FilterBBox— 検索結果をバウンディングボックス内の座標に絞り込むために指定するバウンディングボックス。[LongitudeSW, LatitudeSW, LongitudeNE, LatitudeNE]と定義されます。

    注記

    リクエストはFilterBBoxBiasPositionの両方のパラメーターを含むことはできません。リクエストで両方のパラメータを指定するとValidationExceptionエラーが返されます。

次の例は、「Any Town」呼ばれる住所、名前、都市、または地域のバウンディングボックス内を検索するSearchPlaceIndexForTextリクエストです。バウンディングボックスは次のようになります。

  • 南西の角の経度は -124.1450 です。

  • 南西の角の緯度は 41.7045 です。

  • 北東の角の経度は -124.1387 です。

  • 北東の角の緯度は 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 ] }

国内のジオコード

以下のオプションパラメータを使用することで、指定した 1 つまたは複数の国でジオコードを行うことができます:

  • FilterCountries— ジオコーディングする国または地域。ISO 3166 の 3 文字の国コードを使用すると、1 回のリクエストで最大 100 カ国まで定義できます。たとえば、オーストラリアではAUSです。

次の例は、ドイツとフランスの「Any Town」という住所、名前、都市、または地域を検索するSearchPlaceIndexForTextリクエストです。

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

カテゴリによるフィルタリング

以下のオプションのパラメータを使用することで、ジオコードリクエストで返されるカテゴリをフィルタリングすることができます:

  • FilterCategories— クエリで返してほしい結果のカテゴリ。1 つのリクエストで最大 5 つのカテゴリを指定することができます。Amazon Location Service カテゴリのリストは、カテゴリセクションにあります。例えば、Hotelを指定することで、クエリで返されるホテルのみを指定することができます。

次の例は、米国にある Hometown Coffee というコーヒーショップを検索するSearchPlaceIndexForTextリクエストです。

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

カテゴリに基づくフィルタリングの詳細については、カテゴリに基づくフィルタリングの詳細については、カテゴリーの配置と結果のフィルタリングを参照してください。

優先言語でのジオコーディング

オプションLanguageパラメータを使用して、検索結果の言語プリファレンスを設定できます。たとえば、100 Main St, Anytown, USAを検索するとデフォルトで100 Main St, Any Town, USAが返されるか可能性があります。ただし、frとしてLanguageを選択した場合、結果は代わりに100 Rue Principale, Any Town, États-Unisを返す場合もあります。

  • Language— クエリの結果をレンダリングするために使用する言語コード。値は有効な BCP 47 言語コードでなければなりません。例えば、英語では en です。

注記

Languageが指定されていない場合、または指定された言語が結果でサポートされていない場合、その結果ではパートナーのデフォルト言語が使用されます。

次の例は、優先言語をdeに指定して、Any Townという場所を検索するSearchPlaceIndexforTextリクエストである。

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

レスポンスの例

以下は、Amazon Location プレイス API からSearchPlaceIndexForTextオペレーションを呼び出したときのレスポンスの例です。結果には、関連する場所とリクエストの概要が含まれます。Esri または Here をパートナーとして選択したことに基づいて、2 つの応答が表示されます。

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 } ] }