メインコンテンツまでスキップ

Mapbox タイリングサービス

Mapbox タイリングサービス(MTS) はベクタータイルセットを作成するためのツールです。MTSを使用すると、設定オプションのセット(タイルセットレシピ)を使用してジオスペーシャルデータをベクタタイルに変換できます。生成されたタイルはアプリケーションで使用するためにMapboxサーバーにホスティングされます。

このページでは、MTSと相互作用するためのAPIドキュメントを見つけることができます。

Mapbox タイリングサービスの開発者ガイドと例

MTSの一般的な概要、使用例、開発者ガイド、および例については、Mapbox タイリングサービスドキュメントを参照してください。

ここで説明するAPIエンドポイントを使用してMTSにアクセスする以外に、Tilesets CLI と呼ばれるコマンドラインPythonツールを使用してMTS用のデータを準備およびアップロードすることもできます。Tilesets CLIの詳細については、Tilesets CLI ドキュメントおよびMTSとTilesets CLIのチュートリアルを参照してください。

タイルセットソースの作成

post
https://api.mapbox.com/tilesets/v1/sources/{username}/{id}
tilesets:write

タイルセットソースを作成します。タイルセットソースは行区切りGeoJSONとしてフォーマットされた生の地理データで、Mapbox.comにアップロードされます。(MTSで行区切りGeoJSONがどのように使用されるかについては、タイルセットソースのガイドを参照してください。)

タイルセットソースは、新しいベクタータイルセットを作成するためにMTSを使用するために必要です。それらはタイルセットソースID経由で参照されます。同じタイルセットソースは複数のタイルセットで使用できます。

タイルセットソースは最大10のソースファイルで構成できます。各個別ソースファイルは、20 GBを超えてはなりません。すべてのファイルを合わせたタイルセットソースの最大合計サイズは50 GBです。すべてのファイルの合計サイズがこの制限を超える場合、MTSはerrorプロパティを含む応答を返します。複数のソースファイルをタイルセットソースに追加するためには、このエンドポイントに複数回投稿します。これにより、アップロードされたファイルがタイルセットソースに追加されます。新しいソースファイルでタイルセットソースを置き換えるには、タイルセットソースの置換エンドポイントを使用します。

タイルセットソースが不要になった場合は、関連するタイルセットの処理が完了した後に手動で削除する必要があります。関連するタイルセットは正常に動作し続けます。

必須パラメータ説明
usernamestringタイルセットソースを作成するアカウントのMapboxユーザー名。
idstring作成するタイルセットソースの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_sizeintegerタイルセットソースに追加した個々のファイルのバイト単位のサイズ。
filesintegerタイルセットソース内のファイルの総数。
idstringタイルセットソースの一意の識別子。
source_sizeintegerタイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。

応答例:タイルセットソースの作成

{
"file_size": 10592,
"files": 1,
"id": "mapbox://tileset-source/username/hello-world",
"source_size": 10592
}

既存のタイルセットソースに追加

post
https://api.mapbox.com/tilesets/v1/sources/{username}/{id}
tilesets:write

新しいソースデータをタイルセットソースに追加するか、既に存在しない場合はソースを作成します。タイルセットソースは行区切りGeoJSONとしてフォーマットされた生の地理データで、Mapbox.comにアップロードされます。(MTSで行区切りGeoJSONがどのように使用されるかについては、タイルセットソースのガイドを参照してください。)

タイルセットソースは、新しいベクタータイルセットを作成するためにMTSを使用するために必要です。それらはタイルセットソースID経由で参照されます。同じタイルセットソースは複数のタイルセットで使用できます。

タイルセットソースは最大10のソースファイルで構成できます。各個別ソースファイルは、20 GBを超えてはなりません。すべてのファイルを合わせたタイルセットソースの最大合計サイズは50 GBです。すべてのファイルの合計サイズがこの制限を超える場合、MTSはerrorプロパティを含む応答を返します。複数のソースファイルをタイルセットソースに追加するためには、このエンドポイントに複数回投稿します。これにより、アップロードされたファイルがタイルセットソースに追加されます。新しいソースファイルでタイルセットソースを置き換えるには、タイルセットソースの置換エンドポイントを使用します。

タイルセットソースが不要になった場合は、関連するタイルセットの処理が完了した後に手動で削除する必要があります。関連するタイルセットは正常に動作し続けます。

必須パラメータ説明
usernamestringタイルセットソースを作成するアカウントのMapboxユーザー名。
idstring新しいソースデータを追加するためのタイルセットソースの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_sizeintegerタイルセットソースに追加した個々のファイルのバイト単位のサイズ。
filesintegerタイルセットソース内のファイルの総数。
idstringタイルセットソースの一意の識別子。
source_sizeintegerタイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。

応答例:既存のタイルセットソースに追加

{
"file_size": 10592,
"files": 2,
"id": "mapbox://tileset-source/username/hello-world",
"source_size": 20884
}

タイルセットソースの置換

put
https://api.mapbox.com/tilesets/v1/sources/{username}/{id}
tilesets:write

新しいソースデータを使用してタイルセットソースを置換するか、既に存在しない場合はソースを作成します。アップロードされたファイルの総サイズが20 GBを超える場合、MTSはerrorプロパティを含む応答を返します。

タイルセットソースが不要になった場合は、関連するタイルセットの処理が完了した後に手動で削除する必要があります。関連するタイルセットは正常に動作し続けます。

必須パラメータ説明
usernamestringタイルセットソースを作成するアカウントのMapboxユーザー名。
idstring置換するタイルセットソースの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_sizeintegerタイルセットソースに追加した個々のファイルのバイト単位のサイズ。
filesintegerタイルセットソース内のファイルの総数。
idstringタイルセットソースの一意の識別子。
source_sizeintegerタイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。

応答例:タイルセットソースの置換

{
"file_size": 10592,
"files": 1,
"id": "mapbox://tileset-source/username/hello-world",
"source_size": 10592
}

タイルセットソース情報の取得

get
https://api.mapbox.com/tilesets/v1/sources/{username}/{id}
tilesets:read

特定のタイルセットソースの情報を取得します。これには、タイルセットソース内のファイルの数と合計サイズが含まれます。

必須パラメータ説明
usernamestringタイルセットソース情報を取得するアカウントのMapboxユーザー名。
idstring取得するタイルセットソースのID。

例:タイルセットソース情報の取得

$ curl "https://api.mapbox.com/tilesets/v1/sources/YOUR_MAPBOX_USERNAME/hello-world?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"

応答:タイルセットソース情報の取得

リクエストが成功した場合、応答には次のプロパティが含まれます:

プロパティ説明
filesintegerタイルセットソース内のファイルの総数。
idstringタイルセットソースの一意の識別子。
sizeintegerタイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。
size_nicestringヒューマンリーダブル形式でのタイルセットソース内のすべてのファイルの合計サイズ。

応答例:タイルセットソース情報の取得

{
"files": 2,
"id": "mapbox://tileset-source/username/hello-world",
"size": 20884,
"size_nice": "20.39KB"
}

タイルセットソースの一覧

get
https://api.mapbox.com/tilesets/v1/sources/{username}
tilesets:list

アカウントに属するすべてのタイルセットソースの一覧を表示します。このエンドポイントはページネーションをサポートしています。

必須パラメータ説明
usernamestringタイルセットソース情報を取得するアカウントのMapboxユーザー名。

以下のオプションパラメータを使用して、このエンドポイントの結果をさらに絞り込むことができます:

オプションパラメータ説明
sortbystring作成または変更されたタイムスタンプでリストを並べ替えます。
limitinteger返すタイルセットソースの最大数。1から500まで指定できます。デフォルトは100です。
startstringリストの開始地点として使用するタイルセット。レスポンスのLinkヘッダーにキーがあります。詳細はページネーションセクションを参照してください。

例:タイルセットソースの一覧

$ curl "https://api.mapbox.com/tilesets/v1/sources/YOUR_MAPBOX_USERNAME?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"

応答:タイルセットソースの一覧

リクエストが成功した場合、応答には指定したアカウントに属するタイルセットソースのリストが含まれます。各リストの個々のソースには次のプロパティが含まれます:

プロパティ説明
filesintegerタイルセットソース内のファイルの総数。
idstringタイルセットソースの一意の識別子。
sizeintegerタイルセットソース内のすべてのファイルの合計サイズ(バイト単位)。

アカウントに2000個以上のタイルセットソースがある場合、応答リストは2000で制限されます。

応答例:タイルセットソースの一覧

[
{
"files": 2,
"id": "mapbox://tileset-source/username/hello-world",
"size": 20884
},
{
"files": 3,
"id": "mapbox://tileset-source/username/hola-mundo",
"size": 650332
}
]

タイルセットソースの削除

delete
https://api.mapbox.com/tilesets/v1/sources/{username}/{id}
tilesets:write

タイルセットソースとそのすべてのファイルを完全に削除します。この操作は元に戻せません。

使用中のタイルセットソースを削除しないでください

タイルセットソースを削除すると、そのタイルセットソースを使用する進行中のジョブは失敗します。

必須パラメータ説明
usernamestringタイルセットソースを削除するアカウントのMapboxユーザー名。
idstring削除されるタイルセットソースの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を返します。

タイルセットの作成

post
https://api.mapbox.com/tilesets/v1/{tileset_id}
tilesets:write
タイルセット作成の前提条件

タイルセットを新しく作成する前に、タイルセットソースを作成し、タイルセットレシピを記述する必要があります。 タイルセットレシピは、タイルセットソース内のデータをベクタタイルに変換する方法を定義します。

新しいタイルセットを作成します。

必須パラメータ説明
tileset_idstring作成されるタイルセットのID。これは、ユーザー名の後にピリオドとタイルセットの一意の名前で構成されます(username.id)。制限は32文字。この文字数制限にはユーザー名は含まれません。使用できる特別な文字は -_ のみです。

リクエストボディはJSONオブジェクトであり、次のプロパティを含む必要があります:

必須リクエストボディプロパティ説明
recipeobjectアップロードしたGeoJSONデータをタイルに変換する方法を記述したレシピ。レシピの作成とフォーマット方法については、レシピリファレンスおよびレシピ例を参照してください。
namestringタイルセットの名前。64文字以内。

さらに、リクエストボディは次のオプションプロパティを含めることができます:

オプショナルリクエストボディプロパティ説明
privatebooleanタイルセットがあなたのMapboxアカウントからのアクセストークンを使用してのみ使用する必要があるかどうかを示します。デフォルトはtrueです。
descriptionstringタイルセットの説明。500文字以内。
attributionarray of objectsそれぞれtextおよびlinkキーを持つアトリビューションオブジェクトの配列。アトリビューションオブジェクトは最大で3つ、すべてのtext値の合計が最大80文字、すべてのlink値の合計が最大1000文字に制限されます。
attribution.textstringタイルセットのアトリビューションテキスト。
attribution.linkstringタイルセットのアトリビューションに使用される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を使用して更新できます:

  • タイルセットのソースを更新 するには、タイルセットのレシピを更新するエンドポイントを使用します。更新されたタイルセットレシピで新しいタイルセットソースを参照することができます。
  • タイルセットのレシピを更新 するには、タイルセットのレシピを更新するエンドポイントを使用します。更新されたレシピでは、minzoommaxzoomなどの新しい設定を指定できます。(MTSレシピ仕様書のルールに従う。)
  • タイルセットのメタデータを更新 するには、タイルセット情報の更新MTSエンドポイントを使用します。タイルセットの名前、説明、非公開または公開の状態、およびアトリビューション情報を更新できます。
  • タイルセットのタイルを更新 するには、タイルセットの公開MTSエンドポイントを使用します。この手順は更新方法に詳述されています。データソースの更新やレシピの変更が必要な場合、このプロセスは同じタイルセットに対して無制限に繰り返すことができます。

タイルセットの公開

post
https://api.mapbox.com/tilesets/v1/{tileset_id}/publish
tilesets:write

タイルセットを作成したら、そのデータをベクタタイルに「公開」するよう要求できます。このアクションは、レシピで定義された方法に従ってデータを取得してベクタタイルに処理するという非同期プロセス(ジョブとして知られている)を開始します。

このエンドポイントは、既存のタイルセットを更新するためにも使用されます。タイルキャッシングのため、既存のタイルセットを更新するとき、新しいタイルはキャッシュされたバージョンが期限切れになるまで表示されません。

特定のタイルセットには、一度にアクティブな処理公開ジョブがひとつしか存在できません。これにより、ステージングされたデータが次のデータを処理する前に処理されることが確保されます。タイルセットにアクティブな公開リクエストが処理されている場合、後続の公開リクエストは受信した順にキューに入れられます。アカウントごとにキューに入れることができるジョブは最大で5つです。

すべてのジョブはグローバルなMapboxキューに入力されます。キューが大きいほど、タイルセットの処理に時間がかかります。キューのサイズを確認する方法については、グローバルキューの表示セクションを参照してください。

単一のベクタタイルのサイズは500 KBに制限されています。 タイルサイズによってフィーチャがドロップされる場合、これはジョブオブジェクトのwarningsフィールドに記載されます。

必須パラメータ説明
tileset_idstringタイルセットを公開するために使用する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ステータスコードを返します。

タイルセット情報の更新

patch
https://api.mapbox.com/tilesets/v1/{tileset_id}
tilesets:write

タイルセット情報(名前、説明、プライバシー設定など)を更新します。これはタイルセットのレシピを更新するエンドポイントではありません

オプショナルリクエストボディプロパティ説明
namestringタイルセットの名前。64文字以内。
descriptionstringタイルセットの説明。500文字以内。
privatebooleanタイルセットがあなたのMapboxアカウントからのアクセストークンを使用してのみ使用する必要があるかどうかを示します。
attributionarray of objectsそれぞれtextおよびlinkキーを持つアトリビューションオブジェクトの配列。アトリビューションオブジェクトは最大で3つ、すべてのtext値の合計が最大80文字、すべてのlink値の合計が最大1000文字に制限されます。詳細はアトリビューションの表示部分を参照してください。
attribution.textstringタイルセットのアトリビューションテキスト。
attribution.linkstringタイルセットのアトリビューションに使用される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

単一のタイルセットジョブに関する情報を取得する

get
https://api.mapbox.com/tilesets/v1/{tileset_id}/jobs/{job_id}
tilesets:read

一意のジョブIDに基づいて、タイルセットに関連する単一のジョブに関する情報を取得します。

必須パラメータ説明
tileset_idstring情報を取得するタイルセットのID。これは、ユーザー名の後にピリオドとタイルセットの一意の名前で構成されます(username.id)。
job_idstring発行ジョブの一意の識別子。 この識別子は、タイルセットの公開 応答の jobId フィールドで返されます。

例:単一のタイルセットジョブに関する情報を取得する

$ curl "https://api.mapbox.com/tilesets/v1/{tileset_id}/jobs/{job_id}?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"

応答:単一のタイルセットジョブに関する情報を取得する

リクエストが成功した場合、応答は次のプロパティを含むJSONオブジェクトを返します:

プロパティ説明
idstring発行ジョブの一意の識別子。
stagestringジョブのステージ。可能な値は queued, processing, success, failed, および superseded です。 superseded ステージは、キュー内のジョブが置き換えられた場合に使用され、特に同じタイルセットのための新しいジョブが実行を待たずに処理されることができます。
createdintegerジョブが作成されたタイムスタンプ。
created_nicestringヒューマンリーダブル形式のジョブの作成タイムスタンプ。
publishedintegerジョブが公開されたタイムスタンプ。
tilesetIdstring指定されたタイルセットの一意の識別子。
errorsarrayタイルセットに関連するエラー。関連するエラーがない場合、これは空の配列になります。詳細情報については、MTSエラー ドキュメント を参照してください。
warningsarrayタイルセットに関連する警告。関連する警告がない場合、これは空の配列になります。警告についての詳細は、MTS警告 ドキュメント を参照してください。
recipeobjectタイリングジョブの公開に使用されたMTS レシピ
tileset_precisionsobjectジョブのレシピ内の1つ以上のレイヤーで使用された精度層(10m, 1m, 30cm, 1cm)の処理済みエリア(平方キロメートル)。
cuintegerジョブで使用された処理計算ユニット(CUs)の数。
filesizeintegerジョブの公開に使用されたタイルセットソースのファイルサイズ(バイト単位)。
layer_statsobject指定されたレイヤーに関する統計情報を含むオブジェクト。
layer_stats.total_tilesintegerタイルセット内にこのレイヤーを含むタイルの総数。
layer_stats.point_countintegerレイヤーの点フィーチャの総数。
layer_stats.linestring_countintegerレイヤーのラインストリングフィーチャの総数。
layer_stats.polygon_countintegerレイヤーのポリゴンフィーチャの総数。
layer_stats.cappedintegerレイヤーのサイズのために、フィーチャが取り除かれたタイルセットの数。
layer_stats.maxzoomintegerレイヤーの最大ズームレベル。
layer_stats.minzoomintegerレイヤーの最小ズームレベル。
layer_stats.checksumstringフィーチャのジオメトリと属性のチェックサム。IDは含まれません。
layer_stats.zoomsobject各ズームレベルのレイヤーの統計情報を含むオブジェクト。
layer_stats.zooms.yminintegerズームレベルでの y タイル座標の最小値。
layer_stats.zooms.ymaxintegerズームレベルでの y タイル座標の最大値。
layer_stats.zooms.xminintegerズームレベルでの x タイル座標の最小値。
layer_stats.zooms.xmaxintegerズームレベルでの x タイル座標の最大値。
layer_stats.zooms.tilesintegerズームレベルごとのレイヤーのタイルの総数。
layer_stats.zooms.cappedintegerレイヤーのサイズのためにフィーチャが取り除かれたズームレベルのタイル数。
layer_stats.zooms.capped_listarray of objects表示画面外のズームレベルを持つリスト。制限されたレイヤーサイズを持つタイルのリストか "システム制限を超える"。
layer_stats.zooms.sum_areanumberズームレベルでのレイヤーのタイルがカバーする総面積。
layer_stats.zooms.sum_sizeintegerズームレベルでのレイヤーのすべてのタイルの合計サイズ(バイト単位、圧縮されていない)。
layer_stats.zooms.avg_sizenumberズームレベルでのレイヤーのタイルの平均サイズ(圧縮されていない)。
layer_stats.zooms.max_sizeintegerズームレベルでのレイヤーのタイルの最大サイズ。
layer_stats.zooms.size_histogramarrayサイズヒストグラム。タイルのサイズの分布を示すタイルカウントの配列。各範囲は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"
}
}
}
}

タイルセットに関するすべてのジョブ情報をリスト

get
https://api.mapbox.com/tilesets/v1/{tileset_id}/jobs
tilesets:list

タイルセットに関連するすべてのジョブ情報をリストします。特定の処理ステージで行われているジョブ(processing, queued, success, failed, または superseded)を取得するためにこのエンドポイントを使用できます。paginationをサポートしています。

必須パラメータ説明
tileset_idstring情報を取得するタイルセットのID。これは、ユーザー名の後にピリオドとタイルセットの一意の名前で構成されます(username.id)。

以下のオプションパラメータを使用して、このエンドポイントの結果をさらに絞り込むことができます:

オプションパラメータ説明
stagestring特定の処理ステージを持つジョブをクエリします:processing, queued, success, failed, または superseded
limitinteger返すタイルセットの最大数。1から500まで。デフォルトは100
startstring一覧を開始するタイルセットの後。レスポンスのLinkヘッダーにキーがあります。詳細はページネーション セクションを参照してください。

応答: タイルセットのすべてのジョブに関する情報を表示する

リクエストが成功すると、タイルセットのジョブを説明する1つ以上のJSONオブジェクトが返されます。各オブジェクトには以下のプロパティが含まれます。

プロパティタイプ説明
idstringパブリッシュジョブの一意の識別子。
stagestringジョブのステータス。可能な値はqueuedprocessingsuccessfailed、またはsupersededです。
createdintegerジョブが作成された時点を示すタイムスタンプ。
created_nicestringジョブが作成された時点を示す人間が読める形式のタイムスタンプ。
publishedintegerジョブが公開された時点を示すタイムスタンプ。
tilesetIdstring指定されたタイルセットの一意の識別子。
errorsarrayタイルセットに関連するエラー(該当する場合)。エラーがない場合、これは空の配列になります。詳細については、MTSエラーのドキュメントをご覧ください。
warningsarrayタイルセットに関連する警告(該当する場合)。警告がない場合、これは空の配列になります。警告に関する詳細については、MTS警告のドキュメントをご覧ください。
recipeobjectジョブを公開するために使用されたMTSのレシピ
tileset_precisionsobjectジョブのレシピで使用された精度階層(10m、1m、30cm、または1cm)で処理された面積を平方キロメートルで表示します。
cuintegerジョブで使用された処理計算単位(CU)の数。
filesizeintegerジョブを公開するために使用されたタイルセットソースのファイルサイズ(バイト単位)。

例: タイルセットのすべてのジョブに関する情報を表示する

[
{
"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"
}
}
}
}
]

グローバルキューを表示する

put
https://api.mapbox.com/tilesets/v1/queue
tilesets:read

グローバルキュー内のキューに入れられたジョブの数を表示し、処理待ちのジョブ数を示します。

例: グローバルキューを表示する

$ curl -X PUT "https://api.mapbox.com/tilesets/v1/queue?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"

応答: グローバルキューを表示する

このエンドポイントへのリクエストは、グローバルMTSキュー内で処理待ちのジョブの数を返します。

プロパティタイプ説明
totalintegerキューに入れられたジョブの数。

例: グローバルキューを表示する

{
"total": 42
}

レシピを検証する

put
https://api.mapbox.com/tilesets/v1/validateRecipe
tilesets:write

新しいタイルセットを作成する前にレシピドキュメントを検証します。リクエストボディ全体がレシピJSONドキュメントである必要があり、これはタイルセット作成リクエストのリクエストボディプロパティのレシピ部分です。レシピの形式についてのガイダンスは、レシピリファレンスを参照してください。

このエンドポイントの動作は以下のオプションパラメータで制御できます。

オプションパラメータタイプ説明
accept_invalid_sourcesbooleantrueの場合、各レイヤーのsourceURLを検証しません。これにより、レシピが開発中でソースがアップロードされる前にレシピの構文を検証できます。

例: レシピを検証する

$ 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より大きくすることはできません"]
}

タイルセットのレシピを取得する

get
https://api.mapbox.com/tilesets/v1/{tileset_id}/recipe
tilesets:list

特定のタイルセットを作成したときに使用したレシピボディを要求します。

必須パラメータタイプ説明
tileset_idstringレシピを取得するタイルセットの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"
}

タイルセットのレシピを更新する

patch
https://api.mapbox.com/tilesets/v1/{tileset_id}/recipe
tilesets:write

タイルセットのレシピを更新します。このエンドポイントは新しいレシピの検証ステップを行います。

必須パラメータタイプ説明
tileset_idstringレシピを更新するタイルセットの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より大きくすることはできません"]
}

タイルセットの一覧を表示する

get
https://api.mapbox.com/tilesets/v1/{username}
tilesets:list

特定のアカウントに属するすべてのタイルセットを表示します。このエンドポイントはページネーションをサポートしています。デフォルトでは最大で100のタイルセットを返します。

必須パラメータタイプ説明
usernamestringタイルセットをリストアップするアカウントのユーザー名

次のオプションパラメータを使用して、このエンドポイントからの結果をさらに絞り込むことができます。

オプションパラメータタイプ説明
typestringタイルセットの種類(rasterrasterarray、またはvector)でフィルタリングします。
visibilitystring可視性(publicまたはprivate)でフィルタリングします。プライベートタイルセットには所有者のアクセス トークンが必要です。パブリックタイルセットは任意のユーザーのアクセストークンで要求できます。
sortbystringcreatedまたはmodifiedタイムスタンプでリストを並べ替えます。
limitinteger返すタイルセットの最大数を1から500の間で指定します。デフォルトは100です。
startstringリストの開始位置となるタイルセット。レスポンスの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へのリクエストはタイルセットオブジェクトの配列を返します。各タイルセットオブジェクトには以下のプロパティが含まれます。

プロパティタイプ説明
typestring含まれるデータの種類(rasterrasterarray、またはvectorのいずれか)。
centerarray含まれるデータの中心点の経度、緯度、およびズームレベル。形式は [lon, lat, zoom]です。
createdstringタイルセットが作成された時点を示すタイムスタンプ。
descriptionstringタイルセットの人間が読める説明。
filesizeintegerタイルセットが消費するストレージ容量(バイト単位)。
idstringタイルセットの一意の識別子。
modifiedstringタイルセットが最後に変更された時点を示すタイムスタンプ。
namestringタイルセットの名前。
visibilitystringタイルセットのアクセス制御(publicまたはprivateのいずれか)。
statusstringタイルセットの処理ステータス(availablepending、または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ドキュメントには、このエンドポイントを照会するための関連メソッドの使用方法の詳細と例が記載されています。

タイルセットを削除する

delete
https://api.mapbox.com/tilesets/v1/{tileset_id}
tilesets:write

タイルセットを削除します。自分のタイルセットのみ削除できます。

必須パラメータタイプ説明
tileset_idstring削除するタイルセットのIDで、ユーザー名とタイルセットの一意の名前(username.id)で構成されます。

例: タイルセットを削除する

$ curl -X DELETE "https://api.mapbox.com/tilesets/v1/{tileset_id}?access_token=YOUR_SECRET_MAPBOX_ACCESS_TOKEN"

応答: タイルセットを削除する

HTTP 200

TileJSONメタデータを取得する

get
https://api.mapbox.com/v4/{tileset_id}.json

有効なMapboxタイルセットIDを指定すると、そのタイルセットのTileJSONメタデータを返します。

必須パラメータタイプ説明
tileset_idstringユーザー名の後にタイルセットの一意の名前(username.id)を指定した、ベクタタイルセットの一意の識別子。複数のベクタタイルセットを合成するには、最大15個のタイルセットIDをカンマ区切りで指定します。

このエンドポイントはsecureパラメータでさらにカスタマイズできます。

オプションパラメータタイプ説明
securestring取得した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"
}

タイルセットのアクティビティを取得する

get
https://api.mapbox.com/activity/v1/{username}/tilesets

特定のアカウントに属するすべてのタイルセットの30日間のアクティビティデータを一覧表示します。このエンドポイントはページネーションをサポートし、デフォルトで100個のアクティビティオブジェクトを返し、最大500個まで返します。

必須パラメータタイプ説明
usernamestringリソースアクティビティを取得するアカウントのユーザー名。

次のオプションパラメータを使用して、このエンドポイントからの結果をさらに絞り込むことができます。

オプションパラメータタイプ説明
sortbystringリストをrequestsまたはmodifiedでソートします。デフォルトはrequestsです。
orderbystringソート方向はascまたはdescです。デフォルトはdescです。
limitinteger返すアクティビティデータの最大数を1から500の間で指定します。デフォルトは100です。
startstringリストの開始位置となるアクティビティデータのキー。レスポンスの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"

応答: タイルセットのアクティビティを取得する

アクティビティオブジェクトの配列を返します。各アクティビティオブジェクトには以下のプロパティが含まれます。

プロパティタイプ説明
idstringタイルセットの一意のID。
request_countnumber過去30日間の総リクエスト数。
last_modifiedstringタイルセットのリクエスト数が最後に変更された時点を示すタイムスタンプ。

例: タイルセットのアクティビティを取得する

[
{
"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 Token401クエリにトークンが使用されていません。
Not Authorized - Invalid Token401クエリに使用したアクセストークンを確認してください。
This endpoint requires a token with {scope} scope403クエリに使用したアクセストークンには、指定されたスコープが必要です。
Forbidden403アカウントに問題がある可能性があります。アカウントページで詳細を確認してください。

一部のケースでは、URL制限付きアクセストークンの使用も403エラーを引き起こす可能性があります。詳細については、トークン管理ガイドをご覧ください。
Not Found404リソースまたはアカウントが存在しません。
Cannot find tileset404クエリに使用したタイルセットIDを確認してください。
The requested url's querystring \"limit\" property contains in invalid value.422クエリのlimitに指定された値が500以上、または非数値文字を含んでいます。
Resource is locked and cannot be modified409タイルセットソースがアクティブなタイルセット公開ジョブによって「ロック」されているときは、リソースを削除または変更することはできません。公開ジョブが完了するとリソースはロック解除されます。
Invalid start key422クエリで使用した開始キーを確認してください。
Classic styles are no longer supported; see https://blog.mapbox.com/deprecating-studio-classic-styles-d8892ac38cb4 for more information410クラシックスタイルの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
タイルセットの公開21つのベクタタイルのサイズは500 KBに制限されています。ジョブがタイルサイズのためにフィーチャをドロップする場合、これはジョブオブジェクトのwarningsフィールドに記載されます。
タイルセット情報の更新100
単一のタイルセットジョブに関する情報の取得3,000
タイルセットのすべてのジョブに関する情報の一覧表示3,000
グローバルキューの表示3,000
レシピの検証100
タイルセットのレシピの取得3,000
タイルセットのレシピの更新100
タイルセットの一覧表示3,000
タイルセットの削除100
TileJSONメタデータの取得100,000
タイルセットアクティビティの取得500
If you require a higher rate limit, contact us.

キャッシング

  • TileJSONのレスポンスはデフォルトでCache-Controlヘッダーにmax-age=43200,s-maxage=300が設定されます、つまりデバイスキャッシュは12時間、CDNキャッシュは5分となります。
  • キャッシングの一般情報については、Maps APIsキャッシングトラブルシューティングガイドを参照してください。

Mapbox Tiling Serviceの価格

  • Billed by タイルセット処理およびタイルセットホスティング
  • See rates and discounts per タイルセット処理およびタイルセットホスティング in the pricing page's タイルセット section

Mapbox Tiling Serviceを使用する際、利用統計は統計ダッシュボードで確認できます。アカウントのタイルセット使用量が月間の無料枠を超える場合、タイルセット処理およびタイルセットホスティングの費用を含む請求項目がアカウントの請求書に記載されます。

特定のタイルセットの請求メトリクスを確認するには、タイルセットページに移動し、タイルセットの名前をクリックしてTileset Explorerにアクセスしてください。

このサービスの料金の詳細については、MTS料金ガイドをご覧ください。

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