ブロックリファレンス

BLOCKS Reference

Google Maps

標高を取得【アルファ版】

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

概要

このブロックは、Google Maps PlatformのElevation APIを使って、1か所または複数場所の標高を取得します。

標高を取得ブロックの概念図

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

標高は、海底の深さ(負の値)を含め、地表のすべての場所で利用可能です。指定された場所の正確な標高測定値をGoogle Maps Elevationサービスで保持していない場合、指定された場所に最も近い4地点の正確な標高測定値からの平均値で補間した値を返します。標高は、局所平均海面(LMSL)を基準として表されます。

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

このブロックは、Google Maps PlatformのElevation APIを利用しているため、その利用量に応じた料金が別途発生します(従量課金制)。料金について詳しくは、Elevation API | Google Developersを参照願います。

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

標高を取得したい経緯度が格納された変数を指定します。

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

{
  "location":経緯度
}
キー
location 文字列

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

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

オブジェクトをオブジェクト生成ブロックで指定する例

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

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

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

オブジェクトの配列をオブジェクト生成ブロックで指定する例

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

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

結果を格納する変数

取得した標高が格納される変数を指定します。

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

キー 説明
location

経緯度が格納された変数」プロパティで指定されたlocation(経緯度)の値です。

elevation

locationの標高です(単位:メートル)。

指定されたlocationの正確な標高測定値をGoogle Maps Elevationサービスで保持していない場合、指定されたlocationに最も近い4地点の正確な標高測定値からの平均値で補間した値を返します。

標高は、局所平均海面(LMSL)を基準として表されます。

resolution

elevationが正確な標高測定値ではない場合(補完された標高のとき)のみ出力され、指定されたlocationに最も近い4地点の正確な標高測定値との最大距離を表します(単位:メートル)。

経緯度が複数指定された場合は、指定された順序で各標高情報が格納されます。

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

[
  {
    "location": "35.710063,139.8107",
    "elevation": 2.678915500640869,
    "resolution": 9.543951988220215
  },
  {
    "location": "48.85837009999999,2.2944813",
    "elevation": 34.49020767211914,
    "resolution": 9.543951988220215
  }
]
ブロックメモ このブロックに関するメモが記載できます。このブロックの処理に影響しません。

使用例

ここでは、「標高を取得【アルファ版】」ブロックを使って、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
FROM
  example.geocode
LIMIT
  10

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

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

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

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

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

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

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

location elevation resolution
34.96714,135.772672 40.93607330322266 9.543951988220215
35.710063,139.8107 2.678915500640869 9.543951988220215
35.658581,139.745433 23.39901733398438 9.543951988220215
35.03937,135.729243 99.88933563232422 9.543951988220215
34.665442,135.432338 5.443295955657959 9.543951988220215
35.714765,139.796655 4.846195697784424 9.543951988220215
34.994856,135.785046 111.2823867797852 9.543951988220215
35.671039,139.705177 28.6503791809082 9.543951988220215
34.668723,135.501297 7.805279731750488 9.543951988220215
35.443446,139.646091 9.093396186828613 19.08790397644043

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