Mapbox Tiling Service
Mapbox タイリングサービス(MTS) はベクタータイルセットを作成するためのツールです。MTSを使用すると、設定オプションのセット(タイルセットレシピ)を使用してジオスペーシャルデータをベクタータイルに変換できます。生成されたタイルはアプリケーションで使用するためにMapboxサーバーにホスティングされます。
このページでは、MTSと相互作用するためのAPIドキュメントを見つけることができます。
MTSの一般的な概要、使用例、開発者ガイド、および例については、Mapbox Tiling Service ドキュメントを参照してください。
ここで説明するAPIエンドポイントを使用してMTSにアクセスする以外に、Tilesets CLI と呼ばれるコマンドラインPythonツールを使用してMTS用のデータを準備およびアップロードすることもできます。Tilesets CLIの詳細については、Tilesets CLI ドキュメントおよびMTSとTilesets CLIのチュートリアルを参照してください。
タイルセットソースの作成
タイルセットソースを作成します。タイルセットソースは行区切りGeoJSONとしてフォーマットされた生の地理データで、Mapbox.comにアップロードされます。(MTSで行区切りGeoJSONがどのように使用されるかについては、タイルセットソースのガイドを参照してください。)
タイルセットソースは、新しいベクタータイルセットを作成するためにMTSを使用するために必要です。それらはタイルセットソースID経由で参照されます。同じタイルセットソースは複数のタイルセットで使用できます。
タイルセットソースは最大10のソースファイルで構成できます。各個別ソースファイルは、20 GBを超えてはなりません。すべてのファイルを合わせたタイルセットソースの最大合計サイズは50 GBです。すべてのファイルの合計サイズがこの制限を超える場合、MTSはerror
プロパティを含む応答を返します。複数のソースファイルをタイルセットソースに追加するためには、このエンドポイントに複数回投稿します。これにより、アップロードされたファイルがタイルセットソースに追加されます。新しいソースファイルでタイルセットソースを置き換えるには、タイルセットソースの置換エンドポイントを使用します。
タイルセットソースが不要になった場合は、関連するタイルセットの処理が完了した後に手動で削除する必要があります。関連するタイルセットは正常に動作し続けます。
必須パラメータ | 型 | 説明 |
---|---|---|
username | string | タイルセットソースを作成するアカウントのMapboxユーザー名。 |
id | string | 作成するタイルセットソースのID。最大32文字。使用できる特別な文字は - と _ のみです。 |
リクエストボディは行区切りGeoJSONでなければなりません。GeoJSONその他のデータ形式を行区切りGeoJSONに変換する方法については、タイルセットソースのトラブルシューティングガイドを参照してください。
例:タイルセットソースの作成
$curl -X POST "https://api.mapbox.com/tilesets/v1/sources/YOUR_MAPBOX_USERNAME/hello-world?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN" \
-F file=@/Users/username/data/mts/countries.geojson.ld \
--header "Content-Type: multipart/form-data"
応答:タイルセットソースの作成
リクエストが成功した場合、応答には次のプロパティが含まれます:
プロパティ | 型 | 説明 |
---|---|---|
file_size | integer | タイルセットソースに追加した個々のファイルのバイト単位のサイズ。 |
files | integer | タイルセットソース内のファイルの総数。 |
id | string | タイルセットソースの一意の識別子。 |
source_size | integer | タイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。 |
応答例:タイルセットソースの作成
{
"file_size": 10592,
"files": 1,
"id": "mapbox://tileset-source/username/hello-world",
"source_size": 10592
}
既存のタイルセットソースに追加
新しいソースデータをタイルセットソースに追加するか、既に存在しない場合はソースを作成します。タイルセットソースは行区切りGeoJSONとしてフォーマットされた生の地理データで、Mapbox.comにアップロードされます。(MTSで行区切りGeoJSONがどのように使用されるかについては、タイルセットソースのガイドを参照してください。)
タイルセットソースは、新しいベクタータイルセットを作成するためにMTSを使用するために必要です。それらはタイルセットソースID経由で参照されます。同じタイルセットソースは複数のタイルセットで使用できます。
タイルセットソースは最大10のソースファイルで構成できます。各個別ソースファイルは、20 GBを超えてはなりません。すべてのファイルを合わせたタイルセットソースの最大合計サイズは50 GBです。すべてのファイルの合計サイズがこの制限を超える場合、MTSはerror
プロパティを含む応答を返します。複数のソースファイルをタイルセットソースに追加するためには、このエンドポイントに複数回投稿します。これにより、アップロードされたファイルがタイルセットソースに追加されます。新しいソースファイルでタイルセットソースを置き換えるには、タイルセットソースの置換エンドポイントを使用します。
タイルセットソースが不要になった場合は、関連するタイルセットの処理が完了した後に手動で削除する必要があります。関連するタイルセットは正常に動作し続けます。
必須パラメータ | 型 | 説明 |
---|---|---|
username | string | タイルセットソースを作成するアカウントのMapboxユーザー名。 |
id | string | 新しいソースデータを追加するためのタイルセットソースのID。 |
リクエストボディは行区切りGeoJSONでなければなりません。GeoJSONその他のデータ形式を行区切りGeoJSONに変換する方法については、タイルセットソースのトラブルシューティングガイドを参照してください。
例:既存のタイルセットソースに追加
$curl -X POST "https://api.mapbox.com/tilesets/v1/sources/YOUR_MAPBOX_USERNAME/hello-world?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN" \
-F file=@/Users/username/data/mts/countries.geojson.ld \
--header "Content-Type: multipart/form-data"
応答:既存のタイルセットソースに追加
リクエストが成功した場合、応答には次のプロパティが含まれます:
プロパティ | 型 | 説明 |
---|---|---|
file_size | integer | タイルセットソースに追加した個々のファイルのバイト単位のサイズ。 |
files | integer | タイルセットソース内のファイルの総数。 |
id | string | タイルセットソースの一意の識別子。 |
source_size | integer | タイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。 |
応答例:既存のタイルセットソースに追加
{
"file_size": 10592,
"files": 2,
"id": "mapbox://tileset-source/username/hello-world",
"source_size": 20884
}
タイルセットソースの置換
新しいソースデータを使用してタイルセットソースを置換するか、既に存在しない場合はソースを作成します。アップロードされたファイルの総サイズが20 GBを超える場合、MTSはerror
プロパティを含む応答を返します。
タイルセットソースが不要になった場合は、関連するタイルセットの処理が完了した後に手動で削除する必要があります。関連するタイルセットは正常に動作し続けます。
必須パラメータ | 型 | 説明 |
---|---|---|
username | string | タイルセットソースを作成するアカウントのMapboxユーザー名。 |
id | string | 置換するタイルセットソースのID。 |
リクエストボディは行区切りGeoJSONでなければなりません。GeoJSONその他のデータ形式を行区切りGeoJSONに変換する方法については、タイルセットソースのトラブルシューティングガイドを参照してください。
例:タイルセットソースの置換
$curl -X PUT "https://api.mapbox.com/tilesets/v1/sources/YOUR_MAPBOX_USERNAME/hello-world?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN" \
-F file=@/Users/username/data/mts/countries.geojson.ld \
--header "Content-Type: multipart/form-data"
応答:タイルセットソースの置換
リクエストが成功した場合、応答には次のプロパティが含まれます:
プロパティ | 型 | 説明 |
---|---|---|
file_size | integer | タイルセットソースに追加した個々のファイルのバイト単位のサイズ。 |
files | integer | タイルセットソース内のファイルの総数。 |
id | string | タイルセットソースの一意の識別子。 |
source_size | integer | タイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。 |
応答例:タイルセットソースの置換
{
"file_size": 10592,
"files": 1,
"id": "mapbox://tileset-source/username/hello-world",
"source_size": 10592
}
タイルセットソース情報の取得
特定のタイルセットソースの情報を取得します。これには、タイルセットソース内のファイルの数と合計サイズが含まれます。
必須パラメータ | 型 | 説明 |
---|---|---|
username | string | タイルセットソース情報を取得するアカウントのMapboxユーザー名。 |
id | string | 取得するタイルセットソースのID。 |
例:タイルセットソース情報の取得
$curl "https://api.mapbox.com/tilesets/v1/sources/YOUR_MAPBOX_USERNAME/hello-world?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答:タイルセットソース情報の取得
リクエストが成功した場合、応答には次のプロパティが含まれます:
プロパティ | 型 | 説明 |
---|---|---|
files | integer | タイルセットソース内のファイルの総数。 |
id | string | タイルセットソースの一意の識別子。 |
size | integer | タイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。 |
size_nice | string | ヒューマンリーダブル形式でのタイルセットソース内のすべてのファイルの合計サイズ。 |
応答例:タイルセットソース情報の取得
{
"files": 2,
"id": "mapbox://tileset-source/username/hello-world",
"size": 20884,
"size_nice": "20.39KB"
}
タイルセットソースの一覧
アカウントに属するすべてのタイルセットソースの一覧を表示します。このエンドポイントはページネーションをサポートしています。
必須パラメータ | 型 | 説明 |
---|---|---|
username | string | タイルセットソース情報を取得するアカウントのMapboxユーザー名。 |
以下のオプションパラメータを使用して、このエンドポイントの結果をさらに絞り込むことができます:
オプションパラメータ | 型 | 説明 |
---|---|---|
sortby | string | 作成または変更されたタイムスタンプでリストを並べ替えます。 |
limit | integer | 返すタイルセットソースの最大数。1 から500 まで指定できます。デフォルトは100 です。 |
start | string | リストの開始地点として使用するタイルセット。レスポンスのLink ヘッダーにキーがあります。詳細はページネーションセクションを参照してください。 |
例:タイルセットソースの一覧
$curl "https://api.mapbox.com/tilesets/v1/sources/YOUR_MAPBOX_USERNAME?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答:タイルセットソースの一覧
リクエストが成功した場合、応答には指定したアカウントに属するタイルセットソースのリストが含まれます。各リストの個々のソースには次のプロパティが含まれます:
プロパティ | 型 | 説明 |
---|---|---|
files | integer | タイルセットソース内のファイルの総数。 |
id | string | タイルセットソースの一意の識別子。 |
size | integer | タイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。 |
アカウントに2000個以上のタイルセットソースがある場合、応答リストは2000で制限されます。
応答例:タイルセットソースの一覧
[
{
"files": 2,
"id": "mapbox://tileset-source/username/hello-world",
"size": 20884
},
{
"files": 3,
"id": "mapbox://tileset-source/username/hola-mundo",
"size": 650332
}
]
タイルセットソースの削除
タイルセットソースとそのすべてのファイルを完全に削除します。この操作は元に戻せません。
タイルセットソースを削除すると、そのタイルセットソースを使用する進行中のジョブは失敗します。
必須パラメータ | 型 | 説明 |
---|---|---|
username | string | タイルセットソースを削除するアカウントのMapboxユーザー名。 |
id | string | 削除されるタイルセットソースのID。 |
例:タイルセットソースの削除
$curl -X DELETE "https://api.mapbox.com/tilesets/v1/sources/YOUR_MAPBOX_USERNAME/hello-world?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答:タイルセットソースの削除
タイルセットソースが正常に削除された場合、応答はHTTP 204 No Content
を返します。
タイルセットの作成
新しいタイルセットを作成します。
必須パラメータ | 型 | 説明 |
---|---|---|
tileset_id | string | 作成されるタイルセットのID。これは、ユーザー名の後にピリオドとタイルセットの一意の名前で構成されます(username.id )。制限は32文字。この文字数制限にはユーザー名は含まれません。使用できる特別な文字は - と _ のみです。 |
リクエストボディはJSONオブジェクトであり、次のプロパティを含む必要があります:
必須リクエストボディプロパティ | 型 | 説明 |
---|---|---|
recipe | object | アップロードしたGeoJSONデータをタイルに変換する方法を記述したレシピ。レシピの作成とフォーマット方法については、レシピリファレンスおよびレシピ例を参照してください。 |
name | string | タイルセットの名前。64文字以内。 |
さらに、リクエストボディは次のオプションプロパティを含めることができます:
オプショナルリクエストボディプロパティ | 型 | 説明 |
---|---|---|
private | boolean | タイルセットがあなたのMapboxアカウントからのアクセストークンを使用してのみ使用する必要があるかどうかを示します。デフォルトはtrue です。 |
description | string | タイルセットの説明。500文字以内。 |
attribution | array of objects | それぞれtext およびlink キーを持つアトリビューションオブジェクトの配列。アトリビューションオブジェクトは最大で3つ、すべてのtext 値の合計が最大80文字、すべてのlink 値の合計が最大1000文字に制限されます。 |
attribution.text | string | タイルセットのアトリビューションテキスト。 |
attribution.link | string | タイルセットのアトリビューションに使用されるURL。 |
例:タイルセットの作成
$curl -X POST "https://api.mapbox.com/tilesets/v1/{tileset_id}?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN" \
-d @tileset-information-and-recipe.json \
--header "Content-Type:application/json"
リクエストボディの例:タイルセットの作成
{
"recipe": {
"version": 1,
"layers": {
"hello_world": {
"source": "mapbox://tileset-source/username/hello-world",
"minzoom": 0,
"maxzoom": 5
}
}
},
"name": "Hello World",
"description": "Spaceship Earth with all of the people, places, and things.",
"attribution": [{ "text": "© Hello Legal World", "link": "" }]
}
応答:タイルセットの作成
{
"message": "空のタイルセット <tileset> を正常に作成しました。タイルセットのプロセスを開始するためにタイルセットを発行してください。"
}
指定されたIDのタイルセットが既に存在する場合、MTSはHTTP 400
ステータスコードを返します。
タイルセットの更新
既存のタイルセットのソース、レシピ、メタデータ、およびタイルをMTSを使用して更新できます:
- タイルセットのソースを更新 するには、タイルセットのレシピを更新するエンドポイントを使用します。更新されたタイルセットレシピで新しいタイルセットソースを参照することができます。
- タイルセットのレシピを更新 するには、タイルセットのレシピを更新するエンドポイントを使用します。更新されたレシピでは、
minzoom
、maxzoom
などの新しい設定を指定できます。(MTSレシピ仕様書のルールに従う。) - タイルセットのメタデータを更新 するには、タイルセット情報の更新MTSエンドポイントを使用します。タイルセットの名前、説明、非公開または公開の状態、およびアトリビューション情報を更新できます。
- タイルセットのタイルを更新 するには、タイルセットの公開MTSエンドポイントを使用します。この手順は更新方法に詳述されています。データソースの更新やレシピの変更が必要な場合、このプロセスは同じタイルセットに対して無制限に繰り返すことができます。
タイルセットの公開
タイルセットを作成したら、そのデータをベクタタイルに「公開」するよう要求できます。このアクションは、レシピで定義された方法に従ってデータを取得してベクタタイルに処理するという非同期プロセス(ジョブとして知られている)を開始します。
このエンドポイントは、既存のタイルセットを更新するためにも使用されます。タイルキャッシングのため、既存のタイルセットを更新するとき、新しいタイルはキャッシュされたバージョンが期限切れになるまで表示されません。
特定のタイルセットには、一度にアクティブな処理公開ジョブがひとつしか存在できません。これにより、ステージングされたデータが次のデータを処理する前に処理されることが確保されます。タイルセットにアクティブな公開リクエストが処理されている場合、後続の公開リクエストは受信した順にキューに入れられます。アカウントごとにキューに入れることができるジョブは最大で5つです。
すべてのジョブはグローバルなMapboxキューに入力されます。キューが大きいほど、タイルセットの処理に時間がかかります。キューのサイズを確認する方法については、グローバルキューの表示セクションを参照してください。
単一のベクタタイルのサイズは500 KBに制限されています。 タイルサイズによってフィーチャがドロップされる場合、これはジョブオブジェクトのwarnings
フィールドに記載されます。
必須パラメータ | 型 | 説明 |
---|---|---|
tileset_id | string | タイルセットを公開するために使用するID。これは、ユーザー名の後にピリオドとタイルセットの一意の名前で構成されます(username.id )。 |
処理時間
タイルセットを公開する際の処理時間には、多くの要因が影響します。これには次のものが含まれます:
- 処理されるデータが表す地理的エリアのサイズ。たとえば、都市ブロックのデータは地球全体のデータよりもはるかに速く処理されます。
- 各レイヤーに適用される最大ズームレベル。ズームレベルが高いほど、作成するタイル数が増えます。各追加ズームレベルは前のズームレベルの4倍のタイルを生成します。たとえば、
1
の最大ズームレベルは4つのタイルを生成し、2
の最大ズームレベルは16タイルを生成します。 - タイルセットレシピの複雑さ。特にフィルター、属性、および結合設定は処理時間を追加する可能性があります。
- グローバルキューのサイズ。これをグローバルキューの表示エンドポイントで確認できます。MTSのグローバルキューには処理を待っているタイルセットジョブの数が示されます。
例:タイルセットの公開リクエスト
$curl -X POST "https://api.mapbox.com/tilesets/v1/{tileset_id}/publish?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答:タイルセットの公開リクエスト
{
"message": "<tileset> の処理中",
"jobId": "<job_id>"
}
レシピが存在しないタイルセットソースを参照する場合、MTSはHTTP 400
ステータスコードを返します。
タイルセット情報の更新
タイルセット情報(名前、説明、プライバシー設定など)を更新します。これはタイルセットのレシピを更新するエンドポイントではありません。
オプショナルリクエストボディプロパティ | 型 | 説明 |
---|---|---|
name | string | タイルセットの名前。64文字以内。 |
description | string | タイルセットの説明。500文字以内。 |
private | boolean | タイルセットがあなたのMapboxアカウントからのアクセストークンを使用してのみ使用する必要があるかどうかを示します。 |
attribution | array of objects | それぞれtext およびlink キーを持つアトリビューションオブジェクトの配列。アトリビューションオブジェクトは最大で3つ、すべてのtext 値の合計が最大80文字、すべてのlink 値の合計が最大1000文字に制限されます。詳細はアトリビューションの表示部分を参照してください。 |
attribution.text | string | タイルセットのアトリビューションテキスト。 |
attribution.link | string | タイルセットのアトリビューションに使用されるURL。 |
複数のタイルセットでのアトリビューション表示
カスタムマップアトリビューション文字列は、複合リクエストの逆順で合成され、スペ^はして表示されます。例えば、次のリクエスト mapbox.mapbox-streets-v8,example.custom-tileset
(最初のタイルセットがMapboxタイルセット、2つ目のタイルセットがカスタムタイルセット)の場合、アトリビューション表示は以下のようになります:
© Example Maps 2020 © Mapbox © OpenStreetMap
例:タイルセット情報の更新
$curl -X PATCH "https://api.mapbox.com/tilesets/v1/{tileset_id}?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN" \
--data '{"name":"New name same me","attribution":[{"text":"New data license","link":"https://example.com"}]}' \
--header "Content-Type:application/json"
応答:タイルセット情報の更新
HTTP 204 No Content
単一のタイルセットジョブに関する情報を取得する
一意のジョブIDに基づいて、タイルセットに関連する単一のジョブに関する情報を取得します。
必須パラメータ | 型 | 説明 |
---|---|---|
tileset_id | string | 情報を取得するタイルセットのID。これは、ユーザー名の後にピリオドとタイルセットの一意の名前で構成されます(username.id )。 |
job_id | string | 発行ジョブの一意の識別子。 この識別子は、タイルセットの公開 応答の jobId フィールドで返されます。 |
例:単一のタイルセットジョブに関する情報を取得する
$curl "https://api.mapbox.com/tilesets/v1/{tileset_id}/jobs/{job_id}?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答:単一のタイルセットジョブに関する情報を取得する
リクエストが成功した場合、応答は次のプロパティを含むJSONオブジェクトを返します:
プロパティ | 型 | 説明 |
---|---|---|
id | string | 発行ジョブの一意の識別子。 |
stage | string | ジョブのステージ。可能な値は queued , processing , success , failed , および superseded です。 superseded ステージは、キュー内のジョブが置き換えられた場合に使用され、特に同じタイルセットのための新しいジョブが実行を待たずに処理されることができます。 |
created | integer | ジョブが作成されたタイムスタンプ。 |
created_nice | string | ヒューマンリーダブル形式のジョブの作成タイムスタンプ。 |
published | integer | ジョブが公開されたタイムスタンプ。 |
tilesetId | string | 指定されたタイルセットの一意の識別子。 |
errors | array | タイルセットに関連するエラー。関連するエラーがない場合、これは空の配列になります。詳細情報については、MTSエラー ドキュメント を参照してください。 |
warnings | array | タイルセットに関連する警告。関連する警告がない場合、これは空の配列になります。警告についての詳細は、MTS警告 ドキュメント を参照してください。 |
recipe | object | タイリングジョブの公開に使用されたMTS レシピ 。 |
tileset_precisions | object | ジョブのレシピ内の1つ以上のレイヤーで使用された精度層(10m, 1m, 30cm, 1cm)の処理済みエリア(平方キロメートル)。 |
cu | integer | ジョブで使用された処理計算ユニット(CUs)の数。 |
filesize | integer | ジョブの公開に使用されたタイルセットソースのファイルサイズ(バイト単位)。 |
layer_stats | object | 指定されたレイヤーに関する統計情報を含むオブジェクト。 |
layer_stats.total_tiles | integer | タイルセット内にこのレイヤーを含むタイルの総数。 |
layer_stats.point_count | integer | レイヤーの点フィーチャの総数。 |
layer_stats.linestring_count | integer | レイヤーのラインストリングフィーチャの総数。 |
layer_stats.polygon_count | integer | レイヤーのポリゴンフィーチャの総数。 |
layer_stats.capped | integer | レイヤーのサイズのために、フィーチャが取り除かれたタイルセットの数。 |
layer_stats.maxzoom | integer | レイヤーの最大ズームレベル。 |
layer_stats.minzoom | integer | レイヤーの最小ズームレベル。 |
layer_stats.checksum | string | フィーチャのジオメトリと属性のチェックサム。IDは含まれません。 |
layer_stats.zooms | object | 各ズームレベルのレイヤーの統計情報を含むオブジェクト。 |
layer_stats.zooms.ymin | integer | ズームレベルでの y タイル座標の最小値。 |
layer_stats.zooms.ymax | integer | ズームレベルでの y タイル座標の最大値。 |
layer_stats.zooms.xmin | integer | ズームレベルでの x タイル座標の最小値。 |
layer_stats.zooms.xmax | integer | ズームレベルでの x タイル座標の最大値。 |
layer_stats.zooms.tiles | integer | ズームレベルごとのレイヤーのタイルの総数。 |
layer_stats.zooms.capped | integer | レイヤーのサイズのためにフィーチャが取り除かれたズームレベルのタイル数。 |
layer_stats.zooms.capped_list | array of objects | 表示画面外のズームレベルを持つリスト。制限されたレイヤーサイズを持つタイルのリストか "システム制限を超える"。 |
layer_stats.zooms.sum_area | number | ズームレベルでのレイヤーのタイルがカバーする総面積。 |
layer_stats.zooms.sum_size | integer | ズームレベルでのレイヤーのすべてのタイルの合計サイズ(バイト単位、圧縮されていない)。 |
layer_stats.zooms.avg_size | number | ズームレベルでのレイヤーのタイルの平均サイズ(圧縮されていない)。 |
layer_stats.zooms.max_size | integer | ズームレベルでのレイヤーのタイルの最大サイズ。 |
layer_stats.zooms.size_histogram | array | サイズヒストグラム。タイルのサイズの分布を示すタイルカウントの配列。各範囲は25キロバイトごとに表されます。 |
応答例:単一のタイルセットジョブに関する情報を取得する
{
"id": "unique_hash",
"stage": "success",
"created": 1560981902377,
"created_nice": "Wed Jun 19 2019 22:05:02 GMT+0000 (UTC)",
"published": 1560982158721,
"tilesetId": "user.id",
"errors": [],
"warnings": [],
"tileset_precisions": { "1m": 658731.7540137176 },
"cu": 3.3,
"filesize": 1068607,
"layer_stats": {
"sample_pois": {
"total_tiles": 71,
"linestring_count": 0,
"capped": 15,
"maxzoom": 12,
"zooms": {
"0": {
"ymin": 0,
"ymax": 0,
"xmin": 0,
"xmax": 0,
"tiles": 1,
"capped": 1,
"capped_list": [{ "layer_size": 1337, "tile": "0/0/0" }],
"sum_size": 512036,
"sum_area": 508164394.24620897,
"avg_size": 512036,
"max_size": 512036,
"size_histogram": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
}
}
}
},
"recipe": {
"version": 1,
"layers": {
"sample_pois": {
"minzoom": 1,
"maxzoom": 12,
"source": "mapbox://tileset-source/user/source"
}
}
}
}
タイルセットに関するすべてのジョブ情報をリスト
タイルセットに関連するすべてのジョブ情報をリストします。特定の処理ステージで行われているジョブ(processing
, queued
, success
, failed
, または superseded
)を取得するためにこのエンドポイントを使用できます。paginationをサポートしています。
必須パラメータ | 型 | 説明 |
---|---|---|
tileset_id | string | 情報を取得するタイルセットのID。これは、ユーザー名の後にピリオドとタイルセットの一意の名前で構成されます(username.id )。 |
以下のオプションパラメータを使用して、このエンドポイントの結果をさらに絞り込むことができます:
オプションパラメータ | 型 | 説明 |
---|---|---|
stage | string | 特定の処理ステージを持つジョブをクエリします:processing , queued , success , failed , または superseded 。 |
limit | integer | 返すタイルセットの最大数。1 から500 まで。デフォルトは100 。 |
start | string | 一覧を開始するタイルセットの後。レスポンスのLink ヘッダーにキーがあります。詳細はページネーション セクションを参照してください。 |
応答: タイルセットのすべてのジョブに関する情報を表示する
リクエストが成功すると、タイルセットのジョブを説明する1つ以上のJSONオブジェクトが返されます。各オブジェクトには以下のプロパティが含まれます。
プロパティ | タイプ | 説明 |
---|---|---|
id | string | パブリッシュジョブの一意の識別子。 |
stage | string | ジョブのステータス。可能な値はqueued 、processing 、success 、failed 、またはsuperseded です。 |
created | integer | ジョブが作成された時点を示すタイムスタンプ。 |
created_nice | string | ジョブが作成された時点を示す人間が読める形式のタイムスタンプ。 |
published | integer | ジョブが公開された時点を示すタイムスタンプ。 |
tilesetId | string | 指定されたタイルセットの一意の識別子。 |
errors | array | タイルセットに関連するエラー(該当する場合)。エラーがない場合、これは空の配列になります。詳細については、MTSエラーのドキュメントをご覧ください。 |
warnings | array | タイルセットに関連する警告(該当する場合)。警告がない場合、これは空の配列になります。警告に関する詳細については、MTS警告のドキュメントをご覧ください。 |
recipe | object | ジョブを公開するために使用されたMTSのレシピ。 |
tileset_precisions | object | ジョブのレシピで使用された精度階層(10m、1m、30cm、または1cm)で処理された面積を平方キロメートルで表示します。 |
cu | integer | ジョブで使用された処理計算単位(CU)の数。 |
filesize | integer | ジョブを公開するために使用されたタイルセットソースのファイルサイズ(バイト単位)。 |
例: タイルセットのすべてのジョブに関する情報を表示する
[
{
"id": "job_1_id",
"stage": "success",
"created": 1560981902377,
"created_nice": "Wed Jun 19 2019 22:05:02 GMT+0000 (UTC)",
"published": 1560982158721,
"tilesetId": "user.id",
"errors": [],
"warnings": [],
"tileset_precisions": { "1m": 658731.7540137176 },
"cu": 3.3,
"filesize": 1068607,
"recipe": {
"version": 1,
"layers": {
"sample_pois": {
"minzoom": 1,
"maxzoom": 12,
"source": "mapbox://tileset-source/user/source"
}
}
}
},
{
"id": "job_2_id",
"stage": "processing",
"created": 1560982159327,
"created_nice": "Wed Jun 19 2019 22:09:19 GMT+0000 (UTC)",
"published": 1560985238565,
"tilesetId": "user.id",
"errors": [],
"warnings": [],
"recipe": {
"version": 1,
"layers": {
"sample_pois": {
"minzoom": 1,
"maxzoom": 12,
"source": "mapbox://tileset-source/user/revised-source"
}
}
}
}
]
グローバルキューを表示する
グローバルキュー内のキューに入れられたジョブの数を表示し、処理待ちのジョブ数を示します。
例: グローバルキューを表示する
$curl -X PUT "https://api.mapbox.com/tilesets/v1/queue?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答: グローバルキューを表示する
このエンドポイントへのリクエストは、グローバルMTSキュー内で処理待ちのジョブの数を返します。
プロパティ | タイプ | 説明 |
---|---|---|
total | integer | キューに入れられたジョブの数。 |
例: グローバルキューを表示する
{
"total": 42
}
レシピを検証する
新しいタイルセットを作成する前にレシピドキュメントを検証します。リクエストボディ全体がレシピJSONドキュメントである必要があり、これはタイルセット作成リクエストのリクエストボディプロパティのレシピ
部分です。レシピの形式についてのガイダンスは、レシピリファレンスを参照してください。
このエンドポイントの動作は以下のオプションパラメータで制御できます。
オプションパラメータ | タイプ | 説明 |
---|---|---|
accept_invalid_sources | boolean | true の場合、各レイヤーのsource URLを検証しません。これにより、レシピが開発中でソースがアップロードされる前にレシピの構文を検証できます。 |
例: レシピを検証する
$curl -X PUT "https://api.mapbox.com/tilesets/v1/validateRecipe?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN" \
-d @recipe.json \
--header "Content-Type:application/json"
応答: レシピを検証する
応答はレシピドキュメントが有効かどうかを示すJSONオブジェクトです。レシピドキュメントが有効でない場合、errors
プロパティには問題に関する情報メッセージが含まれます。
例: レシピを検証する
有効なレシピ:
{
"valid": true
}
無効なレシピ:
{
"valid": false,
"errors": ["minzoom 22はmaxzoom 11より大きくすることはできません"]
}
タイルセットのレシピを取得する
特定のタイルセットを作成したときに使用したレシピボディを要求します。
必須パラメータ | タイプ | 説明 |
---|---|---|
tileset_id | string | レシピを取得するタイルセットのIDで、ユーザー名とタイルセットの一意の名前(username.id )で構成されます。 |
例: タイルセットのレシピを取得する
$curl "https://api.mapbox.com/tilesets/v1/{tileset_id}/recipe?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答: タイルセットのレシピを取得する
指定されたタイルセットを最初に作成したときに提供したレシピボディを返します。
例: タイルセットのレシピを取得する
{
"recipe": {
"version": 1,
"layers": {
"my_layer": {
"source": "mapbox://tileset-source/my-source-data",
"minzoom": 0,
"maxzoom": 4
}
}
},
"id": "username.id"
}
タイルセットのレシピを更新する
タイルセットのレシピを更新します。このエンドポイントは新しいレシピの検証ステップを行います。
必須パラメータ | タイプ | 説明 |
---|---|---|
tileset_id | string | レシピを更新するタイルセットのIDで、ユーザー名とタイルセットの一意の名前(username.id )で構成されます。 |
リクエストボディ全体がレシピJSONドキュメントである必要があり、これはタイルセット作成リクエストのリクエストボディプロパティのレシピ
部分です。
レシピのlayer_name
を更新すると、このタイルセットを参照するすべての下流スタイルが壊れます。
レシピのlayer_name
を更新する場合は、スタイルから該当するレイヤーを削除し、
タイルセットの新しいレイヤーを再追加する必要があります。
例: タイルセットのレシピを更新する
$curl -X PATCH "https://api.mapbox.com/tilesets/v1/{tileset_id}/recipe?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN" \
-d @recipe.json \
--header "Content-Type:application/json"
応答: タイルセットのレシピを更新する
更新されたレシピが有効な場合、応答はHTTP 204 No Content
になります。
更新されたレシピが有効でない場合、errors
プロパティには問題に関する情報メッセージが含まれます。
{
"message": "レシピが無効です。",
"errors": ["minzoom 22はmaxzoom 11より大きくすることはできません"]
}
タイルセットの一覧を表示する
特定のアカウントに属するすべてのタイルセットを表示します。このエンドポイントはページネーションをサポートしています。デフォルトでは最大で100のタイルセットを返します。
必須パラメータ | タイプ | 説明 |
---|---|---|
username | string | タイルセットをリストアップするアカウントのユーザー名 |
次のオプションパラメータを使用して、このエンドポイントからの結果をさらに絞り込むことができます。
オプションパラメータ | タイプ | 説明 |
---|---|---|
type | string | タイルセットの種類(raster 、rasterarray 、またはvector )でフィルタリングします。 |
visibility | string | 可視性(public またはprivate )でフィルタリングします。プライベートタイルセットには所有者のアクセス トークンが必要です。パブリックタイルセットは任意のユーザーのアクセストークンで要求できます。 |
sortby | string | created またはmodified タイムスタンプでリストを並べ替えます。 |
limit | integer | 返すタイルセットの最大数を1 から500 の間で指定します。デフォルトは100 です。 |
start | string | リストの開始位置となるタイルセット。レスポンスのLink ヘッダーにキーがあります。詳細についてはページネーションセクションを参照してください。 |
例: タイルセットの一覧を表示する
$curl "https://api.mapbox.com/tilesets/v1/YOUR_MAPBOX_USERNAME?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
# 最新のベクタータイルセット25件の結果を制限する
$curl "https://api.mapbox.com/tilesets/v1/YOUR_MAPBOX_USERNAME?type=vector&limit=25&sortby=created&access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
# abc123の開始キーを持つタイルセット以降の結果を制限する
$curl "https://api.mapbox.com/tilesets/v1/YOUR_MAPBOX_USERNAME?start=abc123&access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答: タイルセットの一覧を表示する
MTSへのリクエストはタイルセットオブジェクトの配列を返します。各タイルセットオブジェクトには以下のプロパティが含まれます。
プロパティ | タイプ | 説明 |
---|---|---|
type | string | 含まれるデータの種類(raster 、rasterarray 、またはvector のいずれか)。 |
center | array | 含まれるデータの中心点の経度、緯度、およびズームレベル。形式は [lon, lat, zoom] です。 |
created | string | タイルセットが作成された時点を示すタイムスタンプ。 |
description | string | タイルセットの人間が読める説明。 |
filesize | integer | タイルセットが消費するストレージ容量(バイト単位)。 |
id | string | タイルセットの一意の識別子。 |
modified | string | タイルセットが最後に変更された時点を示すタイムスタンプ。 |
name | string | タイルセットの名前。 |
visibility | string | タイルセットのアクセス制御(public またはprivate のいずれか)。 |
status | string | タイルセットの処理ステータス(available 、pending 、またはinvalid のいずれか)。Mapbox Tiling Serviceで作成されたタイルセットの場合、これは常にavailable に設定されます。MTSタイルセットの最新ジョブの段階を見るには、limit=1 クエリパラメータを使用してタイルセットジョブリストエンドポイントを使用します。 |
例: タイルセットの一覧を表示する#### 例: タイルセットの一覧を表示する
[
{
"type": "vector",
"center": [-0.2680000000000007, 11.7014165, 2],
"created": "2015-09-09T23:30:17.936Z",
"description": "",
"filesize": 17879790,
"id": "mapbox.05bv6e12",
"modified": "2015-09-09T23:30:17.906Z",
"name": "routes.geojson",
"visibility": "public",
"status": "available"
},
{
"type": "raster",
"center": [-110.32479628173822, 44.56501277250615, 8],
"created": "2016-12-10T01:29:37.682Z",
"description": "",
"filesize": 794079,
"id": "mapbox.4umcnx2j",
"modified": "2016-12-10T01:29:37.289Z",
"name": "sample-4czm7e",
"visibility": "private",
"status": "available"
}
]
サポートされているライブラリ: タイルセットの一覧を表示する
Mapboxのラッパーライブラリは、既存のアプリケーションにMapbox APIを統合するのに役立ちます。以下のSDKはこのエンドポイントをサポートしています。
SDKドキュメントには、このエンドポイントを照会するための関連メソッドの使用方法の詳細と例が記載されています。
タイルセットを削除する
タイルセットを削除します。自分のタイルセットのみ削除できます。
必須パラメータ | タイプ | 説明 |
---|---|---|
tileset_id | string | 削除するタイルセットのIDで、ユーザー名とタイルセットの一意の名前(username.id )で構成されます。 |
例: タイルセットを削除する
$curl -X DELETE "https://api.mapbox.com/tilesets/v1/{tileset_id}?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
応答: タイルセットを削除する
HTTP 200
TileJSONメタデータを取得する
有効なMapboxタイルセットIDを指定すると、そのタイルセットのTileJSONメタデータを返します。
必須パラメータ | タイプ | 説明 |
---|---|---|
tileset_id | string | ユーザー名の後にタイルセットの一意の名前(username.id )を指定した、ベクタタイルセットの一意の識別子。複数のベクタタイルセットを合成するには、最大15個のタイルセットIDをカンマ区切りで指定します。 |
このエンドポイントはsecure
パラメータでさらにカスタマイズできます。
オプションパラメータ | タイプ | 説明 |
---|---|---|
secure | string | 取得したTileJSONのリソースURL("tiles" 配列など)はデフォルトでHTTPスキームを使用します。リクエストにsecure を含めると、HTTPSリソースURLが返されます。 |
例: TileJSONメタデータを取得する
$curl "https://api.mapbox.com/v4/examples.civir98a801cq2oo6w6mk1aor-9msik.json?access_token=YOUR_MAPBOX_ACCESS_TOKEN"
# 取得したTileJSONでHTTPSリソースURLを要求する
$curl "https://api.mapbox.com/v4/examples.civir98a801cq2oo6w6mk1aor-9msik.json?secure&access_token=YOUR_MAPBOX_ACCESS_TOKEN"
応答: TileJSONメタデータを取得する
タイルセットのTileJSONメタデータを返します。TileJSONオブジェクトは、タイル、マーカー、UTFGridなどのリソースをはじめ、地図の名前、説明、中心点などを記述します。
例: TileJSONメタデータを取得する
{
"bounds": [-87.769775, 41.715515, -87.530221, 41.940403],
"center": [-87.649998, 41.82795900000001, 0],
"created": 1479169405055,
"filesize": 3321,
"format": "pbf",
"id": "examples.civir98a801cq2oo6w6mk1aor-9msik",
"mapbox_logo": true,
"maxzoom": 10,
"minzoom": 0,
"modified": 1542143499397,
"name": "chicago-parks",
"private": false,
"scheme": "xyz",
"tilejson": "2.2.0",
"tiles": [
"http://a.tiles.mapbox.com/v4/examples.civir98a801cq2oo6w6mk1aor-9msik/{z}/{x}/{y}.vector.pbf",
"http://b.tiles.mapbox.com/v4/examples.civir98a801cq2oo6w6mk1aor-9msik/{z}/{x}/{y}.vector.pbf"
],
"vector_layers": [
{
"description": "",
"fields": {
"description": "String",
"id": "String",
"marker-color": "String",
"marker-size": "String",
"marker-symbol": "String",
"title": "String"
},
"id": "chicago-parks",
"maxzoom": 22,
"minzoom": 0,
"source": "examples.civir98a801cq2oo6w6mk1aor-9msik",
"source_name": "chicago-parks"
}
],
"version": "1.0.0",
"webpage": "http://a.tiles.mapbox.com/v4/examples.civir98a801cq2oo6w6mk1aor-9msik/page.html"
}
タイルセットのアクティビティを取得する
特定のアカウントに属するすべてのタイルセットの30日間のアクティビティデータを一覧表示します。このエンドポイントはページネーションをサポートし、デフォルトで100個のアクティビティオブジェクトを返し、最大500個まで返します。
必須パラメータ | タイプ | 説明 |
---|---|---|
username | string | リソースアクティビティを取得するアカウントのユーザー名。 |
次のオプションパラメータを使用して、このエンドポイントからの結果をさらに絞り込むことができます。
オプションパラメータ | タイプ | 説明 |
---|---|---|
sortby | string | リストをrequests またはmodified でソートします。デフォルトはrequests です。 |
orderby | string | ソート方向はasc またはdesc です。デフォルトはdesc です。 |
limit | integer | 返すアクティビティデータの最大数を1 から500 の間で指定します。デフォルトは100 です。 |
start | string | リストの開始位置となるアクティビティデータのキー。レスポンスのLink ヘッダーにキーがあります。詳細についてはページネーションセクションを参照してください。 |
例: タイルセットのアクティビティを取得する
$curl "https://api.mapbox.com/activity/v1/YOUR_MAPBOX_USERNAME/tilesets?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"
# 過去30日間で最もリクエストされた25件のタイルセットに結果を制限する
$curl "https://api.mapbox.com/activity/v1/YOUR_MAPBOX_USERNAME/tilesets?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN&limit=25&sortby=requests&orderby=desc"
応答: タイルセットのアクティビティを取得する
アクティビティオブジェクトの配列を返します。各アクティビティオブジェクトには以下のプロパティが含まれます。
プロパティ | タイプ | 説明 |
---|---|---|
id | string | タイルセットの一意のID。 |
request_count | number | 過去30日間の総リクエスト数。 |
last_modified | string | タイルセットのリクエスト数が最後に変更された時点を示すタイムスタンプ。 |
例: タイルセットのアクティビティを取得する
[
{
"id": "TestAccount.00y37ujk",
"request_count": 5887624756,
"last_modified": "2023-06-19T00:31:10.226Z"
},
{
"id": "TestAccount.ck29mgmu80bni2in6s83k6e1q-1y1m7",
"request_count": 5887579047,
"last_modified": "2023-06-19T00:31:10.226Z"
}
]
Mapbox Tiling Serviceエラー
レスポンスボディメッセージ | HTTPステータスコード | 説明 |
---|---|---|
Not Authorized - No Token | 401 | クエリにトークンが使用されていません。 |
Not Authorized - Invalid Token | 401 | クエリに使用したアクセストークンを確認してください。 |
This endpoint requires a token with {scope} scope | 403 | クエリに使用したアクセストークンには、指定されたスコープが必要です。 |
Forbidden | 403 | アカウントに問題がある可能性があります。アカウントページで詳細を確認してください。 一部のケースでは、URL制限付きアクセストークンの使用も 403 エラーを引き起こす可能性があります。詳細については、トークン管理ガイドをご覧ください。 |
Not Found | 404 | リソースまたはアカウントが存在しません。 |
Cannot find tileset | 404 | クエリに使用したタイルセットIDを確認してください。 |
The requested url's querystring \"limit\" property contains in invalid value. | 422 | クエリのlimit に指定された値が500以上、または非数値文字を含んでいます。 |
Resource is locked and cannot be modified | 409 | タイルセットソースがアクティブなタイルセット公開ジョブによって「ロック」されているときは、リソースを削除または変更することはできません。公開ジョブが完了するとリソースはロック解除されます。 |
Invalid start key | 422 | クエリで使用した開始キーを確認してください。 |
Classic styles are no longer supported; see https://blog.mapbox.com/deprecating-studio-classic-styles-d8892ac38cb4 for more information | 410 | クラシックスタイルのAPIリクエストからの非推奨通知です。クラシックスタイルはサポートされていません。 |
一般的なエラーのトラブルシューティングについては、MTSエラードキュメントをご覧ください。
Mapbox Tiling Serviceの制限と制約
- HTTPSを使用してリクエストを行う必要があります。HTTPはサポートされていません。
Mapbox Tiling Serviceエンドポイント | リクエストごとの制限 | サイズ制限 |
---|---|---|
タイルセットソースの作成 | 100 | タイルセットソースは合計で10ソースファイルで構成されます。 各アップロードファイルの最大サイズは20 GBです。タイルセットソースを構成するすべてのファイルの合計サイズは50 GBです。タイルセットソースを構成するすべてのファイルの合計サイズが50 GBを超える場合、MTSは詳細を含む error プロパティを持つレスポンスを返します。 |
タイルセットソース情報の取得 | 3,000 | — |
タイルセットソースの一覧表示 | 3,000 | — |
タイルセットソースの削除 | 100 | — |
タイルセットの作成 | 100 | — |
タイルセットの公開 | 2 | 1つのベクタタイルのサイズは500 KBに制限されています。ジョブがタイルサイズのためにフィーチャをドロップする場合、これはジョブオブジェクトのwarnings フィールドに記載されます。 |
タイルセット情報の更新 | 100 | — |
単一のタイルセットジョブに関する情報の取得 | 3,000 | — |
タイルセットのすべてのジョブに関する情報の一覧表示 | 3,000 | — |
グローバルキューの表示 | 3,000 | — |
レシピの検証 | 100 | — |
タイルセットのレシピの取得 | 3,000 | — |
タイルセットのレシピの更新 | 100 | — |
タイルセットの一覧表示 | 3,000 | — |
タイルセットの削除 | 100 | — |
TileJSONメタデータの取得 | 100,000 | — |
タイルセットアクティビティの取得 | 500 | — |
キャッシング
- TileJSONのレスポンスはデフォルトでCache-Controlヘッダーに
max-age=43200,s-maxage=300
が設定されます、つまりデバイスキャッシュは12時間、CDNキャッシュは5分となります。 - キャッシングの一般情報については、Maps APIsキャッシングトラブルシューティングガイドを参照してください。
Mapbox Tiling Serviceの価格
- タイルセット処理およびタイルセットホスティング ごとに請求されます
- 料金ページの Tilesets セクションで、タイルセット処理およびタイルセットホスティング ごとの料金と割引をご確認ください。
Mapbox Tiling Serviceを使用する際、利用統計は統計ダッシュボードで確認できます。アカウントのタイルセット使用量が月間の無料枠を超える場合、タイルセット処理およびタイルセットホスティングの費用を含む請求項目がアカウントの請求書に記載されます。
特定のタイルセットの請求メトリクスを確認するには、タイルセットページに移動し、タイルセットの名前をクリックしてTileset Explorerにアクセスしてください。
このサービスの料金の詳細については、MTS料金ガイドをご覧ください。