ファイル形式

データにもいろいろな種類があるように、地理データもコンピュータへ保存する際の方法としていくつか選択肢があります。例えば、地理情報を格納したり取り出したりするためのデータベースへ格納することもできますし、そのための専用システムも存在します。また、一般的なファイルとしても保存することができ、そのための形式も多種多様なものがあります。

この項目では、地理データを格納するための方法について、その動作原理と、一般的な使い方について解説します。

.OSMファイル

.osm は、OpenStreetMap専用のファイル形式です。OpenStreetMap以外ではこの形式を利用していません。JOSMを使ってOSMデータをダウンロードし、データをファイルとして保存すると、そのファイルに拡張子として .osm が付与されます。GISを使ったことがあれば、このファイルをQGISなどで開くことが簡単ではないことに気がつくと思います。

では、なぜOSMデータは他の誰も使わないような形式で格納されているのでしょうか。答えは、かつて地理データを保存していた様々な形式が、高速なアクセスと、データベースのようにクエリをかけられるようにデザインされていたためです。OSMデータはその流れとは異なり、一定のフォーマットを使ってインターネット越しにデータの送受信が簡単にできることを目的としてデザインされています。そのため、 .osm ファイルはXMLでコーディングされ、構造的で順列に厳格な形式によって地理データを格納しています。単純な .osm ファイルをテキストエディタで開くと、以下のように表示されます。

example osm

.osm 形式のデータを入手するのは簡単です。例えば、JOSMで編集のためにデータをダウンロードする際には、毎回この形式でファイルをダウンロードしています。ですが、これらのファイルを地図デザインや分析に利用するのは一筋縄ではゆかない作業です。そのため、こうしたデータを自分自身で変換するか、あるいは変換をおこなってくれるサービスを使って変換するなどしてから処理を行うのがよいでしょう。

OSMの生データは多くの場合 .osm ファイルに格納されます。 ですが、サイトで配布される際には .bz2.pbf という拡張子がついていることもよくあります。 これらのファイルも根本的には .osm 形式で、 .osm のファイルを圧縮して容量を削減したものになります。こうした形式は、特に大きなファイルを扱う際にとても有用です。

Shapefiles

shapefile は、ベクタ地理データを格納するために広く利用されている形式です。GISアプリケーションとして一般的なソフトであるArcGISを制作しているESRI社によって開発されました。

shaefileは複数のファイルの集合体です。例えば建物データを格納しているshapefileでは以下のファイルを利用しています:

  • buildings.shp
  • buildings.shx
  • buildings.dbf

shapefileにはさらに、他の情報を格納するための追加ファイルが加えられることがあります。

shapafileでは、1つの地物タイプ(ポイント、ライン、ポリゴン)のいづれかだけを保持するようにできています。また、それぞれの地物は、その属性情報を表形式で保持します。OpenStreetMapではオブジェクトが保持するタグの量に制限はありませんが、shapefileで地物が保持できる属性情報はshapefileごとに定義された表におさまる形でしか記載できません。具体的には、以下のようになります:

shapefile attributes

OpenStreetMapのデータを shapefile に変換することも可能です。多くのウェブサイトが、OSMデータから変換したshapefileを配布しています。詳しくは次の章で紹介します。

データベース

データベースとはデータの構造とアクセスを論理的に処理する仕組みであり、そこにはさまざまな情報を登録することができます。データベースには地理データも格納することができます。ただし、地理データを扱う際に必要となる複雑な処理をこなすため、特殊な変更を加える必要がある場合があります。

OpenStreetMapのデータはPostGIS拡張を加えたPostgreSQLへ格納することがほとんどです。この仕組みは対象となるデータへの高速なアクセスが可能であり、スリッピーマップで利用する地図タイルを作成するためのソフトウェアのひとつ Mapnikなどからの利用も容易です。PostgreSQLデータベースへOSM生データをインポートするには、いくつかのツールが既に用意されています。

もうひとつよく利用されるデータベースは、SQLiteと呼ばれます。SQLiteは基本的にPostgreSQLと同様に動作しますが、すべてがひとつのファイルとして格納され、処理を実行する際にデータベースソフトウェアを必要としない、という特徴があります。データベースの作成作業が少々難しくはなりますが、小さなデータセットを扱うにはこちらのほうが処理が簡単になります。

まとめ

次の章では、インターネットを介してさまざまな形式のデータをダウンロードし、取得したOSM生データを操作するためのツールをどのように使えばよいかを紹介します。

 

CC0
Official HOT OSM learning materials