Mapbox Tiling Service

MTS は地理空間データをベクタータイルに変換し、データの変化と共にマップを更新します。また地理的冗長性を保ち、高速かつ低遅延のキャッシュネットワークを提供して、あらゆる地域でのスケーリングを可能にします。

費用対効果の高いスケーリング

開発者のデータ処理にかかるコストを削減。MTS は、マップにあらゆる規模のカスタム データセットを、より速く、より安く、より柔軟かつ管理可能な形で統合します。これにより、開発者はマップのためのインフラ整備ではなくアプリ開発に集中できます。

並列データ処理

MTSは大規模なデータセットをカスタムのベクタータイルセットに変換し、データの変化に応じてマップを継続的に更新します。MTSは、従来のインフラよりも90%高速な並列分散処理アーキテクチャを採用しています。

Studioでのビッグデータの設計

MTSからアップロードしたデータは Studio でスタイリングを行い、マップと他のベクタータイルセットを合成できます。デザイナーはレシピを使って、タイルセットのパフォーマンス、ビジュアル、デザインなどの全てを管理できます。recipes.

Mapboxは、常に変化するビッグデータを処理し、Facebook、Snap、Weather Channel、Tableau、Shopifyなどの巨大顧客が、毎月6億5,000万人以上のアクティブユーザーに提供するマップの基礎となるサービスを設計しています。MTSは、インフラストラクチャの構築・導入・保守に時間と費用をかけず、開発者にエンタープライズレベルのデータ処理に拡張性と信頼性を提供するサービスです。

 {
  "version": 1,
  "layers": {
    "city_labels": {
      "source": 
      "mapbox://tileset-source/{username}/populated-places",
      "minzoom" : 0,
      "maxzoom" : 7,
      "features" : {
        "attributes" : {
          "allowed_output" : 
          ["name_en"]
        }
      },
      "tiles" : {
        "limit" : 
        [["lowest_where_in_distance", true, 64, "SCALERANK"]]
      }
    }
  }
}

レシピ


レシピは、MTS にデータをベクタータイルに変換する方法を伝える設定ルールです。レシピは、簡素化、ズームレベルの範囲、ジオメトリの結合、属性の操作といった、ベクタータイルの生成に必要な項目を定義します。レシピ リファレンスから利用可能なすべてのオプションを参照してください。

ライブ気象データ

Yahoo! JapanはMTSを使用して、5分ごとに更新される日本のリアルタイム気象データを時系列に可視化しています。MTSを利用することで、エンジニアの時間とコストを節約しながら、ユーザーにより良い体験を提供することができ、Yahoo! JAPANはマップインフラの保守運用を行うことなく、コアなアプリ体験の向上にリソースを集中させることが可能になりました。

スタジオでのデザイン

MTS はデータを最適化して最新に保つだけでなく、データを美しくマップ上に表示させることができます。MTS で生成されたタイルセットは、Mapbox Studio でスタイリング、他のベクタータイルセットと合成し、Mapbox プラットフォームの視覚的なパワーと柔軟性をフルに活用することができます。

スナップ+スケール+スピード

MTSはSnapchatのデータ処理時間を4時間からわずか15分に高速化しました。SnapchatはMTSを使用してSnapmapのPlacesマップを作成し、ユーザーは、地元のお店を発見し、それぞれの場所の評価や写真といった豊富なメタデータを確認できます。MTSを使用してこれらのタイルセットを作成するには、改行区切りのGeoJSONでデータをアップロードするだけです。MTSが改行区切りGeoJSONをどう使用しているかについては、MTSのドキュメントを参照してください。

地理的冗長性かつ自動でスケールするキャッシングネットワーク

MTSはMapboxのグローバルプラットフォーム上で動作するため、複数の地域でもすぐに利用できます。また、地域ごとに冗長化された自動でスケールするキャッシュネットワークが自動的にバックアップを行い、どこでも低遅延・高速なサービスをシームレスに提供可能です。複数のリージョンに動的ルーティングを行っており、Mapboxのインフラは、自然災害やインターネットインフラサービスの停止といった単一データセンターや単一リージョンの障害に対しても強いサービスとなっています。

プライベートデータ

マップはデフォルトでロックされており、プライベートに設定されているため、開発者はデータを見る人を制限することができます。Mapbox は顧客が作成したデータレイヤーにアクセスすることはありません。Mapbox の管理インターフェイスで、アクセスコントロールトークンを開発者が直接作成、取り消し、監視できます。詳細については、トークン API ドキュメントを参照してください。すべての Mapbox のお客様がSAML シングルサインオンを利用可能で、複数のユーザーを持つチームが安全にコラボレーションできます。

"MTSは、Plume Labsが人々をA地点からB地点へ、可能な限り健康的な方法で移動させるのに役立ちます。MTS は、全世界の大気汚染データをリアルタイムで更新するので、ユーザーは街を歩いたり、走ったり、サイクリングしながらも、汚染場所を避けることができます。

リアルタイム大気汚染警報

アメリカ西海岸の火災が原因の大気汚染は、Plume Labsが収集したデータからも明らかです。MTSを使用して生成されたタイルセットは、どのようなマップスタイルでも使用でき、他のベクタータイルセットと合成が可能です。 read the full documentation.

“刻々と更新される天気図をすべて MTS に移行することで、ユーザーにより良い体験を提供しつつ、エンジニアリングの時間と費用を節約することができました。より多くの地図をMTSに移行できることに興奮しています。”

ヤフー株式会社 ユニットマネージャー 高橋聡一氏

"MTS は、Plume Labs が人々が可能な限り健康的な方法で A から B に移動するお手伝いをしています。MTSを使用することで、世界中の大気汚染データをリアルタイムで更新することができるので、ユーザーは街を歩いたり、走ったり、サイクリングしながらも、汚染のホットスポットを回避することができます。"

Boris Quennehen、Plume Labs社 大気科学者(訳注:大気環境科学者)

" AllTrails が抱える、ユーザー用の何千ものカスタムトレイルデータの、迅速なアップロードと処理をMTSが可能にしました。これにより、世界中のハイキング、サイクリング、キャンプなどで、お客様に最新のトレイルマップ情報を提供することが非常に簡単になりました。"

James Graham、AllTrails社 エンジニアリング責任者

Frequently Asked Questions

一般的な質問

Mapbox Tiling Service(MTS)とは?

Mapbox Tiling Service(MTS)は、ソースデータにレシピ(変換ルール)を提供することで、カスタムベクタータイルセットを作成するサービスです。 作成後のタイルは Mapbox のインフラ上にホスティングされ、当社の API と SDK でアプリケーションに統合します。 MTS は Mapbox のグローバル プラットフォーム上で実行されるため、データは世界中の複数の地域ですぐに利用でき、地理的に冗長化した、自動でスケールするキャッシング ネットワークで自動的にバックアップされるため、どの規模でも、どの地域でも、低遅延と高スループットでシームレスにサポートできます。


MTS は、地理空間データをタイルに変換する方法を管理し、最終的にマップ上のスタイルに使用できるようにします。レシピには、簡素化レベル、ズームレベルの範囲、ジオメトリの結合、属性の操作など、ベクタータイルの生成オプションをご用意しています。MTS を使用して生成されたタイルセットは、Studio でスタイルを行い、他のベクター タイルセットと合成することができます。

MTS を使用すると、開発者はマップインフラではなくアプリ開発に注力できます

Mapbox ベクタータイルとは?

ベクタータイルは、点、線、ポリゴンなどの地理空間ベクターデータを保存する、軽量のデータフォーマットです。Mapbox ベクタータイルは、マップ上の大量のデータをスケーラブルで費用対効果の高い方法で視覚化できるように設計されました。Mapbox ベクタータイルは、ギガバイトを超えるような地理空間データソースをわずか数キロバイトに変換し、モバイルデバイスやブラウザ上でも複雑なデータの表示を可能にします。Mapbox ベクタータイル を使用するアプリケーションは、一般的なウェブでのコンテンツと同様に、キロバイトからメガバイト程度のデータとメモリを使用するマップ コンテンツを配信します。

MTSの主な機能は?

  • タイルセットレシピ:レシピは、簡素化、ズームレベルの範囲、ジオメトリの結合、属性操作など、ベクター タイルの生成オプションを提供します。(レシピレファレンスに記載)
  • ユーザー指定のフィーチャID: レシピはタイルセットの各フィーチャのIDを設定し、クライアントサイドのアニメーションとフィーチャのインタラクションを可能にします。例えば、Mapbox GLのsetFeatureState 機能は、各フィーチャのIDに基づいて実行時にフィーチャの状態(色やサイズなど)を更新できます。
  • バッチ データ アップロード: タイルセットを作成するには、最初に MTS でデータをアップロードします。一回のリクエストで10ファイル分のソースデータを同時にアップロード可能です。
  • タイルセット間で再利用可能なデータ: データをアップロードすると、同じデータを再アップロードしなくても、異なるレシピで異なるタイルセット間でデータを再利用できます。これは、マップ間で様々な組み合わせや分析を行うデータセットに便利です。
  • マルチレイヤータイルセット:最大20のデータレイヤーを持つタイルセットを作成し、それぞれ(のレイヤー)が独自のタイルセットレシピとデータソースを持ちます。スタイルに複数のタイルセットを追加するのではなく、スタイルで複数のデータレイヤーを1つのタイルセットに結合し、マップ(の表示)を高速化します。


MTSの事例は?

MTSはどのように動作しますか?

MTSがタイルを作成するにあたって2つの入力が必要になります:タイルセットソース(地理空間データ)とタイルセットレシピ(タイルセットソースをタイルに変換するオプションを指定するJSONドキュメント)です。


MTS とのやりとりを行うには Tilesets CLI または MTS API エンドポイントを使用します。

MTS はどの形式のソースデータをサポートしていますか?

MTS APIエンドポイントでは、改行区切りGeoJSON形式を使用します。標準の GeoJSON FeatureCollection 配列とは対照的に、改行区切り GeoJSON は JSON テキストシーケンスで、機能ごとに改行されています。


{"type":"Feature","id":1,"geometry":{"type":"Point","coordinates":[115.7,12.2]},"properties": "name": "Coors Light Field", "amenity": "Baseball Stadium", “open_status”: false, “popularity”: 150}}

{"type":"Feature","id":2,"geometry":{"type":"Point","coordinates":[125.7,12.2]},"properties":{"name": "Starbucks", "amenity": "Coffee Shop", “open_status”: true, “popularity”:50}}

{"type":"Feature","id":3,"geometry":{"type":"Point","coordinates":[135.7,12.2]},"properties":{"name": "City Park", "amenity": "Park", “open_status”: true, “popularity”:10}}


Tilesets CLIは、標準のGeoJSON FeatureCollectionと改行区切りのGeoJSONの両方が使用可能です。

他の形式のデータをMTSで変換できますか?

いいえ。ただ、地理空間データ形式をGeoJSONに作成・変換するオープンソースのツールが複数あります。例えば、以下のようなものがあります。

  • geojson.io、 GeoJSONの作成、変換、編集を行う。
  • togeojson、KML と GPX (XML フォーマット) を GeoJSON に変換するNodeパッケージ。
  • ogr2ogr、40-in-1の究極のベクターデータ変換ツール

Tilesets CLIは、標準のGeoJSONを取得した際、MTS APIエンドポイントで使用するために、改行区切りGeoJSONに自動的に変換します。Tilesets CLIの機能の詳細については、Tilesets CLIのドキュメントを参照してください。


gzipデータのアップロードはサポートしていますか?

いいえ、MTSは非圧縮の改行区切りGeoJSONソースのみをサポートしています。gzip圧縮データをアップロードするには、Mapbox Uploads APIをご利用ください。

MTS はソース データの再投影をサポートしていますか?

いいえ。すべての入力データは、GeoJSON仕様で指定されているWGS84経度・緯度座標でなければなりません。他の測地系からのジオメトリの再投影はサポートしていません。

衛星画像、航空画像、その他のラスターデータはMTSでサポートしていますか? 

いいえ、現時点では MTS はベクターデータのみをサポートしています。ラスターデータをアップロードするには Mapbox Uploads API をご利用ください。


タイリングのルール:レシピ

タイルセットレシピとは?

レシピとは、データをタイル化するルールを設定するJSONドキュメントです。レシピで指定されたルールは、データのプロパティに基づいて式を使って記述できます。レシピのルールの例としては、以下のようなものがあります。

  • ズーム5から16までアップロードされた竜巻データをタイル化
  • 7 倍未満のズームの場合、データセット内で最も人口の多い都市のみタイル化し、8 倍から 16 倍のズームでは、タイルごとに最も人口の多い上位 20 の都市/町のみをタイル化。
  • ズーム 10 までは、データセットから洪水の影響を受けた上位 5 つの地域のみを面積別にタイル化を行い、ズームレベルが 10 を超えると、洪水で影響を受けた8 ピクセル以上の面積を持つ地域のみを表示。

サンプルレシピはありますか?

MTS のサンプルレシピのページには、開発者用の一般的な事例と役立つレシピが掲載されています。Mapboxは、レシピ用のプレビューと品質向上に日々取り組んでいます。

タイルセットの最大ズームレベルは?

レシピの指定最大ズームは 16 で、これは ~13 cm の精度に相当し、/tilesets/v1/{id} への HTTP POST リクエストでタイルセットを作成する際に強制的に適用されます。

Mapbox はオーバーズームもサポートしているため、マップはズームレベル 16 を超えてもズームし、タイルセットのフィーチャは +/- 13 cmの精度になります。室内マップや、高精度マップを除きほとんどの場合、このズームレベルで十分だと思いますが、16 以上のズームレベルをご希望する場合は、お知らせください。


レシピをMTS に送信後、レシピを確認できますか??

はい。/tilesets/v1/{id}/recipe エンドポイントに HTTP GET リクエストを行ってください。

タイルセットレシピの更新は可能ですか?

はい。タイルセットのレシピを更新するには、/tilesets/v1/{id}/recipeエンドポイントにHTTP POSTリクエストを行ってください。


ただし、アクティブなマップスタイルで使用中のタイルセットのレシピのlayer_nameや他の属性を変更すると、マップスタイルが壊れてしまう場合がありますので、注意してください。スタイル用の重要なデータがレシピの更新と共に変更になる場合は、マップスタイルが適切に更新されたことを確認してください。

MTS はどのようにしてベクタータイルのサイズと性能を最適化しますか?

MTSで生成するベクタータイルのサイズは、地理データの密度、複雑さ、属性データの数、サイズで決まります。ベクタータイルを小さくするには:


  • フィーチャジオメトリを簡素化:各ユースケースに適した簡素化レベルを選択することは重要ですが、簡素化レベルを高くすると、より粗く、密度の低いフィーチャジオメトリになります。レシピのfeatures.simplificationフィールドで設定します。
  • 不要なデータ属性を除外:最終的なタイルセットのスタイルに必要なタイルの属性だけを残します。タイルサイズを縮小するには、必要な属性以外のすべてのデータ属性を除外します。レシピのfeatures.attributes.allowed_outputフィールドで設定します。
  • 不要なフィーチャを除外:最終的なタイルセットのスタイルに必要なズームレベルのタイル内フィーチャのみ残します。特定のズームレベルであるフィーチャをスタイルしない場合、該当ズームレベルから除外すべきです。レシピのfeatures.filtersフィールドを使って設定します。


タイルセットの1つのレイヤーを構成するフィーチャのサイズと数をレシピで十分に取り除けていない場合、タイルセットの各レイヤーは500KB未満になるまでランダムにフィーチャを削除し、マップの高速性を保証します。


ユーザータイリングサービス

MTS にデータをアップロードする方法は?

MTS の API エンドポイントの HTTP ドキュメントを読み、Tileset CLI を使用して MTS にデータをアップロードします。


MTS にデータをアップロードする方法は?

MTS の API エンドポイントの HTTP ドキュメントを読み、Tileset CLI を使用して MTS にデータをアップロードします。


Mapbox データセットは MTS と互換性がありますか?

既存の Mapbox データセットを MTS で使用するには、データセットを GeoJSON フィーチャコレクションにエクスポートし、Tilesets CLI を使用して MTS にアップロードします。

MTS用のMapbox StudioのようなUIはありますか?

MTSで作成されたタイルセットは、他のタイルセットと同様にStudioで表示やスタイル設定が可能です。現時点では、Studio経由でMTSのAPIエンドポイントは使用できませんが、将来、MTSのAPIエンドポイントをStudioに統合する予定です。


MTSにアップロードされた生データをダウンロードすることは可能ですか?

現時点ではできません。MTSで、アップロードされたデータを直接ダウンロードすることはできません。


タイルセットの作成前にプレビューできますか?

MTSのアップロードと公開のプロセスを経ずにタイルセットをプレビューする方法はありません。大規模なデータセットを扱う場合は、レシピの bbox または clip オプションで、小さなバウンディングボックスまたは任意のポリゴン (状態の形状など) を設定して、必要なデータのみをタイル化することをお勧めします。


タイルセットはバージョン管理を行っていますか? 

タイルセットではバージョン管理を行っていません。公開コマンドを送信後は元に戻すことはできません。タイルセットのソース、レシピ、タイルセットを作成する際に、ユニークなIDや名前を指定できる為、以前のバージョンのデータやレシピを使用したタイルセットを簡単に再公開できます。


日時ベースのタイルセットのソース名の例:

  • username.data-02-25-2019
  • username.data-02-26-2019
  • username.data-02-27-2019


バージョンベースのタイルセットIDの例:

  • username.data-v1
  • username.data-v2
  • username.data-v3


タイルセットの処理中にステータスや進捗状況を確認できますか?

はい。タイルセットのステータスを確認するには、/tilesets/v1/{ユーザ名}.{id}/statusにあるタイルセットのステータスエンドポイントにGETリクエストを行ってください。


フィーチャID

フィーチャ ID の形式は?

Mapbox Vector Tile 2.1 仕様では、ベクター タイルのフィーチャ ID は整数 (uint64) であることが要件となっています。このため、MTS は非整数 ID をタイルセット全体で一貫性のある整数ハッシュ表現に変換します。

  • 整数 ID: タイルセットソースに整数 ID フィールドが存在する場合、結果のベクタータイルフィーチャ ID は同じ値になります。
  • 文字列 ID:ID フィールド が存在し、値が文字列値であれば、結果のベクタータイルフィーチャ ID は、 その文字列に固有の 0 ~ 2^53 の整数ハッシュ値になります。
  • 浮動小数点値または空の文字列 ID:ID フィールドが存在し、値が浮動小数点値または空文字列の場合、または ID フィールドが存在しない場合、結果として得られるベクタータイルフィーチャ ID は 0 から 2^53 の間のランダムな整数になります。識別されていないフィーチャの ID が衝突する可能性は低いですが、フィーチャの構文解析は分散環境で行うため、ユニークな IDを保証できません。ユニークなIDを使用してください。
  • 重複したID:重複したフィーチャ ID はタイルセットで予期せぬ動作を引き起こす可能性があるため、 避けるべきですが、MTS は重複した ID を有効なものとして受け入れます。

タイルセットソースの ID が結果のタイルセットのフィーチャID と一致する必要がある場合、タイルセットソースで整数 ID を使用するか、レシピの add_to_attributes オプションを使用して、結果のベクタータイルに元のフィーチャIDを属性として保存します。


MTS はフィーチャプロパティをフィーチャ ID として使用できますか?

はい、レシピに features.id を含めることで、個別のフィーチャの ID を取得する場所をMTS に通知できます。


請求

MTS の価格は?

他の Mapbox 製品と同様に、MTS は無料利用枠があります。また、最大ズームが6未満に設定されたタイルセットは常に無料です。

無料利用枠を超えたご利用の場合は、従量課金モデルが適用されます。開発者は、タイルセットの処理とホスティング費用をお支払い頂くことになります。MTSの料金は、タイルデータの面積(平方キロメートル)、タイルセットの精度、レシピで指定された最大ズームに基づき決まります。

お問い合わせ


以下は、いくつかのユースケースの例で、MTSを使用した場合の年間の費用を示しています。

詳細は価格設定のドキュメントをご覧ください。