グーグル・ジオコード・コネクター
  • 03 Nov 2023
  • 1 読む分
  • 寄稿者

グーグル・ジオコード・コネクター


記事の要約

GoogleのGeocode APIとの統合

はじめに

ジオコーディングとは、ユーザーが地図上にマーカーを置いたり、地図を配置したりするために使用できる住所を変換するプロセスです。同様に、リバースジオコーディングは、地理座標を人間が読める住所に変換するプロセスです。このコネクタの目的は、HTTPコネクタを使用してGoogleのGeocode APIをTulipに統合し、インスタンスにインポートできるアウトオブボックスのGeocodeコネクタをお客様に提供することです。

目的

  1. GoogleのGeocode APIエンドポイントにHTTPコールを行うことで構築できるさまざまなHTTPコネクタ関数に注目し、住所に関する詳細情報を引き出し、さまざまなユースケースに活用できる座標を取得します。座標を渡すことでリバースジオコーディングを使い、住所に関するすべての情報を取得し、これらのAPIコールにフィルタを適用する方法を紹介します。
  2. さらに、GoogleのDistance Matrix APIを使って、上記で説明したようにGeocoding APIで取得した2つの住所や座標間の距離や所要時間に関する情報を引き出す方法を紹介する。

API ドキュメント

  1. Google Geocode API ドキュメント
  2. Google Distance Matrix API ドキュメント

前提条件

  1. Google のクラウドコンソールでアカウントを作成し、Google Geocode 用の API キーを設定する。詳細はGoogleのAPIドキュメントをご覧ください。
  2. 生成されたAPIキーは、GeocodeとDistance Matrixのすべてのコネクタ関数でクエリパラメータとして使用されます。ユーザーは、APIキーがTulipの入力抽出機能で渡されるか、すべてのコネクタ関数で入力されていることを確認する必要があります。

Tulip接続の詳細

以下の情報をTulipのコネクタに設定する必要があります。

  1. 実行中:クラウド・コネクタ・ホスト
  2. ホスト:maps.googleapis.com
  3. ポート:443
  4. TLS:はい
  5. 認証不要:各コールの API キーで十分です。

コネクタ機能

アドレス情報の取得

目的

  1. ユーザーは検索クエリを入力住所として渡すことができ、Tulipは特定の住所とそれに相当する緯度と経度の座標に関するすべての重要な情報を取得します。
  2. Geocodeから引き出された情報は、Tulipアプリ、Tulipテーブル、またはGeocode Connectorの一部である他のコネクタ関数にパイプされるTulip変数内でさらに使用することができます。

エンドポイント

  1. エンドポイントへの HTTP GET コール -https://maps.googleapis.com:443/maps/api/geocode/json

必須入力

渡されるクエリパラメータは以下のとおりです。

  1. API キー
  2. Address - 検索クエリのアドレス

必要な出力エクストラクタ

  1. 完全な住所:Googleによって返されるフォーマットされた完全な住所。
  2. 緯度:地図上のマーカーに使用される座標、または距離行列 API で渡される座標。
  3. 経度:地図上のマーカーに使用される、または距離行列APIで渡される座標。
  4. 場所の種類:検索された場所の種類を示す。

地域を指定した住所情報の取得

目的

  1. この関数は上記の関数と似ていますが、コネクタ関数で追加のクエリパラメータを渡すことができます。多くの場合、住所は複数の国にまたがっており、目的の結果を得るために、ユーザーはコネクター関数の地域パラメーターに国コードを渡すことができます。
  2. 地域は、ユーザーが結果をフィルタリングするために活用できるクエリパラメータの1つであるが、googleはGeocode APIを呼び出す際に使用できる他の多くのクエリパラメータを提供している。詳細についてはAPIドキュメントを参照されたい。

エンドポイントとヘッダー

  1. エンドポイントhttps://maps.googleapis.com:443/maps/api/geocode/json への HTTP GET コール

必須入力

渡されるクエリパラメータは以下のとおりです。

  1. APIキー
  2. Address - 検索クエリーの住所
  3. 地域 - 検索対象の国

必要な出力エクストラクタ

  1. 完全な住所:Googleによって返されたフォーマットされた完全な住所。
  2. 緯度:地図上のマーカーに使用される座標、または距離行列 API で渡される座標。
  3. 経度:地図上のマーカーに使用される、または距離行列APIで渡される座標。
  4. 場所の種類:検索された場所の種類を示すインジケータ。

リバースジオコーディング

目的

  1. リバース・ジオコーディングとは、地理座標を人間が読める住所に変換するプロセスである。
  2. このコネクタ関数は、座標を入力として受け取り、人間が読める住所と、APIによって返されるさまざまな住所の構成要素などの他のすべての詳細を返します。

エンドポイントとヘッダー

  1. エンドポイントhttps://maps.googleapis.com:443/maps/api/geocode/json への HTTP GET コール

必要な入力

渡されるクエリパラメータは以下の通り。

  1. APIキー
  2. 緯度経度:ユーザーはコンマで区切られた座標を渡す必要がある。

必要な出力エクストラクタ

  1. 完全な住所:Googleによって返されるフォーマットされた完全な住所。
  2. 場所の種類:検索された場所の種類のインジケータ

フィルターによる逆ジオコーディング

目的

  1. このコネクタ関数は、上記のものとまったく同様に使用されますが、Geocode APIは、場所に対して渡された座標の結果の複数の行を返します。この関数は、API が提供するさまざまなクエリパラメータを活用して、関心のあるものに結果をフィルタリングする方法を紹介します。

エンドポイントとヘッダー

  1. エンドポイントへの HTTP GET コールhttps://maps.googleapis.com:443/maps/api/geocode/json

必要な入力

渡されるクエリーパラメーターは以下の通り。

  1. APIキー
  2. 緯度経度:コンマで区切られた座標を渡す必要がある。
  3. 場所のタイプ:APIが正確な住所または概算の結果を返すことを示すクエリパラメータ。
  4. 結果タイプ:クエリパラメータで、APIドキュメントで利用可能な他のオプションの中で、ストリートアドレス、確立のために必要な結果を示します。

必要な出力エクストラクタ

  1. 完全な住所:Googleによって返されるフォーマットされた完全な住所。
  2. 場所の種類:検索された場所の種類を示すインジケータ

距離と所要時間の取得

目的

  1. この関数は Distance Matrix API を HTTP でコールし、出発地と目的地の距離と所要時間を取得します。このAPIは、Google Maps APIによって計算された、始点と終点間の推奨ルートに基づいた情報を返します。
  2. 2地点間の移動距離と時間を取得するために、geocode APIによって返される完全な住所または座標のいずれかを活用します。

エンドポイントとヘッダー

  1. エンドポイントhttps://maps.googleapis.com:443//maps/api/distancematrix/json への HTTP GET コール

必要な入力

渡されるクエリパラメータは以下の通り。

  1. APIキー
  2. オリジン - 開始アドレス/座標
  3. 目的地 - 終了住所/座標
  4. 単位 - デフォルトはメートル単位ですが、インペリアル単位を渡すこともできます。

必要な出力

  1. 距離 : 2つの入力住所間の距離
  2. 所要時間 : 2つの入力住所間の移動にかかった時間。

パラメータによる距離と所要時間の取得

目的

  1. この関数は、先に説明したコネクタ関数と全く同じ方法で使用されますが、結果を得るために追加のクエリパラメータを渡します。
  2. Distance Matrix APIが2地点間の所要時間と距離の結果を返すときのデフォルトの移動手段は運転です。鉄道、地下鉄、徒歩など、異なる交通手段を使って結果を取得するユースケースがあれば、googleの追加クエリパラメータを活用して目的のデータを取得することができる。

エンドポイントとヘッダー

  1. エンドポイントへのHTTP GETコールhttps://maps.googleapis.com:443//maps/api/distancematrix/json

必要な入力

渡されるクエリーパラメーターは以下の通り。

  1. APIキー
  2. オリジン - 開始アドレス/座標
  3. 目的地 - 終了住所/座標
  4. 単位 - デフォルトはメートル単位ですが、インペリアル単位を渡すこともできます。
  5. 旅行モード:デフォルトの走行モード以外のモードを指定します。
  6. トランジットモード:親モードのサブモード。(Transitの下のRail/Subway)

必要な出力

  1. 距離:2つの入力住所間の距離
  2. 所要時間:2つの入力住所間の移動にかかる時間。

この記事は役に立ちましたか?