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. レスポンスの内容
レスポンスはありません。
削除に失敗すると例外が発生します。
おしまい。。