15 ポイント 投稿者 GN⁺ 2026-01-27 | 1件のコメント | WhatsAppで共有
  • MapLibre Tile(MLT) は、既存の Mapbox Vector Tile(MVT) を置き換える新しい次世代ベクタータイルフォーマットであり、大規模な地理空間データ処理の効率を高めるために設計されている
  • 最大6倍向上した圧縮率SIMD ベースの高速デコード性能を提供し、保存容量、レイテンシ、キャッシュ効率を改善
  • 今後は3D 座標(高度)、GPU ベースの処理、複合データ型、線形参照および m-values のサポートを目標に拡張可能
  • 現在は MapLibre GL JSMapLibre Native ですぐに利用可能で、デモタイル、変換サーバー、Planetiler を通じた生成をサポート
  • オープンソースコミュニティ、企業、学術界の協力によって開発されたフォーマットで、Microsoft と AWS の支援を受けて完成

MapLibre Tile の紹介

  • MapLibre Tile(MLT) は [Mapbox Vector Tile(MVT)] の後継フォーマットで、急増する地理空間データ量複雑な次世代ソースフォーマットを扱うために、ゼロから新たに設計された

    • 最新のハードウェアとグラフィックス API の性能を活用するよう設計されており、惑星規模の 2D および 2.5D ベースマップを高性能に処理・レンダリング可能
    • 現在の実装は MVT と機能的に同等だが、性能と効率の面で改善されている
  • 主な技術的改善点

    • 圧縮率の向上: 大きなタイルで最大 6 倍改善。カラム指向レイアウトと再帰的な軽量エンコーディングを適用
    • デコード性能の向上: SIMD / ベクトル化命令と組み合わせられる高速かつ軽量なエンコーディング構造
    • その結果、レイテンシの低減保存および転送コストの削減キャッシュ活用度の向上を実現

今後の拡張性

  • MLT は次のような将来機能のサポートを念頭に置いて設計されている

    • **3D 座標(高度)**のサポート強化
    • CPU および GPU の効率的処理のための保存・メモリフォーマット最適化
    • 線形参照(linear referencing)およびm-values のサポートにより、Overture Maps(GeoParquet) のような次世代フォーマットと互換
    • ネストされた属性、リスト、マップなどの複合型をサポート
  • MLT の発展方向はコミュニティの要望に応じて決まり、さまざまな拡張アイデアや貢献を歓迎している

    • 関連資料として、Markus Tremmel の FOSS4G 2024 発表スライドYouTube 講演ACM 論文が提供されている

利用可能時期と統合

  • MLT は現在すぐに利用可能

    • MapLibre GL JSMapLibre Native の両方が MLT ソースをサポート
    • スタイル JSON の encoding 属性に mlt の値を指定して利用できる
  • 体験および開発方法

  • MLT の利用経験共有のため、Slack の #maplibre-tile-format チャンネルGitHub イシュー / ディスカッションへの参加を推奨

謝辞と協力

  • MLT は学術界、オープンソース、企業の長年にわたる協力を通じて開発された
    • Markus Tremmel がフォーマットを考案し、Yuri Astrakhan がプロジェクトを主導
    • Tim Sylvester が C++ 実装、Harel MazorBenedikt VoglNiklas Greindl が JavaScript 実装を担当
    • MicrosoftAWS が開発資金を支援

注記

  • MLT は MVT と異なり、カラム内の値の型がフィーチャーごとに異なるレイヤーはサポートしない

1件のコメント

 
GN⁺ 2026-01-27
Hacker Newsのコメント
  • 土曜のFOSDEMのGeospatial devroomで行われるMapLibreの発表に参加してみることを勧める
    イベントスケジュールのリンク

    • 席があるならぜひ行ってみたい 😄
  • 例のページを少し見て、MLTで地図を表示する例と従来の地図表示の例を比較してみた
    コンソールログを見ると、約10%ほど圧縮効率が向上しているのを確認できた。かなり印象的だ

    • ただし、デモのタイルスタイルは実際のOpenMapTilesベースの本番用ベースマップとは比較しにくい
      MLTフォーマットにはさまざまな軽量エンコーディングが組み込まれており、タイルごとに異なる方式でエンコードすることもできる
      そのため最適な組み合わせを見つけるにはヒューリスティックなアプローチが必要で、タイルサイズとデコード性能の間にはトレードオフがある
      まだ初期段階だが、AWSが今年もMLT最適化作業を支援しているので、今後の改善余地は大きい
      ベンチマークではタイル全体のサイズより実際の使用パターンを見ることが重要だ — 誰も海のど真ん中を拡大したりしないので 😉
  • 最近pmtilesベースのソリューションをデプロイしたが、本当に満足している
    PMTilesドキュメントを参照
    pmtilesはMVTを使うが、今後MLTへ変換できるツールが出てくることを期待している

    • 実際のところPMTilesはタイル形式に依存しない。すでにMLTを含めるためにタイプバイトを更新するPRが上がっている
    • PMTilesはMVTだけでなく、PNG、JPEG、WebP、AVIFなどさまざまなフォーマットを格納できる。仕様書を参照
    • 自分はTilemakerでPMTilesをビルドしているが、MLTをTilemakerで生成するにはかなり多くの作業が必要そうだ 😅
    • pmtilesは本当にシンプルで革新的なソリューション
  • MapLibreはブラウザで地図を表示するためのJSライブラリとして、これまで使った中で最高だ
    新しいフォーマットへ移行することを思うと楽しみだ

    • 完全に同感 👍
  • Planetilerでは--tile-format=mlt CLIオプションでMLTを生成できる
    現時点ではmainブランチにしかないが、まもなくリリース予定だ
    テスト結果ではデフォルト設定でOpenMapTilesアーカイブのサイズが約10%減少した。追加の最適化も進行中だ

  • 残念ながらTilemakerは中期的にMLTをサポートする計画がない
    そのためコミュニティの一部は移行から取り残される可能性がある
    関連する議論はIssueスレッドを参照

    • それでも後から変換は可能だ。MVTからMLTへ変換するJavaベースの変換プログラムがリポジトリにある
  • ベクターファイル形式が今なお新しく再発明され続けているのは興味深い
    圧縮率やデコード速度の向上は理解できるが、この設計を導いた新しいアイデアや洞察が何なのか気になる

  • このプロジェクトをしばらく追ってきたが、本当に楽しみだ
    MapLibreスタックの利用者として、最後に残る大きな課題はPostGISにAs_MLT()関数が追加されることだと思う

    • そしてGeoServerのサポートも必要だ
  • 地図をセルフホスティングしている人はいる? 長所短所や使っているツールが気になる

    • 私たちは数年前からprotomaps(pmtiles) をセルフホスティングしている
      サーバーは静的ファイルをrange requestで配信できれば十分だ(CaddyでもNginxでも可能)
      地図は1つの大きなファイルなので、複数サーバー間での共有も簡単だ
      欠点はほとんどないが、クライアント側にカスタムプロトコル対応ライブラリを追加する必要がある
      スタイル編集は少し厄介だが、Maputnikエディタでprotomapsスタイルを読み込んで修正できる
      ガイド文書を参照
    • 私もpmtilesでオーストラリア地域の店舗検索マップをセルフホスティングしている
      全世界の低解像度地図(50MB)とオーストラリアの高解像度地図(900MB)を別々に作ってS3にアップロードした
      最新データは不要なのでそのまま使っているが、とてもよく動いている
    • 印刷用の高解像度地図を作るプロジェクトでも、セルフホスティングが唯一の解決策だった
      商用APIは300dpiラスタ生成コストが高すぎるか、再販制限があった
    • 私もセルフホスティングしている。利点はデータとスタックを完全に制御できることで、欠点は自分でスタックを構築してクラウドを管理しなければならないことだ
      PostGISでベクタタイルを保存・配信し、AWS S3にGeoTiff COG形式でラスタデータを保存している
    • 私たちはmod_tile+renderdを使っている
      OSMから関心地域(コロラド)のpbfをビルドし、openstreetmap-tile-serverコンテナを立ち上げた後、スタイルを適用してrenderdでレンダリングしている
  • MLTも素晴らしいが、3Dタイルフォーマットでもこうした進展があってほしい
    現状ではCesiumの3D Tilesが事実上唯一の選択肢だが、性能は期待するほど速くない