データセットを作成・管理する

データセットとは、地理空間データをローカル ファイルまたは Google Cloud Storage から Google Maps Platform にアップロードして扱うための仕組みです。作成したデータセットは、Cloud コンソールで 1 つまたは複数の地図スタイルと関連付け可能です。データセットを地図スタイルと関連付けておけば、データドリブン スタイル設定の API を使って、地図アプリケーションを動的にスタイル設定することができます。

REST API を使って地理空間データをデータセットにアップロードすることも可能です。詳しくは、Maps Datasets API をご覧ください。

ロールの設定

Google Cloud プロジェクトでデータセットの作成と管理を行うためには、該当プロジェクトの IAM ロール「オーナー」または「編集者」を持っている必要があります。

この他に、データセットの管理に使用するユーザー アカウントまたはサービス アカウントに、次の IAM ロールを割り当てる方法もあります。

  • Maps Platform Datasets Admin ロールを付与されたユーザー アカウントまたはサービス アカウントは、プロジェクト内のデータセットに対する読み取り / 書き込みアクセスが可能になります。データセットに対するすべての操作を許可するロールです。
  • Maps Platform Datasets Viewer ロールを付与すると、プロジェクト内のデータセットに対する読み取り専用アクセスが可能になります。データセットに対する list、get、download 操作を許可するロールです。

詳しくは、Google Cloud コンソールを使用して IAM ロールを付与するをご覧ください。

データセットのデータソース

データセットを作成したら、Google Cloud Storage またはローカル ファイルから、データセットにデータをアップロードします。
  • Cloud Storage からデータをアップロードする際は、目的のデータを含む Cloud Storage 内リソースのファイルパスを指定します。パスは gs://GCS_BUCKET/FILE という形式です。

    リクエストを行うユーザーは、storage.objects.get 権限を持つロール(Storage オブジェクト閲覧者など)を付与されている必要があります。Cloud Storage へのアクセス権の管理について詳しくは、アクセス制御の概要をご覧ください。

  • ローカル ファイルからデータをアップロードする際は、アップロードするデータが格納されているファイル(GeoJSON、KML、または CSV 形式)のパスを指定します。

前提条件

データセットの作成:

  • 表示名を同じ Google Cloud プロジェクト内で重複させることはできません。
  • 表示名は 64 バイト以内にする必要があります(文字は UTF-8 で表現されるため、言語によっては 1 文字で 2 バイト以上使用することがあります)。
  • 説明(Description)は 1,000 バイト未満にする必要があります。

データのアップロード:

  • サポートされるファイル形式は CSV、GeoJSON、KML です。
  • ファイルサイズは 350 MB が上限です。
  • 属性列の名前の先頭を「?_」にすることはできません。
  • 3 次元のジオメトリ(WKT 形式の「Z」接尾辞、GeoJSON 形式の標高座標など)はサポートされていません。

GeoJSON での要件

Maps JavaScript API は、現行の GeoJSON 仕様をサポートしています。 また、次のいずれかのオブジェクト タイプを含む GeoJSON ファイルをサポートしています。

  • ジオメトリ(geometry)オブジェクト: ジオメトリ オブジェクトは、ポイント(点)、ライン(線)、ポリゴン(多角形)の結合体として記述される空間形状です。ポリゴンには穴を開けることも可能です。
  • 対象物(feature)オブジェクト: ジオメトリ情報に、名前と値のペアから成るプロパティ(複数可)を付加したものです。プロパティには、各アプリケーションで固有の意味を持たせることができます。
  • 対象物(feature)コレクション: 対象物オブジェクトの集合です。

WGS84 以外の座標参照系(CRS)のデータを持つ GeoJSON ファイルは、Maps JavaScript API のサポート外です。

GeoJSON について詳しくは、RFC 7946 仕様をご覧ください。

KML での要件

Maps JavaScript API には次の要件があります。

  • URL はすべて、ファイル自体を基準としたローカル(相対)指定で記述する必要があります。
  • サポートされるジオメトリ情報はポイント、ライン、ポリゴンです。
  • データ属性はすべて文字列と見なされます。
KML の以下の機能はサポート外です。
  • ファイル外で定義された <styleUrl> やアイコン
  • ネットワーク リンク(<NetworkLink> など)
  • グラウンド オーバーレイ(<GroundOverlay> など)
  • 3D ジオメトリや標高関連のタグ(<altitudeMode> など)
  • カメラ指定(<LookAt> など)
  • KML ファイル内で定義されたスタイル

CSV での要件

CSV ファイルの場合、以下の列名がサポートされます。記載順は優先順位を表しています。

  • latitudelongitude
  • latlong
  • xy
  • wktWell-Known Text
  • addresscitystatezip
  • address
  • 住所情報をすべて含む単一の列(1600 Amphitheatre Parkway Mountain View, CA 94043 など)

たとえばファイルに「x」「y」「wkt」の 3 列が含まれるとします。 上のサポート対象列名リストの記載順のとおり、xy のほうが優先度が高いため、「wkt」列に値が入っていても無視され、「x」および「y」列の値が使用されます。

その他の留意事項:

  • 指定されている名前の列は、それぞれ単独で存在する必要があります。つまり、たとえば「xy」という名前の列を設けて x 座標と y 座標の両方のデータを持たせることはできません。x 座標と y 座標はそれぞれ独立した列にしてください。
  • 列名の大文字と小文字は区別されません。
  • 指定列の記載順は自由です。たとえば「lat」列と「long」列を設ける場合、どのような順序であれ CSV ファイル内に含まれていれば問題ありません。

データ アップロード時のエラーへの対処

データセットにデータをアップロードする際、エラーが発生することがあります。このセクションでは、一般的なエラーについて解説します。

GeoJSON でのエラー

GeoJSON での一般的なエラーの例:

  • type フィールドが存在しないか、type の値が文字列になっていません。アップロードする GeoJSON データファイルでは、各 feature オブジェクトおよび geometry フィールドが、type という名前の文字列フィールドを持っている必要があります。

KML でのエラー

KML での一般的なエラーの例:

  • データファイルに、サポート外の KML 機能(前述)が含まれていると、データのインポートが失敗することがあります。

CSV でのエラー

CSV での一般的なエラーの例:

  • ジオメトリ列に値が入っていない行があります。CSV ファイルの全行で、ジオメトリ列に空でない値が入っている必要があります。ジオメトリ列とは次のようなものを指します。
    • latitudelongitude
    • latlong
    • xy
    • wkt
    • addresscitystatezip
    • address
    • 住所情報をすべて含む単一の列(1600 Amphitheatre Parkway Mountain View, CA 94043 など)
  • ジオメトリ列として「x」列および「y」列を使用する場合、値は経度と緯度で指定する必要がある点に注意しましょう。一般公開されているデータセットの中には、同じ「x」「y」という名前の列に、別の座標系の値が入っているものもあります。値の単位が違っていると、データセットのインポート自体が成功していても、レンダリング後のデータではデータセットの各ポイントが想定外の位置に表示される可能性があります。

データセットの作成

データセットを作成するには:

  1. Google Cloud コンソールで、[データセット] ページに移動します。
  2. [Create Dataset](データセットを作成)をクリックします。
  3. データセットの名前を入力します。データセットの名前は一意にする必要があります。
  4. 必要に応じて、データセットの [Description](説明)を入力します。
  5. [続行] をクリックします。[Import data](データのインポート)ページが表示されます。
  6. データセットに入れるデータのアップロード元を [Upload source] プルダウンから選択します。[Desktop](使用しているシステム上のローカル ファイル)または [Google Cloud Storage bucket] を選択できます。
    • [Desktop] の場合、[参照] をクリックして、ファイル選択画面でファイルを指定します。
    • [Google Cloud Storage bucket] の場合、[参照] をクリックして、目的のデータが含まれているバケットとファイルを指定します。
  7. [File format] プルダウンでファイル形式を選択します。
  8. [続行] をクリックして、設定確認の画面へ進みます。
  9. [作成] をクリックします。[Datasets](データセット)ページに、作成したデータセットが表示されます。ステータス欄は [Processing](処理中)になっているはずです。
  10. 作成したデータセットのステータスが [Completed](完了)になるまで待ちます。

データセットの閲覧と編集

データセットの作成が無事に完了し、ステータスが [Completed] になると、データセットの詳細を確認できるようになります。

データセットを閲覧するには:

  1. Google Cloud コンソールで、[データセット] ページに移動します。
  2. 目的のデータセットの名前をクリックします。[Dataset details](データセットの詳細)ページが表示されます。
    1. [Details](詳細)タブをクリックすると、そのデータセットの情報を確認できます。データセットの名前や説明の編集も、このタブで行います。
    2. [Preview](プレビュー)タブをクリックすると、データセットが地図上に表示されます。
    3. [Table Data](テーブルデータ)タブをクリックすると、データセットに関連付けられたデータのサブセットが表示されます。
    4. [Download](ダウンロード)ボタンをクリックすると、データをローカル ファイルにダウンロードできます。
    5. [Delete](削除)ボタンをクリックすると、データセットを削除できます。