Amazon Location Service入門ワークショップ-ジオコーディング
2023/02/05
ジオコーディングにより住所を緯度経度に変換したり、逆に緯度経度から住所を求めたりできます。
Amazon Location ServiceにはジオコーディングのAPIがあります。
目次
関連記事
- Amazon Location Service入門ワークショップの前提環境準備
- Amazon Location Service入門ワークショップ-マップの操作
- Amazon Location Service入門ワークショップ-ルート計算
- Amazon Location Service入門ワークショップ-トラッカー
- Amazon Location Service入門ワークショップ-ジオフェンス
SearchPlaceIndexForText
1 2 |
aws location search-place-index-for-text --index-name WorkshopIndex --text "大阪府大阪市中央区道頓堀1" |
作成しておいたプレースインデックスWorkshopIndexに対して、AWS CLIで実行しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
{ "Results": [ { "Place": { "Country": "JPN", "Geometry": { "Point": [ 135.50440972, 34.66873338000005 ] }, "Interpolated": false, "Label": "大阪府大阪市中央区道頓堀1", "Municipality": "中央区", "Neighborhood": "1", "Region": "大阪府" }, "Relevance": 1 } ], "Summary": { "DataSource": "Esri", "MaxResults": 50, "ResultBBox": [ 135.50440972, 34.66873338000005, 135.50440972, 34.66873338000005 ], "Text": "大阪府大阪市中央区道頓堀1" } } |
テキストに含まれる情報に基づいた結果が返ってきました。
SearchPlaceIndexForText APIがアプリの住所検索でも使用されています。
住所から緯度経度が返ってきて、ピンが設定されています。
1 2 |
aws location search-place-index-for-text --index-name WorkshopIndex --text "城" |
城などキーワードで検索すると該当する複数の結果が返る。
BiasPosition、FilterBBox、FilterCountries、MaxResultsを組み合わせて返す内容を限定できる。
BiasPositionは中央検索地点で、FilterBBoxは緯度経度の範囲、FilterCountriesは国コードのリスト、MaxResultsは件数です。
例えば次のように日本で京都の任意の場所を中心に城を2件抽出などできます。
1 2 3 4 5 6 7 |
aws location search-place-index-for-text \ --index-name WorkshopIndex \ --text "城" \ --bias-position ["135.67323934, 34.92311454000003"] \ --filter-countries "JPN" \ --max-results 2 |
BiasPositionの代わりにFilterBBoxを使うこともできます。
同時に使うことはできませんでした。
1 2 3 4 5 6 7 |
aws location search-place-index-for-text \ --index-name WorkshopIndex \ --text "城" \ --filter-b-box ["135, 34, 140, 40"] \ --filter-countries "JPN" \ --max-results 2 |
住所の不足や表記ゆれも対応しているようです。
SearchPlaceIndexForPosition
逆ジオコーディングです。
1 2 3 4 |
aws location search-place-index-for-position \ --index-name WorkshopIndex \ --position "[135.50440972, 34.668733380000055]" |
ポジションとして緯度経度を渡します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
{ "Results": [ { "Distance": 9.239102020048415, "Place": { "AddressNumber": "17", "Country": "JPN", "Geometry": { "Point": [ 135.50444395072032, 34.66865530454956 ] }, "Interpolated": false, "Label": "大阪府大阪市中央区道頓堀1-3-17", "Municipality": "中央区", "Neighborhood": "1", "PostalCode": "5420071", "Region": "大阪府" } } ], "Summary": { "DataSource": "Esri", "MaxResults": 50, "Position": [ 135.50440972, 34.668733380000056 ] } } |
緯度経度に該当する情報が返ってきます。
位置情報が取得できるアプリなどで緯度経度を取得して、そこから返ってきた情報やキーワードを元に広告を表示したり移動履歴としてユーザーに提供したりなどに使用できます。
SearchPlaceIndexForSuggestions
1 2 3 4 |
aws location search-place-index-for-suggestions \ --index-name WorkshopIndex \ --text "居酒屋" |
キーワードをもとに候補を返してくれます。
BiasPosition、FilterBBoxが使用できるので、特定地域のスポットを検索するような用途で使えそうです。
大阪付近で居酒屋を検索しようとしたら徳島、兵庫、奈良しか出ませんでした。
まだまだ情報が足りてないんですかね。
1 2 3 4 5 |
aws location search-place-index-for-suggestions \ --index-name WorkshopIndex \ --text "居酒屋" \ --filter-b-box ["134, 33, 136, 35"] |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
{ "Results": [ { "PlaceId": "AQAAAIAAhWJdclfWTk0rEBIl3oukK4QaVTDkN90pC8rmYbdV_WP_k3xnhPrtiTklxAC-avE1kIeFQoimptgg-90-P3c4EgBByyjxbxBqCHwY89F6JEPvw1e6sgOyK1rpbc9-gz23ZYPQR7UraA2GlmcIeqGowVU8kkh724SBf5SNHjtvCGLVyThpDgAbPnfBldcyfJJ7NKwJGpQpjFqX3AztGZXjqg", "Text": "徳島県阿南市居酒屋美千代" }, { "PlaceId": "AQAAAIAAYyeCQlwW3-s7R0V2NtqblId5ETL9LiMh3PPRkfLpGk1IZ62OCVQtNpDA0r28E2fSk1q1MD_GtRWZhqjhp7Tmq_78cjd0srUc1b6-VARSjmP9cGx3suWloJKnoDQHsDzxZMSlF8RANlDJqwl41zq6h4Ddp2v55TIBPWDfnbdhG_Sr9dABLf2u85i4KYjXLLMrCrgPunBGyJw665-91AbtzA", "Text": "兵庫県明石市居酒屋風れすとらんたんご" }, { "PlaceId": "AQAAAIAAUAXuCOXMLvgw-Fb8LrdBTIRzDYiOWzcmMwE0GBpWfo6jv7TVC_KXqrUhb858OkV67kMErVvCnycwN2EyjZ95jYicBwhtOM_8xzD8sgRqw5U-U42d-uZ4bB56S3SukaE6ThZF5VWPPYg7mguQ7A0iJc_9sW_mq8J-JSvy743wnwaZi7py_uPhSeEFmso3cTJTcs4x2UZs6NwIl03KRBkHaw", "Text": "奈良県磯城郡田原本町居酒屋鞍馬" } ], "Summary": { "DataSource": "Esri", "FilterBBox": [ 134, 33, 136, 35 ], "MaxResults": 5, "Text": "居酒屋" } } |
GetPlace
一度取得したPlaceIdはキャッシュしておけばGetPlaceで再利用できます。
1 2 3 4 |
aws location get-place \ --index-name WorkshopIndex \ --place-id "AQAAAIAAhWJdclfWTk0rEBIl3oukK4QaVTDkN90pC8rmYbdV_WP_k3xnhPrtiTklxAC-avE1kIeFQoimptgg-90-P3c4EgBByyjxbxBqCHwY89F6JEPvw1e6sgOyK1rpbc9-gz23ZYPQR7UraA2GlmcIeqGowVU8kkh724SBf5SNHjtvCGLVyThpDgAbPnfBldcyfJJ7NKwJGpQpjFqX3AztGZXjqg" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ "Place": { "Country": "JPN", "Geometry": { "Point": [ 134.6721310490001, 33.924575799000024 ] }, "Interpolated": false, "Label": "徳島県阿南市居酒屋美千代", "Region": "徳島県" } } |
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
AWSアカウントrootユーザーのメールアドレスを変更
昔、うっかり会社の個人メールアドレスで作ってしまったAWSアカウントがあるのでメ …
-
-
Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる
Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambd …
-
-
EC2にSystems MangerからCloudWatchエージェントをインストール
CloudWatchエージェント EC2の標準メトリクスでは収集できないメモリの …
-
-
AWS DeepLens開封の儀
去年(2019年)7月にamazon.co.jpでDeepLens買えますやんっ …
-
-
API GatewayをトリガーにしたときのLambdaリソースベースポリシー
先日、SwaggerからAPI Gatewayを作ったときに、API Gatew …
-
-
Amazon Bedrock Conversational Builderを使用してAIエージェントを作成してみました
2024年10月16日に「Amazon Bedrock のエージェントが Con …
-
-
Rocket.ChatをAmazon EC2 Ubuntuサーバーで起動
こちらRocket.Chatを1行でAWS上に導入を参照させていただきました。 …
-
-
特定AWSアカウント特定リージョンのCloudFormationスタックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のCloudFormationスタ …
-
-
AWS Summit 2016 Tokyoに参加してきました (Day3)
飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …
-
-
CloudFrontのカスタムヘッダーがなければALBのルーティングで403レスポンスを返す
大阪リージョンにはWAFがまだないです(2021年4月現在) 今のこのブログの構 …