OSMデータをダウンロードするには下記のような書式でアクセスします.
例えば,仙台駅東側の二次メッシュコード574037(南西隅(140.875,38.25),北東隅(141.000,38.3333))のデータをダウンロードするには, ターミナルから
wget -O Sendai_574037.osm http://api.openstreetmap.org/api/0.6/map?bbox=140.875,38.25,141,38.3333 wget -O Sendai_574037.osm http://overpass-api.de/api/map?bbox=140.875,38.25,141,38.3333
とします.openstreetmap.org が混雑している場合は2つ目の Overpass API ミラーを使いましょう.
mapnik で osm ファイルを直接表示するには, まず,XMLで記述された mapファイルを用意します.
次に,Python でこのmapファイルを読込むためのスクリプトを記述します.
このスクリプト・ファイルを実行すれば画像が出力されます.
以下,備忘録: 仙台駅西側の二次メッシュコード 574027 (南西隅(140.750,38.1667),北東隅(140.875,38.3333))のデータをダウンロードするには,
wget -O Sendai_574027.osm http://api.openstreetmap.org/api/0.6/map?bbox=140.75,38.25,140.875,38.3333 wget -O Sendai_574027.osm http://overpass-api.de/api/map?bbox=140.75,38.25,140.875,38.3333
とします.
ダウンロードする範囲は特に二次メッシュに拘る必要はありません.ただ,DRM (digital road map) などは二次メッシュごとにIDが整理されているようなので座標は知っておいた方がいいかもしれません.二次メッシュコード(574037)の南西隅の緯度経度は以下の式:
– 緯度: [1,2桁目]×2/3+[5桁目]×5/60 (57×2/3 + 3×5/60 = 38 + 0.25 = 38.25)
– 経度: [3,4桁目]+100+[6桁目]×7.5/60 (40+100 + 7×7.5/60 = 140 + 0.875 = 140.875)
から計算できます.北東隅の緯度・経度は,南西隅の緯度・経度に=(5/60, 7.5/60)=(0.08333,0.125)を加えます.