Tag Archives: Vector tiles

エンジニアワーキンググループより、ベクトルタイルに関する進捗報告

OpenStreetMap財団のエンジニアリングワーキンググループより、openstreetmap.orgのベクトルタイル作成に関する最新情報をお知らせします。 この作業が重要な理由、これまでの進捗状況とコミュニティのフィードバックを取り入れ方、さらに詳しい技術的な詳細についてご紹介します。

背景

現在、openstreetmap.orgウェブサイトではピクセルで構成される画像タイル、すなわちラスタータイルを配信しています。しかし現在、サイトにベクトルタイルを導入する取り組みが始まっており、地図の見た目と動作が改善されます。プロジェクトの背景については、こちらで詳しく読むことができます。

ベクトルタイルでは、ポイント、ライン、ポリゴンといったベクターデータとして地図が配信されます。ベクトルタイルでは、格納される地理データ(例えばOpenStreetMapを構成するデータなど)はダイナミックなスタイリングとインタラクティビティが可能になります。ユーザーにとって、ベクトルタイルはopenstreetmap.orgでの滑らかなズームが可能な新しくモダンなマップスタイル、データ変更時の迅速な地図更新、よりよいパフォーマンスをもたらします。

さらに今後に焦点を当てた時、このベクトルタイルプロジェクトで実現できる最もワクワクする部分は、ボランティアやタイル利用者の参画が可能になることです。例えば、3D地図、より効率的なデータの組み合わせやその他のデータセットの統合、テーマスタイル、多言語対応の地図、行政境界の異なる表示、インタラクティブな観光地点、視覚障害者向けのより利用しやすい地図、そしてまだ誰も思いついていない他のアイデアが生まれることが期待されます。OSMコミュニティの人々の長年の関心事だったことが多く実現できることでしょう。

計画

ベクトルタイルプロジェクトの目標は、openstreetmap.orgで機能するベクトルタイルの動作環境を一式を提供することです。つまり、世界中のユーザーやサービスから大きな需要があり、地図の根底となるデータが常に変化する、世界規模の複雑なベースマップサイトです。

技術的に言えば、高負荷の世界規模の複雑なベースマップにおいて、毎分単位の更新が必要な動作環境を作成します。

Paul Normanさんが、ベクトルタイルプロジェクトを主導しています。

彼はPostgreSQLデータベースからベクトルタイルを生成する Tilekilnプロジェクト に機能を追加し、ベクトルタイル内のレイヤーやプロパティの命名方式である Shortbreadスキーマを活用し、OSMデータをPostgresデータベースに追加できるThemeparkの改善を行っています。

作業は3つのステップに分かれています。 

1. TilekilnおよびShortbread Themeparkの改善、第1ラウンド

2. 並列処理の改善

3. Shortbreadの本番環境公開

最初の2ステップはほぼ完了しています。Tilekilnは今や並列でタイルを生成できるため、世界全体のタイル生成が実用的になりました。次のステップはOSMFのハードウェアへの本番環境導入の準備です。  

ステップ1の技術的詳細

作業中の技術的詳細に興味がある方のために、上記第1ステップの5つの主要コンポーネントをご紹介します。

        1.        Tilekilnのパッケージ自動化

        2.        Prometheusエクスポーターによる、Tilekilnメトリクスの公開

        3.        Themepark Shortbreadのレビュー

        4.        毎分ごとのShortbreadタイルの更新とオンデマンドのタイルレンダリングを行うデモサーバーの運用

        5.        コミュニティへのデモの公開

1と2は議論の必要なく完了しています。3については、osm2pgsqlのThemepark Shortbread実装にレイヤーが欠けているなど、Paulさんがいくつかの問題を発見したため、予想以上の工程が必要だと判明しました。  

4と5は完了しています。Paulさんのデモサーバーは1分ごとの更新で動作しており、必要なハードウェア要件は予想より控えめでした。  

コミュニティからも有用なフィードバックが寄せられています。例えばPaulさんのOSMコミュニティフォーラムへの投稿へもフィードバックが投稿されています。

コミュニティからは多くの提案がありました。その中にはすでに取り入れられたものもあります。コミュニティから提案された範囲内の残課題は、曲線がギザギザに描画されること、ベクトルタイルが大きすぎることです。

ギザギザの線の問題は、ベクトルタイル内でスムーズな曲線がどのように表現されているかによるものです。おおむね対処済みですが、同様の問題が将来的に発生することが予想されます。標準タイルレイヤーの最小縮尺に相当する縮尺が設定されました。より小さなスケールにズームインすることは可能ですが、新しい課題が現れ始める可能性があります。

ベクトルタイルのサイズ最適化は今後も継続的に取り組む必要がある課題です。現在のタイルは特に大きくなっています。このテスト期間中に、サイズを半分に削減する変更が加えられましたが、今後も最適化の課題は残り続けます。タイルサイズがユーザーエクスペリエンスに最も大きな影響を与えるからです。

生成されているタイルは使用可能ですが、さらなる作業が残されています。並列処理の作業が完了したことにより、テストのために大量のタイルを生成できるようになったため、Paulさんの作業は再度、タイルサイズの改善と残りの問題の修正となります。ただし、現在のタイルは 使用可能です。

使用されているツールについて

このプロジェクトで使用されている様々なツールについて紹介します。

Tilekiln は、Paul Normanさんが作成した、PostgreSQLデータベースからベクトルタイルを生成するソフトウェアです。代替ツールとしてmartin(またはt_rex)があります。Tilekilnは新しい開発段階にありますが、ベクトルタイルデータを生成するために多くの標準的なPostgreSQLの機能を使用しています。ほとんどのOSMベースの地図(osm.orgのosm-cartoを含む)は、PostgreSQLデータベースからのSQLデータベースクエリから生成されています。Tilekilnは同様のクエリからベクトルタイルを生成します。Tilekilnはまだ開発されてそれほど日が経っていません。

Themepark は、osm2pgsqlツールスイートの一部で、OSMデータをPostgresに追加し、それらの処理ステップを他のプロジェクト間で共有できるようにするものです。多くのPostgreSQLベースのOSMマップスタイル(osm-cartoなど)がosm2pgsqlを使用しています。  

osm2pgsql はOSMで15年以上の歴史があり、多くの場所で使用されています。Paulさんもコードに貢献していますが、主要な開発者ではありません。osm2pgsqlは最近数年で高度化し、より良くなっています。その強みの一部はデータの前処理にあり、Themeparkはこれらの前処理ステップを簡単にしようとする試みです。

Shortbread はGeofabrikが作成した「ベクトルタイルスキーマ」です。ベクトルタイル内のレイヤーやプロパティの命名方式のデータフォーマットとなっています。

This blog posts contains contributions from Adam Hoyle, Mikel Maron, Amanda McCann, Paul Norman, and Andrew Wiseman

The OpenStreetMap Foundation is a not-for-profit organisation, formed to support the OpenStreetMap Project. It is dedicated to encouraging the growth, development and distribution of free geospatial data for anyone to use and share. The OpenStreetMap Foundation owns and maintains the infrastructure of the OpenStreetMap project, is financially supported by membership fees and donations, and organises the annual, international State of the Map conference. Our volunteer Working Groups and small core staff work to support the OpenStreetMap project. Join the OpenStreetMap Foundation for just £15 a year or for free if you are an active OpenStreetMap contributor.

2024年: OpenStreetMapベクトルマップの年

本年、OpenStreetMapは、 openstreetmap.org に対してベクトルタイルを導入することにより大きな飛躍を遂げます。これは、その進捗状況を共有する第一報であり、今後も引き続きブログでの報告を行う予定です。

ベクトルタイルプロジェクトを主導にあたって、OpenStreetMap Foundationは地図調製とオープンデータの分野で著名なPaul Normanさんを採用しました。Paulさんは、2010年にxkcdフォーラムでの偶然の出会いからOpenStreetMapの旅を始め、2013年にはOpenStreetMap Cartoでの仕事でコミュニティでの役割が本格化しました。OSM Foundationへのボランティア参加歴はプロジェクトへの彼のコミットメントを占めており、複数のワーキンググループへの貢献やOSMF理事の在任などが挙げられます。職業上では、MapQuest、CartoDB、Wikimedia Foundation、Amazonで様々な影響力のあるポジションを務めており、数十億人が彼の仕事の成果を目にしています。  Paulさんの詳細な情報は彼のブログ に詳細があります。 また、ベクトルタイルに関する技術的な詳細については、Mastodon または Twitterのフォローをお願いします。

ベクトルタイルは、地図データが処理および表示される方法における重要な進化のひとつです。 . 伝統的なラスタタイルは静的な画像 であり、ピクセルによって表現されますが、ベクトルタイルはマッピングの世界における “SVG” のような技術です。これにより、地理データが動的なスタイリングとインタラクティブ性を可能にする形式で保存され、データを変更することなく地図表示の視覚的な外観を適応させることができます。これは、他の地図で見たことのあるものと同じようなもの、と思われるかもしれません。はい、まさにそれです!  ベクトルタイルは、openstreetmap.orgとは違って頻繁に更新されることがない対話的なマップで業界標準の技術であり、必要に応じてデータベース全体を単純に再計算できる状態となります。

ただし、 openstreetmap.org に表示される地図は、その他の地図とは全く異なっています! OpenStreetMapの地図は、常に、編集した1分後には更新されます。これはマッパーへのフィードバックループの重要な部分であり、このブログを投稿している私が最初に引き込まれた理由です。なぜ私たちが、独自のベクトルタイルソフトウェアスタックに投資しなければならないのか、その理由がまさにこれなのです。

直近の未来では、ユーザーにとって、 openstreetmap.orgにおける新しくモダンな外観の地図スタイルとシームレスなズームを意味します。より先の未来を見据えると、このベクトルタイルプロジェクトが成立することによってボランティアやタイル利用者が利便に感じる最も素晴らしい部分は無数のアイデア、例えば3Dマップ、効率的なデータのミキシングとマッチング、他のデータセットとの統合、テーマ別のスタイル、多言語マップ、行政区画の異なるビュー、Point of Interestのインタラクティブな表示、視覚障害のユーザー向けのよりアクセスしやすい地図表示など、まだ誰も考えつかないであろう多くのアイデアであります。このベクトルタイル技術は、審美眼的な進化だけでなく、機能面でも大きな飛躍であり、全体的なユーザーエクスペリエンスを向上させます。

2021年の コミュニティ調査 (15ページ参照)では、財団がベクトルタイルに対して何をすべきか、明確な意見がありませんでした。ただし、アプローチについて、ボランティア主導の開発を支持する人もいれば、専門家の参加を支持する人など、いくつかの志向を読み取ることができました。その後、エコシステムは進化し、既存のソフトウェアの上に仕組みを構築することが容易になりました。私たちはこのプロジェクトを、2つの人気のある回答の間でバランスがとれた形態であると見なしています。  コアソフトウェアへの投資も、私たちの数年にわたる戦略計画の一環です。

OpenStreetMap Foundationは、このプロジェクトを完了するために寄付に依存しています。特に私たちのベクトルタイルの年をサポートしたい場合は、  寄付メッセージ に”vector tiles”と記入できます。 どんな形の貢献も、大きな貢献も小さな貢献も、OpenStreetMapがすべての人に対してオープンでアクセス可能でダイナミックであることを確実にしようとする私たちの試みを、直接的に支援するものとなります。あなたの支援はただの寄付ではなく、オープンソースマッピングの未来への投資となります。

私たちはこのワクワクする旅をはじめたばかりです。これからのブログ投稿では、スキーマとスタイルの側面にさらに深く踏み込んでいきます。お楽しみに!