[OSM-ja] (開発者募集)OSMタイル配信サーバの開発

Nobuo Kawaguchi kawaguti @ nagoya-u.jp
2013年 4月 5日 (金) 06:34:23 UTC


河口です。

実は名古屋大/Lisra でもIndoor向けの独自レンダリングを
検討しようとしているところです。

参加させてください。
よろしくお願いします。

(2013/04/05 13:35), Hal Seki wrote:
> 三浦さん
> ありがとうございます。とりあえず今週末に環境インストールしてみます。
> 
> --
> 位置情報連動型ビジネス調査報告書2013 発売中
> http://r.impressrd.jp/iil/geo2013 <http://r.impressrd.jp/iil/geo-location2012>
> ※著者割引で20%引きになります
> 
> Georepublic Japan  代表社員/CEO 関 治之
> http://georepublic.co.jp/
> 〒151-0071 東京都渋谷区本町3-24-14
> Skype: hal_sk
> 
> 
> 
> 2013/4/5 Yoichi Kayama <yoichi.kayama @ gmail.com <mailto:yoichi.kayama @ gmail.com>>
> 
>     かやまです
> 
>     いろいろ勉強しなきゃ役にたたないですが、とりあえず見習いで参加させてください
> 
> 
>     2013年4月5日 8:36 Hiroshi Miura(@osmf) <miurahr @ osmf.jp <mailto:miurahr @ osmf.jp>>:
> 
>         マッパーの皆さん
> 
>         三浦です。
> 
>         現在、OSMタイルサーバを開発しています。日本のOSMコミュニティとして
>         独自レンダリングを実現したいと考えています。
> 
>         開発への参加者を募集したいと思います。
> 
>         同時に、日本らしい地図表現を行うためのmapnikでのレンダリングスタイルを
>         研究される方もWelcomeです。
> 
>         開発は、github.com <http://github.com>[*0]で行なっています。
> 
>         名前は、キャッシュになっていますが、(最初はキャッシュの構築から開始したため)
>         OSMの独自タイル配信サーバの機能をもたせる計画です。
> 
>         開発に興味のある方、一緒に研究しませんか。
> 
> 
>         <アーキテクチャ>
> 
>         OSMのwikiでは、apacheにmod_tile[*1]を導入し、mapnik[*3]ライブラリを使った
>         Tirex[*2]がタイル画像を生成する方法が説明されています。
>         また、DBMSには、PostGISを用いて、 osm2pgsqlツールによって最新データを
>         取り込むようです。osmosisツールを使うことで、自動更新ができます。
> 
>         独自タイル配信サーバの開発では、次のアーキテクチャを考えています。
> 
>         <開発ロードマップ>
> 
>         Ver 0.8
> 
>         * nginxサーバで、タイルキャッシュ機能を提供します。(DONE)
>         * リクエストのx/y/z値のチェックをおこなって不正なアクセスを
>            抑止します。(in progress)
>         * tile.openstreetmap.org <http://tile.openstreetmap.org>の地域分散プログラム(CDN)へ参加可能な
>          機能を備えます。(DONE)
> 
>         Ver 0.9
> 
>         * PostGISデータベースに日本地域のOSMデータを日次で
>            自動更新できるようにします。(ほぼ完了)
>         * アクセス元が日本国内かどうかを判定して、独自タイルの配信を
>             切り替えます。(done)
>         * リクエストのx/y/z値をチェックして、レンダリング対象かどうかを
>          判定できます。(未実装)
>         * 一部タイルについて、静的タイルを配信できるようにします。(done)
> 
>         Ver 1.0
> 
>         * nginxサーバのLUA拡張を利用して、mod_tile相当を実装します。
>         * タイル生成は、Tirex[*2]で行います。
>         * 生成されたタイル画像ファイルは、ファイルシステムに格納されます。
>         * nginxサーバとTirexは、UDPソケット通信でコマンドをやり取りします。
>         * mapnikのスタイルを改良します。(アイコンとか、色とか)
> 
>         mod_tile相当とは
>         * 独自タイル生成を、リクエストに応じて、on the flyで実施します。
>         * データベースの更新にあわせて、古くなったタイル画像を削除し、
>          再度生成されるようにします。
>         * タイル画像が古い(expire)の場合でも、レスポンスを確保するため
>          古いタイルを返送するが、httpでの画像の有効期間を再生成に
>          必要な時間を動的に計算して、設定します。
>          ユーザが再度表示しようとすると、新しいタイルになります。 
> 
>         Ver 1.x
> 
>         * 日本らしい地図表現のバージョンアップをしていきます。
> 
>         Ver 2.0
> 
>         * Redis Key-Value-Storeを活用して、メタ情報を管理します。
>         * Redis Pub/Subを利用して、コマンドをやり取りします。
>         * Tirexを拡張して、redis pub/subに対応させます。
>         * renderd_expireを拡張して、redis pub/subに対応させます。
>         * nginx-luaから、redis pub/subを利用したコマンド利用させます。
> 
>         Ver 3.0
> 
>         * Redis KVSへタイルそのものを格納します。
>         * Redisリプリケーションやnginxリバースプロキシ、Tirex分散等により
>         大規模サーバ構築可能にします。
>         * 更新タイルやアクセスの少ないタイルのRedis自動expire機能によって
>          DISK容量を削減可能にします。
>         * 本家レンダリングのリプレースを狙います(?)
> 
>         <実行環境>
> 
>         環境は、Ubuntu 11.10(64bit)です。
>         Nightly buildのmapnikを使っています。[*5]
>         nginxは、nginx-extra packageを使います。
>         luaからredisデータベースへのアクセスは、OpenRestyのLua-redis[*6]
>         モジュールを使います。
>         Tirexは、ドキュメントに従ってmake debして、パッケージを導入します。[*7]
>         redis-server パッケージを導入します。
> 
>         <インストール>
> 
>         上記実行環境を整えたあと、
>         $ git clone git://github.com/osmfj/tilecache.git <http://github.com/osmfj/tilecache.git>
>         $ cd pkgs
>         $ sudo dpkg -i lua-nginx-redis_0.15-1_all.deb <https://github.com/osmfj/tilecache/blob/master/pkgs/lua-nginx-redis_0.15-1_all.deb>
>             これで、redisにアクセスできる環境ができます。このパッケージは
>          Ubuntu raringからしか提供されていないので、同梱されています。
>         $ cd tilecache
>         $ (cd nginx; sudo ./install.sh)
>            これで、nginxの設定が導入されます。サーバ名はtileになっている想定です。
>         $ cd render_expire
>         $ make
>         $ sudo make install
>            これで、render_expireが/opt/tileserver/bin に導入されます。
> 
> 
>         [*0] https://github.com/osmfj/tilecache
>         [*1] http://wiki.openstreetmap.org/wiki/Mod_tile
>         [*2] http://wiki.openstreetmap.org/wiki/Tirex
>         [*3] http://wiki.openstreetmap.org/wiki/Mapnik
>         [*4] http://nginx.org/ja/
>         [*5] https://launchpad.net/~mapnik/+archive/nightly-trunk
>         [*6] https://github.com/agentzh/lua-resty-redis
>         [*7] http://wiki.openstreetmap.org/wiki/Tirex/Building_and_Installing
> 
> 
> 
>         --
>         Hiroshi Miura
>         OpenStreetMap Foundation Japan
> 
>         _______________________________________________
>         Talk-ja mailing list
>         Talk-ja @ openstreetmap.org <mailto:Talk-ja @ openstreetmap.org>
>         http://lists.openstreetmap.org/listinfo/talk-ja
> 
> 
> 
>     _______________________________________________
>     Talk-ja mailing list
>     Talk-ja @ openstreetmap.org <mailto:Talk-ja @ openstreetmap.org>
>     http://lists.openstreetmap.org/listinfo/talk-ja
> 
> 
> 
> 
> _______________________________________________
> Talk-ja mailing list
> Talk-ja @ openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-ja
> 


-- 
-------------------------------------------------
名古屋大学大学院工学研究科計算理工学専攻
河口 信夫 <kawaguti @ nagoya-u.jp>
TEL: 052-789-4388  FAX: 052-789-4696



Talk-ja メーリングリストの案内