[OSM-ja] [Announce] Nginx Tileserver 1.0-beta1リリース
Hiroshi Miura(@osmf)
miurahr @ osmf.jp
2013年 4月 10日 (水) 13:12:07 UTC
三浦です。
先月から開発してきた、nginx Webサーバで動作する
タイルサーバ(配信、レンダリング)のバージョン1.0ベータ1の
リリースをいたします。
ファイルは、
https://github.com/osmfj/tilecache/tags
こちらからダウンロードいただけます。
また、関さんたちのおかげで、簡単に仮想環境で実験できるようになりました。
この成果により、Tirexレンダリングエンジンを経由して、
タイルを自動生成して配信するところまで、確認できました。
本リリースでは、次の機能を実現する設定やツールが含まれます。
1.タイル画像のキャッシュサーバ機能
本ソフトウエアの tileproxy サーバ設定(nginx/sites/tileproxyファイル)
を設置することで、
http://a.サーバ名/{z}/{x}/{y}.png
にアクセスすることで、 *.tile.openstreetmap.org にアクセスしたのと
同じタイル画像が、配信されます。
また、一度配信した画像は、キャッシュされるようになるため、応答が
早くなります。ビジネス用途で利用するにあたり、本家のサーバ負担を
考慮して、少なくともキャッシュサーバをユーザ提供するように
お願いします。
2.タイル画像の差し替え機能
本ソフトウエアの statictile サーバ設定(nginx/sites/statictileファイル)
を設置すること、 /var/opt/tileserver/static/{z}/{x}/{y}.pngファイルを
配置することで、
例えば、
http://s.サーバ名/{z}/{x}/{y}.png
にアクセスが合った時に、静的に配置したタイル画像がある場合は、それを
返すようになり、そうではない場合は、(1)の挙動を行うことができます。
事情により、OSMのタイル画像では、不都合があるような領域の配信で、
独自のタイルを使うことで、不都合を回避できます。
サンプルとして、dataディレクトリに、試験的に利用できるように
OSMデータを改変して作成したサンプルのタイル画像が置いていあります。
3.独自レンダリング
本ソフトウエアのtilesreverサーバ設定を設置することで、
Tirex(てぃーれっくす と発音)レンダリングエンジンを
用いたタイルのレンダリングが可能です。
現状では、mapnikバックエンドを使って、
Tirexに付属するexample-map 設定による配信がされることを
確認しています。
例) http://j.tile.openstreetmap.jp/2/3/1.png
4. PostGISデータベースへの日本のOSMデータのロードと、日次更新機能
mapnikバックエンドにより、OSMレンダリングを行う際には、PostgreSQL RDBMSの
GIS拡張であるPostGISにOSMデータを取り込む必要があります。
本配布物の updatedb ディレクトリには、OSMデータを取り込むためのスクリプトおよび
日次で更新するためのスクリプトが配布されています。
このユーティリティを利用するには、postgresql-server 9.1や
postgis、osmosisなどが必要です。
5. 生成されたタイル画像のキャッシュを管理する機能
独自レンダリング(3)で生成されたタイルは、ファイルシステムに保存され、次回のアクセス
からは、生成せず、前回生成されたタイル画像を返送するようになります。
(4)でDBMSを更新する際に、再生成すべきタイル画像の情報がexpire.listフィアルとして
生成されます。
このファイルを用いて、古くなったファイルを削除することで、次回からフレッシュなタイル画像を
配信できるようになります。
この作業を行うため、mod_tileプロジェクトの render_expire ユーティリティを本配布物に
取り込んでいます。
注意
上記の機能を利用するためには、最新のnginxや、そのLUA拡張モジュール、さらに
LUA拡張モジュールの追加ライブラリ等が必要になります。
Ubuntuを利用されている方の場合は、 ppa:miurahr/openstreetmapリポジトリに
動作確認しているnginxのパッケージやmapnikのパッケージがあります。
そして、本配布物のlibディレクトリにあるLUAの追加ライブラリについて
lib/install.sh スクリプトを参考に導入していただく必要があります。
今後の展開
1.まだ、本リリースのバックエンドで、postgis, tirex, mapnikを連携させたタイル生成については
動作確認できていません。この動作をさせるためのノウハウ蓄積や試験が必要です。
2.バージョン1.0にするためには、開発やタイルサーバについて興味のある皆さんの
動作試験をおこなっていただいて、問題が内容にする必要があります。
3.既存の課題や機能追加課題
https://github.com/osmfj/tilecache/issues?state=open
現在わかっている問題は、こちらにて管理されています。
4.開発マイルストーン
https://github.com/osmfj/tilecache/issues/milestones
今後の開発マイルストーンは、本ページで記載されています。
v1.0にむけて3点ほどの課題が残っていると思います。
以上、開発成果を報告します。
OSMFJ
三浦
Talk-ja メーリングリストの案内