JA:Osmbook
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)
また、有効なパスに inkscape と pdflatex をインストールする必要があります。
実行
全てのインストールが完了したら、レンダリング範囲とグリッド数を定義したプロジェクト・ファイル(以下の例を参照)を引数として、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