ブロックリファレンス

BLOCKS Reference

Google Maps

経緯度を住所へ変換【アルファ版】

notificationsこのブロックはアルファ版です。利用にあたっては利用申請が必要です。提供している機能は完全でない場合があり、下位互換性のない変更を加える可能性もあります。このため、テスト環境での使用に適しています。利用申請/機能改善の要望/不具合の報告などは、MAGELLAN BLOCKSのお問い合わせ機能からお願いします。

概要

このブロックは、Google Maps PlatformのGeocoding APIを使って、経緯度から住所を取得します。

(画像をクリックすると拡大表示されます。)

warningセルフサービスプランの場合は、利用するGCPプロジェクトにおいて、Geocoding APIを有効化する必要があります。

warningこのブロックは、Google Maps PlatformのGeocoding APIを利用しているため、その利用量に応じた料金が別途発生します(従量課金制)。料金について詳しくは、Google Maps Platform料金表open_in_newのプレイス- Geocoding APIの項を参照願います。

MAGELLAN BLOCKSでは、利用する機能に合わせて、さまざまなAPIを利用しています。これらについても利用量に応じた料金が発生します。

  • データ保存先(Google Cloud StorageやBigQueryなど)の操作:Google Cloud PlatformのAPI
  • 機械学習の各機能:AI PlatformのAPI

プロパティ

プロパティ名 説明
ブロック名

編集パネルに配置した当該ブロックの表示名が変更できます。

ブロックリストパネル中のブロック名は変更されません。

GCP APIキー

このブロックで利用するGoogle Maps Platform APIに必要なGCPのAPIキーを指定します。

GCP APIキーは、次の手順で作成します。

  1. Google Cloud Platformコンソールopen_in_newへ移動します。
  2. プロジェクトを選択します。
  3. 画面上部にある[認証情報を作成]ボタンをクリックします。
  4. APIキーを選択します。
経緯度が格納された変数

住所に変換したい経緯度が格納された変数を指定します。

変数値は、オブジェクトもしくはオブジェクトの配列で準備します。オブジェクトの形式は、以下の通りです。

{
  "location":経緯度,
  "任意のキー":任意の値
}
キー
location 文字列

緯度・経度の順で、カンマ区切りで指定します(例:"35.710063,139.8107")。

任意のキー 任意の型

location・address・place_id以外の任意のキーが指定できます(例:origin_location)。

この任意のキーと値のペアは、住所を取得した結果にも出力されます。

locationキーで指定した経緯度は、住所を取得した結果では異なる経緯度で出力されることがあります。複数の経緯度から住所を取得する場合は、以下のように利用すると指定した経緯度と取得後の住所が特定しやすくなります。

[
  {
    "location": "35.710063,139.8107",
    "origin_location": "35.710063,139.8107"
  },
  {
    "location": "35.658581,139.745433",
    "origin_location": "35.658581,139.745433"
  }
]

この任意のキーを使用した際の住所を取得した結果については、「結果を格納する変数」プロパティの取得例を参照してください。

以下は、オブジェクトをオブジェクト生成ブロックで指定した例です。

(画像をクリックすると拡大表示されます。)

このケースの場合は、このプロパティに_を指定します。

オブジェクトの配列の場合は、以下のように指定します。

(画像をクリックすると拡大表示されます。)

このケースの場合は、このプロパティに_.locationsを指定します。

結果を格納する変数

経緯度を住所へ変換した結果が格納される変数を指定します。

この変数には、以下に示すキーを含んだオブジェクトの配列が格納されます。

キー 説明
address

経緯度が格納された変数」プロパティで指定したlocationの経緯度から算出した住所です。

location

addressの住所に対する経緯度です。「経緯度が格納された変数」プロパティで指定したlocationの経緯度とは異なる可能性があります。

place_id

addressのPlace IDopen_in_newです。

info_outline経緯度が格納された変数」プロパティで任意のキーを指定した場合は、そのキーと値のペアも格納されます。

以下は、格納されたオブジェクトの配列の例です。

[
  {
    "location": "35.7100627,139.8107004",
    "origin_location": "35.710063,139.8107",
    "address": "日本、〒131-0045東京都墨田区押上1丁目1−2",
    "place_id": "ChIJ35ov0dCOGGARKvdDH7NPHX0"
  },
  {
    "location": "35.6585805,139.7454329",
    "origin_location": "35.658581,139.745433",
    "address": "日本、〒105-0011東京都港区芝公園4丁目2−8",
    "place_id": "ChIJCewJkL2LGGAR3Qmk0vCTGkg"
  }
]

info"origin_location"」は、「経緯度が格納された変数」プロパティで指定された任意のキーです。

ブロックメモ このブロックに関するメモが記載できます。このブロックの処理に影響しません。
住所の表記言語

変換された住所の表記言語を選択します。

infoサポートしている言語のリストは、Google Maps Platform FAQopen_in_newを参照してください。

住所のGoogleマップURLをログへ出力

変換された住所のGoogleマップURLをログに出力するかどうかを指定します。

  • チェックボックスをオン:出力する(初期値)
  • チェックボックスをオフ:出力しない

使用例

ここでは、「経緯度を住所へ変換【アルファ版】」ブロックを使って、BigQuery上の経緯度データから住所を求めるケースを取り上げます。

前提として、BigQuery上の経緯度データは、以下のように定義されているものとします。

経緯度データ:
id longitude latitude
P001 135.785046 34.994856
P002 139.796655 35.714765
P003 135.772672 34.96714
P004 135.729243 35.03937
P005 139.745433 35.658581
P006 135.432338 34.665442
P007 139.8107 35.710063
P008 139.646091 35.443446
P009 139.705177 35.671039
P010 135.501297 34.668723
スキーマ情報:
カラム名 タイプ モード
id STRING NULLABLE
longitude FLOAT NULLABLE
latitude FLOAT NULLABLE
テーブル情報:
GCPプロジェクト名 my-project
データセット名 example
テーブル名 geocode
データ概要:
カラム 内容
id 経緯度を特定するユニークな文字列
longitude 経度
latitude 緯度

「経緯度を住所へ変換【アルファ版】」ブロックを使用する場合は、「オブジェクトの配列形式」のデータを変数で入力する必要があります。

オブジェクトの配列形式」とは、下図のような配列の各要素がオブジェクトであるデータ形式のことです。

しかし、今回のサンプルではBigQuery上のデータの形式が異なるため、何らかの方法でオブジェクトの配列形式に変換したデータを変数に格納する必要があります。

これには、「クエリーの実行」ブロックが役立ちます。なぜなら、「クエリーの実行」ブロックのクエリー結果は、オブジェクトの配列形式で変数に格納できるからです。

infoオブジェクトの配列形式のデータを変数で入力する必要があるブロックは、「クエリーの実行」ブロックと組み合わせて使うと便利です。

今回のケースでは、以下のクエリー文で「クエリーの実行」ブロックを実行すると、「経緯度を住所へ変換【アルファ版】」ブロックの入力に必要なデータ形式へ変換できます。

SELECT
  CONCAT(
    CAST(latitude AS STRING),
    ',',
    CAST(longitude AS STRING)
  ) AS location,
  id
FROM
  example.geocode
LIMIT
  10

上記クエリー文で、「クエリーの実行」ブロックを実行すると、下図のようなオブジェクトの配列形式のデータが、変数へ格納されます。

このように、「クエリーの実行」を使うと、BigQuery上のデータを簡単に変換・加工できます。

例えば、以下のように「クエリーの実行」ブロックと「経緯度を住所へ変換【アルファ版】」ブロックをつなげると、BigQuery上の経緯度のデータを、簡単に住所に変換できます。

結果は、下図のようなオブジェクトの配列形式で変数に格納されます。

変数に格納されるデータの形式は、オブジェクトの配列であるため、この形式で入力可能なブロックと組み合わせると便利です。例えば、「変数からテーブルへロード」ブロックは、オブジェクトの配列形式のデータを変数で入力し、BigQueryテーブルにそのデータを格納してくれます。

ということで、以下のように「経緯度を住所へ変換【アルファ版】」ブロックに「変数からテーブルへロード」ブロックを繋げると、経緯度から住所へ変換したデータをBigQueryテーブルに簡単に格納できます。

このフローを実行すると、以下のような形でBigQueryテーブルにデータが格納されます。

location id address place_id
34.9671467,135.7726585 P003 日本、〒612-0882 京都府京都市伏見区深草藪之内町68 ChIJN6vyEBUPAWAR1xQ-YkrTp7g
35.7100543,139.8107062 P007 日本、〒131-0045 東京都墨田区押上1丁目1−2 ChIJh2QCedmPGGARspj3pCce5Y8
35.6585805,139.7454329 P005 日本、〒105-0011 東京都港区芝公園4丁目2−8 ChIJCewJkL2LGGAR3Qmk0vCTGkg
35.03937,135.7292431 P004 日本、〒603-8361 京都府京都市北区金閣寺町1 ChIJvUbrwCCoAWARX2QiHCsn5A4
34.665442,135.4323382 P006 日本、〒554-0031 大阪府大阪市此花区桜島2丁目1−33 ChIJXeLVg9DgAGARqlIyMCX-BTY
35.7147651,139.7966553 P002 日本、〒111-0032 東京都台東区浅草2丁目3−1 ChIJ8T1GpMGOGGARDYGSgpooDWw
35.4435257,139.6461358 P008 日本、〒231-0023 神奈川県横浜市中区山下町164 ChIJKSlvaeNcGGARvcYKNdsOlxc
34.9948561,135.7850463 P001 日本、〒605-0862 京都府京都市東山区清水1丁目294 ChIJB_vchdMIAWARujTEUIZlr2I
35.6710116,139.705081 P009 日本、〒150-0001 東京都渋谷区神宮前1丁目16−9 ChIJdXrg0GuNGGARmpOSM-6yWJA
34.6688054,135.5011412 P010 日本、〒542-0077 大阪府大阪市中央区道頓堀1丁目10−2 ChIJg-2nhBPnAGARM7VZEKMAmaA

infolocationカラムの経緯度は、プロパティの解説どおり元の経緯度とは異なります。元の経緯度とそれに対する住所を突き合わせる場合は、元の経緯度を特定するカラムと付き合わせる必要があります。この例では、idカラムがそれにあたります。

この情報は役に立ちましたか?