Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

Webサービスとラスター/ベクトルデータについて考える

Webサービスにおけるラスター・ベクトルデータの使い分けについて考えようと思います。

私自身、MapboxやOpen Street Mapを通じて、地理情報データを扱う機会が多いです。

ラスターデータとは?

  • .tif
  • .png

といったグリッド形式のデータです。

ベクトルデータ

  • Line
  • Polygon

などの点・線などで表現されるデータです。

Webで扱うにあたり

それぞれのデータをそのまま使っても、もちろん構いません。

ただし、データの量の増大に伴って処理が大きくなる課題があります。

そこで、Cloud Optimizedな処理方法が必要です。

ラスターデータでは、COG(Cloud Optimized Geotiff)形式がデファクトスタンダードです。

ベクトルデータでは、完全に決まってない状況ですが、私自身はPMTileを使うことが多いです。

データ量の多い昨今では、ラスターデータ・ベクトルデータそれぞれは、上記のファイル形式に変換することが多いです。

では、どのようなときに・どちらのファイルフォーマットを使うべきでしょうか?

結論は、

離散的なデータを扱うときはベクトルデータ、連続的なデータを扱うときはラスターデータだと思っています。

なぜ?

ベクトルデータは、点・線などのあらゆるデータを表現できます。

ただし、カラーリングにおいて、そのデータの持つ情報について一意に色を定める必要があります。

ラスターデータは、格子データを表現します。

この格子データに対して、範囲を指定してカラーリングできます。そのため、データの持つ情報についてselectiveにカラーリングができます。

私自身の現時点(2024.03.02)時点での感想です。なにか認識に誤りがあれば教えてもらえると嬉しいです。