たなかとしひ
さ
![]() |
|
2009 年度 12 月の Debian 勉強会のお知らせで、 http://www.openstreetmap.org/ にアクセスして、 お住まい近辺の地図 を見て頂けたらと案内しました。
ご覧になられた皆さん、 感想はいかがでしょうか。
「すげぇ、 素晴らしい!」
「Google Map の廉価版?」
「Debian と何の関係があるのさ?」
等など、 色々な感想があると思います。
今回の勉強会では、 Debian System の応用として、 Debian を使って、 この OpenStreetMap(以降、 OSM と表記) につい て、 一緒に勉強していきましょう。
OpenStreetMap は道路地図などの地理情報データを誰でも利用できるよう、 フリーの地理情報データを作成 することを目的としたプロジェクトです。 自由に使えると思っている地図の多くが実は法的・技術的に問題が あり、 人々がクリエイティブに、 生産的に、 あるいは今まで予期しなかった方法でそれを利用する事を妨げて いるため、 このプロジェクトは開始されました。
今回の関西 Debian 勉強会は、 従来のテーマとは異なり、 異色でもあります。 「OSM って、 Debian と何か関係あるの?」 と言 われると、 確かに強い関係…はありません。
しかし、 Debian System と OSM を組み合わせる事で、
「自由度の高い」 地図ソフト環境
が実現できます。 これは、 画期的な事だと筆者は考えています。
Debian System で、 どれだけ素晴らしい地図ソフトが .deb になって apt で得られるとしても、 地図データが無ければ魅力 を欠きます。
Debian System を始めたとした Linux ディストリビューションは、 「自由に使う事が出来るコンピュータソフトウェア環境」 を実現できるものですが、 それと OSM とを組み合わせる事で、 自由に使う事が出来るコンピュータソフトウェア環境の中に、 「地 図 の 閲 覧 」 を 含 め る 事 が 出 来 ま す 。
Debian System もそうであるように、 OSM もまた、 「一部の特権階級」 のものではありません。 望めば、 誰でもが自由に使 う事が出来ます。 OSM は、 使うには一苦労かかる事もしばしばありますし、 地図自身、 日本国内では十分に揃っているとは言 えない状況です。
しかし、 誰でもが、 自由に使える地図データを提供できる事は、 Debian が目指すゴールと重なります。
また、 「単に Debian を使う」 だけでなく、 Debian の応用事例を増やす事は、 Debian コミュニティに取っても有益と考えて います。 Debian System は、 サーバ、 医療、 組込みなど、 様々な分野で使われています。 その中に「自由に使える地図環境」 を加える事が出来ます。
OSM の地図データは、 Creative Commons Attribution-ShareAlike 2.0、 簡略系で書くと CC BY-SA (表示-継承) です。 *2
なお、 OSM の地図データのライセンスは、 2009 年 12 月現在 Open Database License (ODbL) への移行が検討されていま
す。 12 月の関西 Debian 勉強会実施頃には、 もしかするとライセンスが変更されているかも知れません。
*急募*
日本の OSM コミュニティは、 ODbL に関する情報を必要としています。 ODbL に詳しい (出来れば) 日本語の情報がありま
したら、 筆者までお知らせ下さいますと助かります。
ODbL は、 日本ではまだ認知が低いためか、 日本語の情報が少なく、 どの様な情報でも構いませんので、 筆者までお知らせ
下さいますと助かります。
OSM の地図データはベクトルデータです。 http://www.openstreetmap.org/ や、 http://osm.jp/ から参照できる地
図画像は、 そのベクトルデータをビットマップデータへレンダリングしたものです。
地図データがベクトルデータなので、 地図の表現能力自身は、 ビットマップに比べると劣りますが、 ベクトルデータの場合、
拡大・縮小が自由に行える事と、 ルート探索が可能になります。
OpenStreetMap の地図データを用いたルート探索サービスを提供しているサイトの一つに、 CloudMade があります。
CloudMade の地図サイト ( http://maps.cloudmade.com/) にアクセスして、 大阪 (梅田) から、 関西 Debian 勉強会まで
のルート探索結果を下記に示します。
OSM の地図データ自身がまだまだ不足している事と、 地図データの精度が足りないので、 期待したルート探索結果
にはまだならないかも知れませんが、 この様なルート探索が行える可能性を OpenStreetMap は持ってい
ます。
OSM の地図データの作成は、 OSM へのアカウントを登録すれば誰にでも作成、 編集が可能です。
2009 年 5 月に、 OSM ユーザ数は 100,000 を越えました。 右に、 その登録者数と作図データの推移グラフを示します。 (出
典: http://www.opengeodata.org/2009/03/17/osm-passes-100000-users/)
地図データの作成は、 Wiki の考え方が根本にあります。 A さんが作図したデータを B さんが修正する事が可能です。 Wiki の
悪い面いわゆる「荒らし」 的な事も、 やろうと思えば出来てしまいますし、 地域によっては「編集合戦」 があるのも事実
です。
しかしながら、 Wiki ベースであるので、 「より良い方向に向かって修正する」 事が可能であり、 例えば一方通行の方向が逆
である事を見つけた場合、 アカウントを持っていれば修正する事が出来ます。
GoogleMap は実に便利ですが、 基本はオンライン、 要するにインターネットに繋がっている環境下である事が前提にありま
す。 また、 GoogleMap が提供する地図は、 事前に Google の書面に同意を得る事無しに独自の技術によるアクセスや地図の複
製は出来ません。
出典:
これは、 オフライン対応地図閲覧ソフトは、 Google Map の地図データを書面による同意無しに使えない事を意味します。
オフラインでも地図を閲覧できるソフトに Mobile GMaps ( http://www.mgmaps.com/) があります。 これはオンラインで
もオフラインでも使用できる PDA や SmartPhone 向け地図ソフトですが、 上記の理由から、 このソフトは Google Map の
地図に対応していません。
誤解の無い様に付け加えると、 筆者は GoogleMap のあり方は問題視していません。 GoogleMap が提供するサービスは、 こ
れらを補うに十分と考えています。
大事な事は、 インターネットがどこでも安価に使える様になったとは言え、 それは「全世界から見ればごく一部」 でしか無い
と言う事です。 日本でも、 山間の地域に行くと、 携帯も圏外になる場合があります。
この様な場合でも、 地図データをオフラインで持っておけば、 圏外でも地図を閲覧できますし、 圏内でもパケット課金を気に
する必要はありません。
OSM の地図データをオフラインで見られるソフトの一つに、 navit ( http://wiki.navit-project.org/index.php/OpenStreetMaps)
があります。 navit は後の章で紹介します。
筆者はバイクに乗り、 アチコチに移動するのが趣味で、 GPS を持って出かけてログを取って後で眺めたりします。 その時、 「単
にログを見る」 だけではなく、 「そのログを元に地図を作図する」 事が出来れば、 さらにより良いと考えてい
ます。
筆者が OSM に地図データをコミットし始めた頃は、 大阪は殆ど何もありませんでした。 記憶ですが、 名神か阪神高速の一
部があった程度です。 どなたか、 大阪を通過された方が作図されたのだと思います。
筆者はまず、 大阪のシンボル御堂筋を作図しました。 続けて、 四ツ橋筋を作図しました。 当時は「広大な白地図」 でしたの
で、 どこを走っても作図できましたが、 最近の大阪の OSM 地図の発展は目覚しく、 少し考えてログを取らないと、 誰かが既に
作図済みの所を走っているだけになります。
近畿地方で最も OSM の作図が進んでいるのは、 滋賀県長浜市の OSM 地図と考えています。 滋賀県長
浜市の OSM 地図発展は目覚しいもので、 「よくぞここまで作図したものだなぁ・・・」 と感嘆する事しきり
です。
筆者は、 「自由に使える地図を【使いたい】 」 と言う理由で OSM に注目し始めました。 が、 ミイラ取りが
ミ イ ラ と 言 う 訳 で は あ り ま せ ん が 、 目 的 が 「自 由 に 使 え る 地 図 を 【作 る こ と 】 」 に 変 って き て い る の も 事 実
です。
筆者は常々、 事 OpenSource の成果は、 地元社会にもつながればと考えています。
プログラミング言語 Ruby は、 島根県の IT ならびに OpenSource 促進に良い影響を与えたと考えています。 OSM は、 そ
れと同じ効果を持ちえると考えています。
「地図」 と言うのは、 OpenSource コミュニティに限らず、 誰にでも一応の興味があります。 私の母はコンピュータ環境と無
縁な生活を送りつづけていますが、 母は山歩きが趣味なので地図帳は持っています。
また、 日本は地震が多いので、 避難場所への地図を載せた看板を目にすると思います。 筆者は、 OSM が地震等の災害発生時
に役に立つ日が来ればと考えています。 地震等の災害で、 道路が分断された場合、 どこからどこまでが通行不可なのかどうか
を、 迅速に反映できる仕組みを、 OSM は持っていると考えます。
また、 視力が弱く、 地図を見る事が出来ない場合にも、 OSM の地図をベースに「触地図」 を作ってみたケースがあり
ます。
現在の OSM の地図データは、 日本国内で見れば、 まだまだ足りないのが現状ですが、 「地図」 は殆どの人には、 少なからず
関係があるものですので、
この様に、 様々な形での応用を OSM は持っています。
OSM への参加は、 http://wiki.openstreetmap.org/wiki/Ja:Beginners_Guideを参考にすると良いでしょう。 基本的
には下記の事をしていきます。
OSM は、 地図データのアップロードは「OSM アカウント」 を用いますが、 それ以外にも OSM の Wiki ページ (
http://wiki.openstreetmap.org/) がありますので、 OSM に関する情報公開に用いると良いでしょう。
アカウントの作成は初めの 1 回だけですが、 後々の GPS ログのアップロードや作図では OSM アカウント情報が必要
です。
OSM 作図の流れ図を下記に示します。
GPS ロガーを持って、 まだ地図データの無い白地図の所に行き、 GPS データをログしていきます。
「マッピングパーティ」 と言う催しがあります。 これは、 OSM 同好の集まりで GPS 等を持ってログを取る催しです。 この
「マッピングパーティー」 に参加するのも良いでしょう。
GPS ロガーのデータを GPX 形式にして、 OSM サーバにアップロードします。
技術的には、 GPS ログデータをアップロードしなくても作図そのものは可能ですが、 「GPS を元にした道である事」 への根
拠として、 GPS ログデータはアップロードしておいた方が良いでしょう。
GPS ログデータを元に、 OSM 作画エディタを使って、 実際に作図していきます。
GPS ログデータは、 点データの集合ですので、 それを OSM 作図エディタで繋いで行き、 線にしていき
ます。
次に、 その線データが国道なのか、 県道なのか、 一方通行かどうかの情報を付加していきます。 これを、 「タグ付け」 と言い
ます。 作図のイメージを下記に示します。
出来上がった地図を見てみましょう!地図のレンダリングには少し時間がかかりますが、 早ければ 1 時間位でレンダリングされ
ます。
GPS ロガーが無いからと言って、 OSM に参加できない事はありません。 GPS ロガーが無くても、 下記の形で OSM へコミッ
トできます。
Debian System は、 メンテナの尽力により豊富なバイナリパッケージを使う事ができますが、 OSM 関連で利用できるソ
フトウェアを下記に示します。 もちろん、 これだけではありません。 私見ですが、 GPS を扱うソフトは、 Windows よりも
Debian の方が多岐に渡っていると感じています。
gpsd は、 OSM では必須では無いのですが、 Debian や Linux で GPS データを受信する際にほぼ標準として使われているの
で紹介します。 このソフトは、 GPS 受信機と PC を接続し、 NMEA-0183 センテンスまたは GPS の独自プロトコルと通信
し、 現在の緯度経度、 UTC 時間を処理します。
Debian System 上で動作する地図関連のソフトは、 GPS 受信機と直接通信せず、 gpsd を経由して緯度経度の情報を得るも
のが多いです。 gpsd を経由させる事で、 GPS 受信機一つに対し、 複数の (GPS を必要とする) ソフトが使えるようになり
ます。
また、 gpsd は、 NTP サーバ向けの時刻源としても機能します。 NTP(ntpd) とは、 共有メモリドライバを介して行いま
す。 ただし、 gpsd を NTP サーバ向けの時刻源にしても、 NTP 階層の Stratum 1 の精度になるわけではあ
りません。 これは、 gpsd が時刻情報を受信する時、 共有メモリに書き込むときに「ゆらぎ」 が生じるから
です。
Debian System と OSM からは少し外れますが、 もし、 GPS を時刻源として Stratum 1 相当の NTP サーバを作るなら
ば、 ”1PPS (one pulse per second)” 出力つき GPS が必要になります。
1PPS とは、 「正確に1秒のパルス」 を発生するもので、 このパルスを Linux カーネルで捕まえる事で、 時刻のゆらぎを少な
くします。
gpsbabel は、 様々な GPS データの形式を変換するソフトです。
GPS データの「基本的な仕様」 としては、 NMEA-0183 センテンスがその基本なのですが、 GPS 受信機ベンダーは、 独自
フォーマットでデータを保存する場合があります。 それは様々な GPS ベンダーから、 様々なデータ形式があります。 Google
Earth の “ .kml ”形式も、 その GPS ログの保存形式の一つです。
gpsbabel は、 その GPS データ形式を変換するソフトです。
OSM が採用している GPS ログ形式は、 <time>タグ付き GPX 形式のみですので、 もし GPS 受信機、 あるいは付属ソ
フトが<time>タグ付き GPX 形式に対応していない場合、 gpsbabel で変換しなければならない場合があり
ます。
参考に、 NMEA-0183 センテンスの GPS ログデータを GPX に変換するには、 下記の様に実行します。
「deb http://www.backports.org/debian lenny-backports main contrib non-free」 を、 /etc/apt/sources.list に追加し
ます。
Merkaartor は、 OSM の作図ソフトです。 OSM 向けの作図ソフトは、 大きく3つあります。
どれがお奨めか、 これは3つとも自由に使えるソフトですので、 3つ試して一番自分に合うものを選んで下さい。 一概にどれ
が良い・悪いと言うのはありません。 ただ、 私見ですが、 Merkaartor は多機能で無い分、 初心者にとってはかえって分かりや
すいと考えています。
Debian lenny に入っている Merkaartor は少しバージョンが古く、 Debian Backports サイト ( http://www.backports.org/)
から、 出来るだけ新しい Merkaartor をインストールすると良いでしょう。
「deb http://navit.latouche.info/debian lenny main」 を、 /etc/apt/sources.list に追加します。
navit は、 OSM 地図データに対応した地図表示ソフトです。 gpsd が必要で、 gpsd から現在の緯度経度を取得し、 OSM 地
図データと重ね合わせ表示する事が出来ます。 navit は OSM 地図データを事前に取り込む方法ですので、 ネットが使えないオ
フライン環境下でも地図を見る事が出来ます。
筆者は Debian Lenny をインストールした EeePC に、 gpsd と navit をインストールし、 大阪から新潟まで使ってみたこと
があります。 実際の走行は、 殆どが高速道路ですので、 ナビと言うほどのものはありませんでしたが、 私が念願とし
ていた、 「自由な OS で、 自由なソフトで、 自由な地図データでナビをする」 と言う事が達成できた瞬間で
した。
筆者はまだまだ、 Debian System は初心者の域を出ません。 もし Debian System にあるパッケージで、 良いものがありま
したら紹介下さい。
筆者は、 主に 2 台の GPS 受信機を使ってログを取っています。
GT-31 は、 小型防水の GPS ロガーで、 バイクに取り付けることが出来ます。
GT-31 の良い所は、 GPS ログを SD カードに保存する事が出来るので、 記録容量が SD カードの容量次第で大きく出来る
点です。 また、 IPX7 相当の防水性能があります。 IPX7 相当の防水機能とは、 1m の水中に、 30 分間沈んでいても内部に水が
入らない構造を指します。
筆者は GT-31 の SD カードに、 NMEA-0183 の形式で保存しています。
GT-31 と併用して、 HI-406BT も使っています。
HI-406BT は、 純粋な GPS 受信機であり、 この機器自身にログ機能はありません。 HI-406BT は Bluetooth インター
フェースなので、 筆者は Bluetooth 付きの PDA や PC に、 これも NMEA-0183 の形式で保存するようにしてい
ます。
HOLUX m-241 は、 単 3 乾電池一つで動作する小型 GPS ロガーです。
小型でありながら、 ロガーとしての記録容量が大きく、 130,000 点のログが可能です。 加えて Bluetooth に対応しています。
筆者が OSM に作図し始めた頃は、 この m-241 でログを取っていました。 残念な事に、 筆者の m-241 は壊れてしまい、 今は
GT-31 と HI-406BT を併用しています。
GPS は、 余裕があれば 2 台欲しいです。 白地図を作図するときは、 やはり GPS ログから作図しますので、 ログ取り忘れは
かなり寂しい事になります。
GT-31 は、 GPS ログしない。 と言う選択肢が無く、 常にログします。 m-241 は、 ボタンのトグルでログする・しないを選択
できますが、 ついうっかり忘れてしまう事がありますので、 GPS ログを取る・取らないが選択できる GPS 受信機を使う場合、
GPS ログ状態がすぐに確認できるものを選ぶと良いでしょう。
GPS レシーバは、 「GPS 衛星から現在位置をもらう」 のではなく、 GPS 衛星から正確な時刻と GPS 衛星の移動情報を元に、
「GPS レシーバが自力で現在地を計算する」 仕組みです。
そのため、 計算結果から、 精度がどれくらい低下しているかを判断する事が出来ます。 これは GPS 衛星一つから現在地を知
るのではなく、 最低3つの GPS 衛星から現在地を計算するためです。
DOP は、 小さければ小さいほど精度が良い事を示します。 この DOP は、 受信した (計算に選択した)GPS 衛星の
ばらけ具合によります。 DOP には、 水平方向の HDOP、 垂直方向の VDOP 、 位置を示す PDOP があり
ます。
下記のページに記載がありますが、 OSM は、 PDOP の値は 4 より下、 2 より下ならかなり良く固定されているとあり
ます。
http://wiki.openstreetmap.org/wiki/Ja:Recording_GPS_tracks
筆者自身、 作図のために GPS ログを取る時は、 DOP 値には相当気を使っています。
GPS ロガー ”GT-31” は、 DOP 値を表示することが出来ますので、 筆者が GPS ログを取る時は、 現在の緯度経度よりも、
DOP 値を表示させるようにしています。 DOP をログする GPS ロガーを使用した場合、 GPX ログにも DOP を残す事が出
来ますので、 JOSM や Merkaartor でも視覚的に確認できます。
NMEA-0183 センテンスの場合、 GSA センテンスがこれにあたります。
GPS 受信機には、 外部アンテナを取り付ける事が出来るものがあります。 筆者は ”HI-406BT” と言う Bluetooth GPS レシー
バも使うのですが、 これには外部アンテナを取り付けることが出来ます。
外部アンテナを取り付けることで、 GPS 信号の感度が上がり、 精度が向上します。 また、 外部アンテナは概ね防水型ですの
で、 外部アンテナを車の屋根に取り付け、 天候に左右されずにログを取る事が出来ます。
最近の GPS 受信機は精度が向上し、 概ね「10m 2drms」 の範囲です。 「2drms」 と言うのは、 これを半径とする円内に、 およ
そ 95% の測位点が入る事を表します。 10m 2drms ならば、 半径 10m の円内に 95% の測位点が入る事を示し
ます。
半径 10m だと、 地図として使うのに誤差としては大きいかも知れませんが、 DGPS だと 5m 2drms にまで誤
差が少なくなるものもあります。 GPS 受信機を購入する時は、 この 2drms の値は確認しておくと良いで
しょう。
1時間程度のログであればあまり問題はありませんが、 バイクツーリング等でほぼ1日乗りっぱなしで GPS ログを取る場合、
GPS 受信機のバッテリーも気になります。
GPS 受信機のバッテリーの持ちもそうですが、 バッテリーの形式、 例えば乾電池か専用電池かも、 利用形態に応じて考える
必要があります。
最近の個人用 GPS 受信機は、 USB で充電できるものがあります。 これと携帯の充電器にあるような、 乾電池
の電力を USB に変換して出す充電器を併用する事で、 専用電池でもバッテリーを気にせずに使う事が出来
ます。
せっかくの GPS 受信機も、 バッテリーが干上がると、 mapper にしてみるととても寂しい事になりますので、 バッテリーの
持ちや、 形状は確認しておくと良いでしょう。
OpenStreetMap は、 日本ではまだまだ認知の低いプロジェクトですが、 Debian System とも十分親和性の高いプロジェクト
ですので、 興味を持って頂けたならうれしいです。
第
30 回関西 Debian 勉強会 2009 年 12 月4.6 OSM の特徴
4.6.1 OSM の地図データは、 ビットマップではなくベクトルデータ
4.6.2 地図データの作成は、 アカウント登録さえすれば誰にでも可能
4.6.3 Wiki の考え方をベースにしている
4.6.4 地図データはオフラインでも利用できる
4.7 (今だけの愉しみですが) 走行ログになります
4.8 OSM へのコミットは、 地域社会への貢献にもなりえます。
4.9 OSM への参加
4.9.1 OSM アカウントの作成 (初めの 1 回だけ)
http://www.openstreetmap.org/create-account.htmlにアクセスして、 OSM アカウントを作成します。 同時に、
http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&uselang=ja にアクセスして、
OSM の Wiki アカウントを作成しておくと良いでしょう。
4.9.2 GPS ロガーでログ取り
4.9.3 GPS ログデータをアップロードする
4.9.4 地図データを作成、 編集する
4.9.5 マップを描画する!
4.10 OSM へ参加するには、 GPS ロガーは不可欠なの?
OSM は地図データですので、 実際にそれが現実とあっているかが重要です。 とにもかくにも、 OSM を使って
みて下さい。 Debian System と同様に、 「それを使う」 だけでも、 貢献として充分なのです。
OSM の作図は、 できるだけ正しくなるように作図が進んでいますが、 例えば一方通行の方向が逆だったり、 国
道/県道の番号が間違っている場合もあります。 この様な場合、 作画エディタで OSM データをダウンロード
できますので、 間違いのある部分をダウンロードして修正してアップロードすれば、 間違いが修正できます。 4.11 Debian System 上で使える OSM (GIS) 関連ソフト
4.11.1 gpsd
4.11.2 gpsbabel
4.11.3 Merkaartor (発音は”メルカトル”です)
# apt-get -t lenny-backports install merkaartor
Potlatch は、 フラッシュベースの作図ソフトで、 Web ブラウザがあれば使う事が出来ます。
JOSM は、 Java で書かれた作図ソフトで多機能です。 Java 版なので、 Debian でも Windows でも動きます。
4.11.4 navit
# gpg --export -a CB229096 | apt-key add -
# apt-get update
# apt-get install navit
4.12 筆者の GPS ログ機器
4.12.1 GT-31
4.12.2 HI-406BT
4.12.3 HOLUX m-241
4.13 GPS ロガー選び方ノウハウ
4.13.1 DOP (Dilution of Precision - 精度低下率) が分かるものを選ぼう
4.13.2 外部アンテナが付けられるのと付けられないのでは大違い
4.13.3 測位精度の誤差
4.13.4 バッテリーの持ちと形状
4.14 おわりに
____________________________________________________________________________________________