JA:Tiles@home
Discontinued - Tiles@home is no longer active |
全般
Tiles@home(略:T@H)は、 Osmarender タイルをレンダリングする分散プログラムです。Osmarender, maplint と captionless レイヤーが、この方法で作られています。Mapnik マップとは、別々にレンダリングされます。
システムはどのように動いているか
T@H はサーバーソフトウェアで、Tiles@home websiteのTahngo (2世代目)で走っています。サーバーは地図データの更新から、レンダーのリクエストを得ています。たくさんの人が、自分のコンピュータでクライアントソフトウェアを走らせて、どのマップをレンダーすればいいかを尋ね、そのレンダーしたマップをサーバーに返します。
地図を見る
以下のページは、上記のサーバーから Osmarenderer (tiles@home) タイルを取ってきているものです。
- メインページ http://www.openstreetmap.org のSlippy Mapでタイルを見るには、右上の + アイコンを押して、"Osmarender" を選択しましょう。
- マップブラウザーは、一つのSlippy Map ブラウザーです。タイルのレンダリング要求をだす機能があります。
- スタティックマップブラウザーは、Slippy Map ではないブラウザーです。タイルのレンダリング要求をだす機能があります。
- InformationFreeway は、フルスクリーン Slippy Map で、dev タイルサーバからのタイルも使っています。手動でタイルのレンダリング要求をだす機能があります。また、tiles@home レイヤーにパーマリンクを付ける事ができます。
詳細
- 概要は、OpenStreetMap コンポーネントの概要を見てください。
データは、いろいろな情報源からOpenStreetMap データベース2やってきます。どこかのデータが変わったとき、その位置は T@H サーバーの要求クエリーに加わります。 ユーザーもまた、手動である地域の再レンダリング要求を出すこともできます。それぞれの T@H クライアントは、このサーバに接続し、レンダリングするべきタイルを尋ねます。ジョブは、ズームレベル 12 のタイルで定義されます。クライアントは、ジョブを受け取ったら、レベル12から17までのタイルをレンダリングし、サーバーにPNG イメージの束をアップロードします。12 より低いズームレベルは、アップロードされたCaptionless(ラベルなし) ズームレベル 12 タイルを基に、サーバで縫い合わせられます。 T@H tahngo サーバ(2世代目) は、django (python フレームワーク) で書かれています。
再レンダリング要求をする
t@h サーバーのタイルは、変更されたタイルのAPIコールから自動的にレンダリング要求されます。これにより手動要求せずに、2から4時間くらいでほとんどの変更が表れます。いくつかのタイルはエラーのために、手動で要求しなければならないときもあります。
- 手動要求は、 http://informationfreeway.org のズームレベル 12 で、r を押すと再レンダリング要求、 i を押すとレンダリング状況に関する情報(誰がレンダリングしたかとか、サイズなど)が出ます。
- ソフトウェアに再レンダリング要求させるには、Tiles@home/APIsを見てください。
手動要求したタイルは、自動要求のものより優先的にレンダリングされる仕組みになってます。ジョブキューの長さとあなたが指定したタイルの complexity (複雑さ)によりますが、5分から数時間くらいかかります。タイルがいつ再レンダリングが完了したかに、気付かないでしょう。
一度にあまりにもたくさんの"手動"要求 (手動というより、スクリプトなどによって出されるもの) は、キューのあなたの部分がいくらか空になるまでは、自動的に優先度が下がります。あなたの要求はレンダリングされますが、あなたが思ったほど優先されないでしょう。
関連
- OSM@home このプログラムの違うバージョン。市のイメージをレンダリングする。
- Slippy map tilenamesとtiles@home/Zoom levels
状況
古い tiles@homeのクライアントの変更やアナウンスメントは、Tiles@home/Messagesを見てください。サーバーのステータスは、Tiles@home/Serverを見てください。
統計情報
もっと統計情報があります。詳細はウェブサイトを見てください。
- Request queue リクエストのキュー (レンダリング待ちタイルの表)
- サーバーの状態
- クライアントを走らせているユーザーの貢献度
クライアントはどう働くか
クライアントがタイルのリクエストを受け取ると次のように処理します。
ズームレベル12から17のレンダリング
- APIを通して、処理する領域のレベル12タイルのOSMデータを一度だけダウンロードします。 これはXMLデータ構造になっています。
- 再帰的な機能によって、SVGのグラフィック形式を生成します。生成するズームレベルは、12, 13, 14, 15, 16, 17です。(Osmarenderによってなされます。
- 各ズームレベルごとに、大きな一つのPNGファイルが生成されます。それが、いくつか小さいPNGファイルに分割されます。
- 新しいプロセスが生成されて、タイルセットをzipファイルに圧縮します。そして、t@hサーバのtileレイヤーにアップロードされます。
ズームレベル6から11のレンダリング
この記述は、クライアントとサーバーで生成されている lowzoomを参照しています。
- z12 タイルセットが生成される時に、captionless タイルがズームレベル12で生成されています。これは、ズームレベル0から11までを生成する時の基礎レイヤーとして使われます。
- この過程は3ステップあります:
- ズームレベル 12 から 17 で使われたのと似たような方法で、キャプションだけが入っている半透明タイルがクライアントで生成され、アップロードされます。これを caption レイヤーと呼びます。何もアップロードされないときは、完全に透明なタイルが使われます。
- captionless タイルのセットは、サーバーでタイル縫い合わせ法で生成されます。captionless ズーム 12 タイルは、このステップでの基礎として使われます。これをcaptionlessレイヤーと呼びます。
- 最後に、 tile レイヤーは、サーバー上でcaptionlessレイヤーの上に caption レイヤーを重ね合わせて作られます。
今すぐに、min_z=6 で、"caption" レイヤーにも要求を発行し、サーバーに t@h クライアントに向けてリクエストを出させます。問題は、通常の t@h クライアントが caption レイヤーを作ることができるように設定されていないこと、z6 から z11 タイルセットを生成することが多分できないことです。
ズームレベル0から5のレンダリング
tile レイヤーは、レベル6のタイルの縫い合わせ法によって生成されます。これは現在サーバー上で手動で行われています。
協力の仕方
クライアントを走らせる
クライアントプログラムを走らせることができます。このプログラムは、地図の一部をレンダリングしてサーバにアップロードします。すこしは対話的モードがありますが、多く場合は、完全自動で実行されるモードで利用します。
- あなたのOSMアカウントをアップデートとレンダリングに使います。
- あなたのPCに手動で、 Tiles@homeをインストールできます。 つぎの インストールガイドを参照してください。技術的なことが嫌いな人へ: これを実行することが難しいのは覚悟しておいてください。でも、恐れずやってみましょう。意外と簡単かもしれません。
- Windowsには、自動インストーラーがあります。同じページにマニュアルインストールの仕方もあります。
- 完全な仮想マシンをダウンロードすることもできます。その中には、必要なものはすべてインストールされています。したがって、あなたは仮想マシンをコンピュータ上で実行するだけです。ホストPCとしては、Linux, Windows, Mac が対応します。ただし、仮想マシンを実行するフリーソフトのVirtualBox というソフトウエアが必要です。処理は、バックグランドで実行されるので、通常のPCの処理を継続することができます。 Virtual Tiles@Home参照のこと。
- 日本語に対応するために、仮想マシンイメージを変更する必要があるかもしれません。
- tiles@home レンダリング用の Fedora 9 (x86_64) のバーチャルマシーン向けキックスタート設定ファイルがあります。説明は ここです。
- AMIの"ベアボーン"Amazon's Elastic Compute Cloud (EC2)が、開発されテスト中です。(2009年7月9日の情報) これは、必要なものは全てプレインストールされているFedora 環境です。"ami-cb39d8a2"で起動し、SSH経由でログインし、説明を見る事ができます。 (上のインストールガイドにもある "Running the program"も見てください。) 質問や意見があれば、Larry Gilbertに連絡を取ってください。
タイルイメージをサーブ(提供)する
もっと多様なサーバーが必要です。需要は広がっています。
クライアントの開発
クライアントプログラム、ウェブサイト、関連ツールを開発する手伝いをしてください。
- tiles@home/Dev/Client
- tiles@home/Dev/Coastline
- tiles@home/Dev/Interim_Coastline_Support
- tiles@home/Dev/Website
- tiles@home/Dev/Tools
- tiles@home/ColorPallete クライアントでの減色について。
- A project attempting to make Tiles@Home available through the rPath Application Platform has been abandoned due to technical snafus and a lack of general help from the rPath community. If interested in taking it over, contact Larry Gilbert.
サーバーの開発
- サーバーソフトウェアを走らせ、開発してみる人向けの新しいインストールガイドがあります。
- tiles@home/Tileset_as_one_file
- tiles@home/RFC 開発過程の議論と変更の提案
- 使用感レポート - t@h システムに関わるあなたが感じる問題
- tiles@home/Dev/Appearance グラフィックの選択とレンダリングルールの議論
- Tiles@home/Problems 大きな領域のレンダリングの問題。
- Tiles@home/The blank tile problem 空のタイルの保存
Admins
基盤として、t@h はTiles@home/Adminsに依存しています。誰がアクセスしたか、誰が何をしたか、など www からの OSM API データに基づいて更新する必要があります。