OpenStreetMapプロジェクトが米国TIGERデータのインポートを完了

 OpenStreetMap(OSM)プロジェクトが、米国内の街路および幹線道路を対象とした広域データの大規模なインポート作業を、当初の予定より何か月も前倒しで完了した。この巨大なデータセットの出所は米国勢調査局によるパブリックドメインの地図データベースで、そのインポートのために専用のアップロード処理の実行が2007年8月から休みなく続けられた。インポートされたデータに対してはさらに人手による編集と誤りの訂正が必要だが、このインポート作業の完了はOSMプロジェクトにとって大きな区切りとなる。

 10月の記事にあるとおり、OSMのDave Hansen氏は、国勢調査局のTIGER(Topologically Integrated Geographic Encoding and Referencing)システムからデータを取得してOSMで使える形式にオフラインで変換するというやり方を取った。

 それで満足のいく結果が得られると、プロジェクトは3つの専用デーモンを一斉に稼働させてOSMのメインシステムへのデータのインポートを開始した。インポートされたすべてのデータが手作業で収集されたGPS軌跡データと同じようにOSMサーバのAPIを通るようにするには時間がかかったが、APIを通さずにデータベースを直接変更しようとするよりは安全な方法だった。

Quadtilesの活用

 インポート開始時には、完了が2008年の5月下旬~6月上旬になると予測されていた。だが幸運なことに、管理者のTom Hughes氏が4分割方式を利用してデータベースのインデキシングをやり直す方法を発見し、データベースの検索時間が大幅に短縮されたのだった。

 Quadtilesは地図を再帰的に4分割するもので、詳細情報が必要な部分だけをさらに分割することで記憶領域の利用効率を向上できる。たとえば、領域全体が海で道路のない部分はそれ以上分割する必要はないが、大都市の中心街であればさらに分割を行うわけだ。

 4分割方式のキーによるデータベースのインデキシングは、結果的に2つの利点をもたらした。まず、キーのデータ長が短くなる。以前の緯度/経度によるインデックスの16バイトに対し、32ビットで済むので、必要なメモリ領域が減少する。また、階層的な特性により、地理的に隣接するノードどうしはデータベースのインデックスも近くなるので、キャッシュのパフォーマンスが向上する。

 新しいデータベースインデックスは、インポートの速度だけでなく、すべてのAPI要求の処理速度に好ましい影響を与えたため、Hughes氏にはその他のOSM関係者からその功績を讃える賞(lolcat of awesomeness)が与えられた。

実稼働開始で一般ユーザによる協力が可能に

 TIGERデータセットでカバーされるのは地球の全地表の6%である。インポートが首尾よく完了したからといって、作業がすべて終わったわけではない。TIGERの地図データでカバーされている地域のGPSログを独自に収集して得たデータをアップロードしている利用者からは、TIGERの地図情報に散見される問題が報告されている。道路位置のずれ、地物の記載漏れ(流入ランプや連絡道、中央分離帯の欠落)、行き止まりなどに関する誤表示といった問題だ。そもそもTIGERの地図データは航空写真をもとにして、国勢調査局の職員による現地作業を支援するために作られたため、こうした問題の発生は避けられず、公式な訂正が行われる可能性も低い。

 そうした欠点はあっても、データがまったくないことを思えばTIGERデータの存在意義は大きく、コミュニティによる改善作業の優れた基礎データとなる。OSMは関心のあるユーザにチュートリアル有益なヒント集を提供し、彼らが遭遇した問題を修正できるようにしている。各自でGPSルートを収集しているユーザは、OSMプロジェクトによって開発されたJava Open Street Map Editor(JOSM)を使ってインポート済みTIGERデータの誤りを修正することが可能だ。

 OSMにはもう1件、インポートに取り組んでいる大規模データがある。2007年7月にAND Automotive Navigation Dataから寄贈されたオランダの全道路地図とインドおよび中国の幹線道路地図だ。オランダの道路地図のほうは昨年秋にインポートが完了したが、インドと中国のインポート用データはまだOSMプロジェクトに提供されていない。

 ほかにも大規模な地図データの寄贈が見込まれているが、近い将来に予定されているものはない。ANDおよびTIGERの地図情報が加わったことでOSMプロジェクトは順調に進行しているが、今後の膨大な作業の行方は全データに対して情報の追加や修正を行う個々のユーザの手に委ねられている。

Linux.com 原文