User talk:Higa4/What is OpenStreetMap

From OpenStreetMap Wiki
Jump to navigation Jump to search

なぜOpenStreetMapか

OpenStreetMap(以下OSM)は、Webで地図を検索する、という目的においてはGoogle Mapsと同じようなものであり、現時点でデザイン、機能、情報量などは実際のところGoogle Mapsの方に一日の長があることは否めません。

なんでそんなことを今更やるのかというと、実は歴史的にはGoogle Mapsより前に始まった息の長いプロジェクトなのです。 発祥はイギリスで、アメリカでは国が作った地図データを自由に誰でも使えるのに、イギリスではそうでなかったことから始まりました。 欧米での発展が顕著で、OSMを利用した商用サービスも普通に行われており、現在全世界での参加者は約19万人だそうです。

その発祥からも分かるようにOSMは自由に使える地図データです。 普通の人が自分の空いた時間を使ってGPSを片手に徒歩、自転車、バイク、車などを使って自分の通った道や興味を持った場所などを記録し、インターネット上のサーバ(オリジナルはイギリスにあります)に世界中から登録し、地図の形式(点と線から成ります)に編集します。 そうすると全世界からその地図を検索したり、地図データをコピーして自由に、何にでも使って良い、というわけです。

この手続きがちょっと面倒なのですが、慣れてしまえばとっても楽しい作業です。まぁ、楽しいとは思えない方の方が多いのかもしれないと感ずるこの頃ですが。。。

Google Mapsとの最大の違いはその利用ライセンスで、OSMではクリエイティブ・コモンズのライセンス(CC-BY-SA)を適用しており、OSMのコンテンツを使用していることを示す表記を行うだけで、どのような使い方をしても問題はありません。お金もかかりません。 また、そのコンテンツ自体、OSMライセンスの受諾を宣言しさえすれば、誰でも作成・編集に参加することができます。 Google Mapsのコンテンツは世界中のいろんな地図会社のデータを契約で借りているものなので、その使用には当然いろいろな制約が課せられます。日本では「ゼンリン」のコンテンツが使用されています。 制約の例は、Google Mapsの地図は二次利用不可、といったものです。 例えばイベント案内や会社案内などの印刷物にGoogle Mapsの地図を使うことは禁止されています。(お金を払って契約すればできますが) また、そのコンテンツの更新は(例外的な地域を除き)原則として一般の利用者が行うことはできません。

自由に使え、なおかつ自分たちで地図に書き込むことができるのがOSMです。

地図って何だろう

地図を書くシーンをイメージすると切実な情報を誰かに伝えたい状況が目にうかびます。 何かを共有したり、コミュニケーションをとる手段として地図はうまれたのではないでしょうか。

その基本要素はどこかに至る経路情報と事物の存在を表す点の情報ですが、目的に応じて様々な情報が付加されます。 道路地図、宝の在処を示す地図、スピードカメラ設置図、観光マップ、フィッシングポイント、ハザードマップ、バリアフリーマップ、安心・安全マップ、ぼくらの街の探検マップ、植生分布図、等々。 いろんな目的や価値観を反映した地図がありますね。 もちろんこういった地図は別段新しいものではありません。 紙と鉛筆で書いたりパソコンで描いたりした経験をお持ちの方も多いと思います。

しかし、残念なことに手作りの地図は共有したり、再利用することが難しいのでたいていの場合はゼロから作り上げる必要があります。 ここにOSMの意義があります。インターネットというとても容易にアクセスできるメディア上で誰でも作成に参加でき、その成果を自分で使うだけでなく世界中で共有できるのです。 何かこう、わくわくしてきませんか♪

地図の作り方

おおまかに5つのステップで作業します。 (1)データを集めます。 (2)集めたデータをOSMにアップロードします。 (3)OSMデータを作成、編集します。 (4)描いた道や点に名前(ラベル)や属性(タグ)を付けます。 (5)描いた地図を画像化(レンダリング)します。

それでは詳細に見て行きましょう。 (1)データを集める 地図に必要なデータにはどういうものがあるでしょうか。 OSMのデータはベクター形式といわれるもので構成されています。(Google Mapsも同じです)

一般的な画像データで使われるラスター形式と対比すると分かりやすいのですが、ラスター形式は点の集まりで、スーラの点描(ドット絵)と同じ原理です。遠めで見る分には分からないのですが、ちかづいてみると色付きのドットが見えてきます。 ドットの組み合わせで表現されているため、拡大すると画像品質はどうしても落ちてしまいます。

これに対してベクター形式は座標と計算式で図形を表現し、縮尺を変えても画像の鮮明さが劣化しないのが特徴です。

表示のたびにコンピュータが一所懸命に計算し直すので、コンピュータにはやや負荷がかかります。 このため、ベクター形式を扱うソフトはやや重たい印象を受けることがあります。Google earthがとても重たいのは通信と、この計算の負荷じゃないでしょうか。

話をOSMに必要なデータに戻すと まずは座標情報が必要です。幸いなことに地図では地球上で唯一の位置を示す緯度と経度が座標として使われていますので、それをそのままつかいます。

あたりまえですが緯度と経度で地図上の一つの点を表すわけです。この点をOSMではノード(node)と呼んでいます。 ノードは単独でもお店の位置や交差点などの表現に用いられますが、ノードを複数つないで線にすることによって道路、川、航路、線路などを表現します。これをOSMではウェイ(way)と呼んでいます。 ウェイの始点と終点をつなぐと広場や建物の形、つまり面を表現できます。これをクローズドウェイとよびます。 OSMではこの点、線、面の3つを使って地図を描いていきます。

いかがですか。説明はくどくても中身はシンプルでしょう?


OSMに入力するデータの集め方

前回、OSMデータは主に緯度経度から成り、点、線、面で描いていくという話をさせて頂きましたが、基本的にはこの緯度経度を求める必要があります。 その方法には以下のようなものがあります。

GPSの受信機

GPSの受信機を使って記録したログ(自分の通った軌跡)を元に編集ソフトで点、線、面を描いていく。 GPS機能の付いた携帯電話は多いのですが、残念なことにたいていの機種では緯度経度情報をデータ(ログファイル)として抜き出すことができません。 ログ出力できるのは2009年10月現在私の知る限りではソフトバンクのiPhoneのみです。いわゆるiPhoneアプリでログ出力できるものがあります。無料版もあります。 PDAに近い携帯機種では他にもログ出力できるものがあるかもしれません。 あと、間接的な利用方法になりますが、デジカメにGPS機能が付いたものがあります。 こういった機種では、写真に緯度経度情報を付加することができますので 編集ソフトでその緯度経度情報を読み取り、正確な位置に写真を表示できますのでその写真を見ながら道路の様子やお店の情報などを入力することができます。

専用の受信機の価格は国内では、知る限り最低でも2万円弱といったところです。 私はiPnoneを含め、全部で5台持っていますが秋葉原や通販 http://logmate.jp/ で買っています。

この値段が実は大きなハードルになっています。 米国からの直輸入では数千円で買えるという話を聞いたことがありますが未確認です。

国土地理院の空中写真

国土地理院が広く国民に提供しているオルソ化空中写真(航空写真) http://orthophoto.mlit.go.jp/ を下絵にして編集ソフトで道路や建物などの形をなぞる。 つい最近ライセンス問題がクリアされた方法です。 なぞって作ったデータには国土地理院のデータを利用した、というメモ(タグ)を残す必要がありますが、空から見た精度の高い写真を使えますので地上では把握しずらい広域の広場や建物の形、あるいはGPSをもとに描いた道路の誤差訂正など、幅広い活用方法が考えられます。

Walking Papers に手書きする

OSMデータを元に、手書き用の白地図が作れるWalking Papers http://walking-papers.org/ という無料サービスがあります。 こんな感じです。 http://dl.dropbox.com/u/201898/osm/matsudo/walking-paper-... この地図を印刷して街を歩きながら地図にない道路、建物などを記録して行き、最後にPCで編集ソフトを使ってOSMに入力します。 スキャナーがあれば手書きした線などを緯度経度データとして読み取ることもできます。 データの精度を不安に思われるかもしれませんが、間違っていたら誰か詳しい方がいつか訂正してくれる、という認識で大胆にやって頂いて構いません。

レシートを利用

お店でもらうレシートにはお店の正式名や住所、URLなどが書かれています。 自宅に帰ってから、記憶と住所などを突き合わせて、そのお店の情報をOSMに入力することができます。 ただし、この方法は道路が十分に描かれていない地域では、場所を推定する手がかりが少なすぎて使えない場合があります。

私が思いつくのは上記4点ですが、これ以外にもあるかもしれません。 このあたり、ハードルの低い方法をいろんな方が試行錯誤で進めているところです。


最後に注意点なのですが、OSMにデータを入力する際には最初に申し上げたクリエイティブコモンズのBY-SA(表示・継承)というライセンスを付与することに同意する必要があります。 つまり、 自分の入力したデータはOpenStreetMapの表記をしていさえすれば誰でもどのような使い方でもできます という宣言をすることになります。 また、このような宣言ができるのはあなた自身の完全にオリジナルなデータである必要があります。 なので、例えばGoogle Mapsなどで調べた緯度経度情報を使ってOSMにデータ入力すると Google Mapsの利用ライセンスや国内の著作権法違反となってしまいますのでお気をつけください。 ライセンスの分かりやすい説明は下記をご参照ください。 http://creativecommons.org/licenses/by-sa/2.1/jp/


アップロードと編集

今回は2つの作業

(2)集めたデータをOSMにアップロードします。 (3)OSMデータを作成、編集します。

をいっぺんに説明します。

アップロードと編集の作業はソフトウェアを使用して行います。 代表的なソフトとしてPotlatch(ポトラッチ)とJOSM(ジェイオーエスエム)の2つを紹介します。

Potlatch

OSMの地図 http://osm.org にアクセスすると、地図の上部に「GPSトレース」というタブがあります。 ここでログデータのサーバへのアップロードと、地図の編集を行います。 この操作を行うにはアカウントを作成してログインする必要があります。 ブラウザだけで操作でき、地図上にそのまま書き込めるので、直感的に操作でき、使いやすいソフトです。 難点はやや遅いことです。 私自身は主にこのソフト(というかWebサービス)で編集しています。

JOSM

http://wiki.openstreetmap.org/index.php?title=Ja:JOSM&amp... Javaというプログラミング言語で作成されたソフトで、Potlatchもそうですが誰でも無料で使えます。 おおまかな操作手順は以下のとおりです(添付の画像がそれぞれの操作に対応しています(松戸駅周辺です))

  • ログファイルをJOSM上に読み込む
  • ログファイルの対応エリアの既存OSMデータを自分のPCローカルにダウンロードし編集を始めます。
  • 編集が終わったら編集結果をOSMデータとしてサーバにアップロードします。
  • 必ず行う作業ではありませんが、オルソ化空中写真を背景画像として読み込むことができます。

自分で描いた道路がズレているところなどが分かります。


編集操作は細かいので今回、説明は割愛させて頂きますが、最初はPotlatchから始めると比較的入りやすいかと思います。


タグ付け

今回はタギング(タグ付け)の話です。

画像は松戸駅東口のマクドナルドの例で、前回ご紹介した編集ソフトのひとつPotlatchでタグの登録内容を表示したものです。

点、線、面で書かれた地図はそのままでは古代人が洞穴などに書いた地図と同じで地理的な位置関係しか表されていません。 みなさんが地図を作ろうとすればそこに何らかの情報を書き込みたくなると思います。 実はこれがOSMの醍醐味で、自分の興味や価値観に従ってタグという形で、情報を書き込むことができます。 例えば、バリアフリーに関心のある人は公衆トイレや公共のバスが車イスで利用できる設備なのかどうかとか、サイクリングに興味ある人は、そのコースや路面の状態を書き込んだりすることができます。

ただしこれも限度があって、観光地やお店などの説明文や写真は地図の外、具体的にはwikipediaなどに掲載して、地図側にはURLだけ書いておく役割分担が推奨されています。

次にタグの書き方ですが、例えば松戸で有名な鮮魚街道(なまかいどう)は以下のように記述します。【】内は説明文であり、タグではありません。

highway【道路の種類】=primary【番号が2桁以下の主要県道】
name【名前】=鮮魚街道 (Nama Kaido)
name:ja【日本語の名前】=鮮魚街道
name:en【英語の名前】=Nama Kaido
ref【付けられた番号】=1
lane【車線数】=2
tunnel=yes【トンネルの部分】
bridge=yes【橋の部分】

... これ以外にもいろいろ (正確には鮮魚街道は千葉県道1号線の一部らしいのですが、詳細は割愛)

興味のある場所を地図業界ではPOI(Point Of Interest)と呼ぶようですが このPOIはパブリック(一般的に認知されているもの)で、地図に掲載すべき内容であれば何でも登録することができます。 可愛い猫がいたから登録しちゃおう、とか道端に転がっている空きビンをオブジェだといって登録するのはダメです。 基本的に地物(ちぶつ)といわれる、地図を頼りに後から訪れた人もその存在を確認できる自然や人工物が対象です。

POIの一例としてすし屋マップを作ろうとするなら以下のようなタグを付けることになるでしょう。

amenity【生活環境まわりの設備】=restaurant【レストラン】
name=金太楼鮨 (Kintro Sushi)
name:ja=金太楼鮨
name:en=Kintaro Sushi
cuisine【料理】=sushi
cuisine:ja【日本語の料理名】=すし

大きな分類は国際的な基準で決められるため、食事をする場所は現在のところレストランとファーストフードの2種類しかありません。 このため、区別するのは恐縮なのですが、回転寿司は国内では amenity=fast_food に分類するという意見が支配的です。 海外では回転の有無はあまり関係なく、すし屋はレストランということになっているようです。 ラーメン屋はレストランなのかファーストフードなのかは議論が続いており まだ決着がついていません ^^;

最後に多言語について nameの部分でお気づきかと思いますがワールドワイドでやっている活動なので自国語で記述するだけでなく、他の国からの訪問者にも分かるように(外国で言葉が分からなくて心細い気持はお分かり頂けるかと思います)日本であれば少なくとも英語はできるだけ表現してあげようよ、ということになっています。 もちろん、フランス語に堪能な方であれば name:fr= といったタグを付けてあげると、フランスから来た人はとっても嬉しいでしょう。

POIにまつわる話は尽きませんが、今回はこのあたりで。

【参考情報】

  • 主に日本の道路のタグ付けルール

http://wiki.openstreetmap.org/wiki/Japan_tagging

  • 主に日本のPOIのタグ付けルール

http://wiki.openstreetmap.org/wiki/Ja:Howto_Map_A

  • タグ一覧(英文の直訳、日本用にアレンジしていない)

http://wiki.openstreetmap.org/wiki/Ja:Map_Features

地図の表示

それでは地図作成5段階の最後の作業、(5)地図の表示、即ちレンダリングについてです。

レンダリングとは地図の描画のことで、OSMデータは同じですが それを表現するレンダラー(レンダリングするプログラム)はいくらでも自由に作って良いことになっています。 なぜかというと、利用者により興味の対象が違うので、同じデータであっても必要とする地図の表現、絵は異なるからです。 データが充実してくると点、線、面やPOIの数が増大してきます。 それらを全部地図上で表現する汎用的な地図だけでは、必要な情報がとても探しにくくなってしまいます。

植生に興味ある人は植生分布を見たいだろうし 休日においしい店を探したい人はグルメマップが欲しいだろうし 在日外国人の方は母国語の地図が嬉しいでしょう。

これらはデータとしては同一でも、地図表現としてはかなり異なってきます。 そのために、OSMではデータとレンダリングを完全に分離しています。 http://osm.org/ の地図領域右上に+ボタンがありますが、これをクリックすると

Base Layer
○Mapnik
○Osmrendar
○Cycle Map
○NoName

といった内容が表示されます。 この○印をクリックしてBase Layerを切り替えると、地図の表現が切り替わるのが分かると思います。

データの話になりますが、ライセンスのお話をした際に、ライセンスに従う限りOSMデータは誰でも自由に利用できると申し上げました。 オリジナルデータはひとつなのですが、データの形式や、それを使うためのプログラミングインタフェース(API)は公開されていますので データをコピーして、自分でプログラムを作ってビジネスを行うことも可能です。 実際、日本でもOSMデータでカーナビを作っておられる方がいます。

CloudMade (http://cloudmade.com) という会社があるのですが、これはOSMの創始者が立ち上げた会社です。 この会社はOSMデータを元にしたビジネスを展開しておられ、うまくOSMコミュニティと共存しておられると聞いています。 このCloudMadeのサイトでも地図が公開されていますが、これはオリジナルのOSMデータのコピーと独自に開発したレンダラーでいろんな地図表現を試みています。 そのデモサイトが下記にあります。(添付の画像はロンドンを表示しています) http://maps.cloudmade.com/editor

レンダリングの差異を並べて比較できるものもあります。 http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=cyclemap... (このサイトではGoogle Mapsも含まれていますが、OSM上での地図作成時にGoogle mapsを参考にするのは利用ライセンス違反になりますのでご注意ください)

海外の地図を見てもピンと来ない方も多いと思います。 日本の地図では日本語や地図記号、逆三角形の国道マーク、コンビニのマークといった独自表現が多く、やはり日本流のレンダリングが必要という意見があり、その実現に向けた動きが出始めています。 もちろん、OSMコミュニティだけでなく、企業がビジネスとしてやるのでも一向に構いません。


ちょっと話の展開がヘタだった気がするのでまとめると

  • 利用者自身の作業としては、通常はOSMデータの登録作業まで。
  • データとレンダリングは分離されており、レンダリングのやり方(設計図)は公開されている。
  • やる気のある人なら誰でも独自のレンダラーを作ることができる。
  • 日本独自のレンダラーが待ち望まれているが残念ながらまだ無い。

ということになります。