0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Google Maps Datasets API(V1)] Javaで地理空間データのデータセットを作成・更新・削除する

Posted at

Maps Datasets API V1(Java)を使用して、
GoogleMapsの地理空間データのデータセットを作成・更新・削除する方法
についてご紹介します。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Maps Datasets API(V1)] Javaで地理空間データを利用する
を参照ください。

No 目次
1 データセットを作成
1 IAM権限
2 スコープ
3 実行
4 レスポンスの内容
2 データセットを更新
1 IAM権限
2 スコープ
3 実行
4 レスポンスの内容
3 データセットを削除
1 IAM権限
2 スコープ
3 実行
4 レスポンスの内容

1. データセットを作成

指定したプロジェクトにデータセットを作成します。
データセット作成と同時にデータファイルをアップロードすることはできません。

1.1. IAM権限

APIを実行するには次の権限を指定してください。

Maps Platform データセット管理者
(roles/mapsplatformdatasets.admin)

1.2. スコープ

このAPIを実行するには、以下のスコープを指定してください。

https://www.googleapis.com/auth/cloud-platform

1.3. 実行

public static void main(String[] args) throws Exception{
    try(MapsPlatformDatasetsClient client = getMapsPlatformDatasetsClient()){
        Dataset.Builder value = Dataset.newBuilder();
        value.setDisplayName("データセット表示名");
        value.addUsage(Usage.USAGE_DATA_DRIVEN_STYLING);
        
        CreateDatasetRequest.Builder builder = CreateDatasetRequest.newBuilder();
        builder.setParent(String.format("projects/%s", "プロジェクトID"));
        builder.setDataset(value.build());
        
        Dataset response = client.createDataset(builder.build());
        System.out.println(response);
    }
}

1.3.1. HTTPリクエスト

POST: https://mapsplatformdatasets.googleapis.com/v1/projects/{プロジェクトID}/datasets
が実行されます。

1.3.2. クエリパラメータ

クエリパラメータはありません。

1.3.3. リクエストボディ

CreateDatasetRequest.Builderのsetメソッドにより、リクエストボディを追加できます。
build()メソッドでCreateDatasetRequestインスタンスを取得し、
createDataset()に渡します。

メソッド 引数 説明
setParent String 【必須】projects/{プロジェクトID}
setDataset Dataset データセット

Dataset(Create)

メソッド 引数 説明
setDisplayName String 【必須】コンソールUIに表示される名前
addUsage Usage(enum) 【必須】ユースケース
Usage.USAGE_DATA_DRIVEN_STYLINGのみ指定可能
setDescription String 説明
setVersionId String データセットのバージョンID
setLocalFileSource LocalFileSource 1回のアップロードで使用するデータセットのローカルファイルソース
setGcsSource GcsSource 1回のアップロードで使用するデータセットの Google Cloud Storageファイルソース

LocalFileSource(Set)

メソッド 引数 説明
setFilename String アップロードしたファイルの名前と拡張子
setFileFormat FileFormat(enum) アップロードするファイルの形式

GcsSource(Set)

メソッド 引数 説明
setInputUri String ソースデータURI
setFileFormat FileFormat(enum) アップロードするファイルの形式

Usage

定義値 内容
USAGE_UNSPECIFIED 未使用
USAGE_DATA_DRIVEN_STYLING このデータセットはデータドリブンのスタイル設定に使用

FileFormat

定義値 内容
FILE_FORMAT_UNSPECIFIED 未設定
FILE_FORMAT_GEOJSON GeoJsonファイル
FILE_FORMAT_KML KMLファイル
FILE_FORMAT_CSV CSVファイル

1.4. レスポンスの内容

Dataset

メソッド 戻り値 説明
getName String リソース名
形式:projects/{プロジェクトID}/datasets/{データセットID}
getDisplayName String コンソールUIに表示される名前
getDescription String 説明
getVersionId String データセットのバージョンID
getUsage List<Usage(enum)> ユースケース
getStatus Status バージョンのステータス
getCreateTime Timestamp データセットの作成時刻
getUpdateTime Timestamp データセットの更新時刻
getVersionCreateTime Timestamp このバージョンのデータセットの作成時刻
getVersionDescription String このバージョンのデータセットの説明
getLocalFileSource LocalFileSource 1回のアップロードで使用するデータセットのローカルファイルソース
getGcsSource GcsSource 1回のアップロードで使用するデータセットの Google Cloud Storageファイルソース

Status

メソッド 戻り値 説明
getState State(enum) ステータスの列挙型
getErrorMessage String 失敗の理由を示すエラーメッセージ

LocalFileSource

メソッド 戻り値 説明
getFilename String アップロードしたファイルの名前と拡張子
getFileFormat FileFormat(enum) アップロードするファイルの形式

GcsSource

メソッド 戻り値 説明
getInputUri String ソースデータURI
getFileFormat FileFormat(enum) アップロードするファイルの形式

State

定義値 内容
STATE_UNSPECIFIED 未設定
STATE_IMPORTING データをデータセットにインポート
STATE_IMPORT_SUCCEEDED データセットへのデータのインポートが完了
STATE_IMPORT_FAILED データセットにデータのインポート失敗
STATE_DELETING データセットを削除中
STATE_DELETION_FAILED 削除の失敗状態
STATE_PROCESSING データを処理中
STATE_PROCESSING_FAILED 処理の失敗状態
STATE_NEEDS_REVIEW 未使用
STATE_PUBLISHING 公開状態
STATE_PUBLISHING_FAILED 公開エラーの状態
STATE_COMPLETED 完了状態

2. データセットを更新

指定したデータセットのメタデータを更新します。
更新できるのは「displayName」と「description」のみです。

2.1. IAM権限

APIを実行するには次の権限を指定してください。

Maps Platform データセット管理者
(roles/mapsplatformdatasets.admin)

2.2. スコープ

このAPIを実行するには、以下のスコープを指定してください。

https://www.googleapis.com/auth/cloud-platform

2.3. 実行

リソース名には、DatasetのgetName()で取得できるリソース名を設定します。
リソース名 = projects/{プロジェクトID}/datasets/{データセットID}

public static void main(String[] args) throws Exception{
    try(MapsPlatformDatasetsClient client = getMapsPlatformDatasetsClient()){
        Dataset.Builder value = Dataset.newBuilder();
        value.setName("リソース名");
        value.setDisplayName("new_display_name");
        
        UpdateDatasetMetadataRequest.Builder builder = UpdateDatasetMetadataRequest.newBuilder();
        builder.setDataset(value);
        
        Dataset response = client.updateDatasetMetadata(builder.build());
        System.out.println(response);
    }
}

2.3.1. HTTPリクエスト

PATCH: https://mapsplatformdatasets.googleapis.com/v1/projects/{プロジェクトID}/datasets/{データセットID}
が実行されます。

2.3.2. クエリパラメータ

クエリパラメータはありません。

1.3.3. リクエストボディ

UpdateDatasetMetadataRequest.Builderのsetメソッドにより、リクエストボディを追加できます。
build()メソッドでUpdateDatasetMetadataRequestインスタンスを取得し、
updateDatasetMetadata()に渡します。

メソッド 引数 説明
setDataset Dataset 更新するメタデータ

Dataset(Update)

メソッド 引数 説明
setName String 【必須】リソース名
形式:projects/{プロジェクトID}/datasets/{データセットID}
setDisplayName String コンソールUIに表示される名前
setDescription String 説明

2.4. レスポンスの内容

Dataset

1.4. レスポンスの内容(Dataset)と同じです。

3. データセットを削除

指定したデータセットを削除します。

3.1. IAM権限

APIを実行するには次の権限を指定してください。

Maps Platform データセット管理者
(roles/mapsplatformdatasets.admin)

3.2. スコープ

このAPIを実行するには、以下のスコープを指定してください。

https://www.googleapis.com/auth/cloud-platform

3.3. 実行

リソース名には、DatasetのgetName()で取得できるリソース名を設定します。
リソース名 = projects/{プロジェクトID}/datasets/{データセットID}

public static void main(String[] args) throws Exception{
    try(MapsPlatformDatasetsClient client = getMapsPlatformDatasetsClient()){
        client.deleteDataset("リソース名");
    }
}

3.3.1. HTTPリクエスト

DELETE: https://mapsplatformdatasets.googleapis.com/v1/projects/{プロジェクトID}/datasets/{データセットID}
が実行されます。

3.3.2. クエリパラメータ

クエリパラメータはありません。

3.3.3. リクエストボディ

リクエストボディはありません。

3.4. レスポンスの内容

レスポンスはありません。
削除に失敗すると例外が発生します。



おしまい。。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?