JA:Osmbook

From OpenStreetMap Wiki
Jump to navigation Jump to search

an unequal sign

この記事は「日本語版」として翻訳されていますが、原文(通常、英語版またはドイツ語版)の変更が反映されていないようです。できればこの翻訳の更新にご協力ください。
出力例: One page of Davis, in Yolo County, CA, US

osmbook は OSM のデータを印刷可能データ(紙のOSM を取得するためのアプローチの1つ)に変換するためのプログラムです。Osmbook は大雑把なグリッドを持つ全体図を1ページと、クロス・リファレンスや追加情報を持つ複数の詳細ページを生成します。

ステータス

現在、osmbook は動作しますがドキュメントが不足しています。また、osmbook の出力は幾つかのサブ・ツール(latex、inkscape、orp.svn、osmosisを含む)を呼び出すことで生成されています。

急いでやるべきこと:

  • ストリート・インデックスの追加

osmbook の入手

osmbook は開発途上のため、現段階では SVN 経由でのみこれにアクセスが可能です。

 svn co http://svn.openstreetmap.org/applications/rendering/osmbook/trunk

その他の要件

カレントディレクトリ内に追加のディレクトリが必要です。(将来的にはパスによるアクセスが可能となります。)

 # Osmosis を入手し、osmosis/bin/osmosis に配置する:
 wget http://dev.openstreetmap.org/~bretth/osmosis-build/osmosis-latest.zip
 unzip osmosis-latest.zip
 ln -s `ls -d osmosis-*/` osmosis
 # orp.svn のコピーを入手する:
 svn co http://svn.openstreetmap.org/applications/rendering/osmarender/orp orp.svn
 # osmarender のコピーを入手し、その中の stylesheets ディレクトリを作業ディレクトリ内にコピーする:
 svn co http://svn.openstreetmap.org/applications/rendering/osmarender
 ln -s osmarender/stylesheets
 # 必要な Perl モジュールを追加する:
 perl -MCPAN -e "install 'Getopt::GUI::Long'"
 perl -MCPAN -e "install 'XML::Simple'"
 perl -MCPAN -e "install 'GD'"

Ubuntu のユーザーは、上記の Perl モジュール追加のコマンドを以下で置き換えてください:

 sudo apt-get install libgd2-xpm-dev libgd-svg-perl libset-object-perl
 sudo perl -MCPAN -e "install 'Getopt::GUI::Long'"
 sudo perl -MCPAN -e "install 'XML::Simple'"
 sudo perl -MCPAN -e "install 'GD'"

Mac OS X では、さらに別の Perl モジュールが必要です:

 sudo perl -MCPAN -e "install 'SVG'"
 sudo perl -MCPAN -e "install 'XML::Parser::PerlSAX'"
 sudo perl -MCPAN -e "install 'Set::Object'"

Mac OS X のユーザーは以下についてもインストールしてください:

  • libgd (./configure && make && make install)
  • pdflatex as part of the BasicTex package (.pkg)
  • wget (./configure && make && make install)


また、有効なパスに inkscapepdflatex をインストールする必要があります。

実行

全てのインストールが完了したら、レンダリング範囲とグリッド数を定義したプロジェクト・ファイル(以下の例を参照)を引数として、osmbook を実行することができます。

<osmbook>
 <datadir>mapdir-8</datadir>
 <gridwidth>8</gridwidth>
 <minlat>38.37205</minlat>
 <maxlat>38.9122</maxlat>
 <minlon>-122.39475</minlon>
 <maxlon>-121.49005</maxlon>
 <grid-rule-file>stylesheets/osm-map-features-z14.xml</grid-rule-file>
 <overview-rule-file>stylesheets/osm-map-features-z6.xml</overview-rule-file>
 <latex-file>maps.tex</latex-file>
 <gridinfo>
   <grid name="1"><note>test note</note></grid>
   <grid name="2">
     <note>note 1: this page is boring</note>
     <note>note 2: something important at F3</note>
   </grid>
 </gridinfo>
</osmbook>

次のコマンドを実行してください:

 perl osmbook/osmbook --png example.xml

既知のバグ

Ubuntu 9.10 上で実行すると次のようなエラーと共にクラッシュします:

Ran out of memory for input buffer at /usr/lib/perl5/XML/Parser/Expat.pm line 469.

これは Debian/Ubuntu の Perl 環境のバグのようです。 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=498194 も読んでください。

解決策はありません。 :-(

作者への連絡

質問、機能上の要望などがあれば、気楽に連絡してください。hadaker(アットマーク)users(ドット)sourceforge(ドット)net