| 1 | = WMS および cache システム = |
| 2 | |
| 3 | == TileCache == |
| 4 | |
| 5 | MapServer は画像の表示、WMS やそれぞれの WFS プロトコルを使用している GML ファイルとしての全データソースの提供ができます。 |
| 6 | |
| 7 | CDで提供された独自のOSMデータを使用してMapServer インストールと相互に作用するためのインターフェースを作成できますが、どのようにOpenLayers と他のJavaScript API が WMSサーバーと相互作用するのかを説明します。それらは WMS-C を使用します。つまり、底辺が2のピラミッド階層です。そこでは、Level 0(最上階)は2^0^ 個のタイル、level 1 では2^1^ 、level 2 では2^2^ …となります。level 12 を表示することを考えてみると、このレベルでは、アプリケーションが表示されたデータ範囲を削除していても2^12^ 個のタイルを入手します。それは潜在的にWMSサーバーにたくさんの要求をします。中にはデータの複雑さ次第で返答が長いものや、何度も要求を繰り返すものもあります。 |
| 8 | |
| 9 | 特定のデータセットを考える場合、それらのデータは静的であり、行政区は時間によらず静的であると考えることができます。よって、それらの画像描写も静的で、ピラミッドレベル用の事前生成されたWMSの要求結果の cache を作成することができます。 |
| 10 | |
| 11 | この目標を達成するため、TileCache を使用することができます。 |
| 12 | |
| 13 | === TileCache のインストール === |
| 14 | |
| 15 | OSGeo4W ディストリビューションを使用して TileCache をインストールするために、Python をインストールしておかなければなりません。 |
| 16 | |
| 17 | はじめに、公式ウェブサイトのダウンロードセクションから TileCache 2.10 zip ファイルをダウンロードしてください。 |
| 18 | |
| 19 | 次にローカル C: \OSGeo4W\apps\ ディレクトリに tilecache-2.1.0.zip ファイルを解凍すると C: \OSGeo4W\apps\tilecache -2.10 ディレクトリが作成されますが、読み込みを簡単にするためにそれを C: \OSGeo4W\apps\tilecache という名前に変更してください。 |
| 20 | |
| 21 | Tilecache のインストールを終了するために、次のコマンドを実行してください。 |
| 22 | |
| 23 | {{{ |
| 24 | # cd C: \OSGeo4W\apps\tilecache |
| 25 | # python ez_setup.py |
| 26 | # cd C:\OSGeo4W\apps\Python25\Scripts |
| 27 | # python easy-install-2.5-sc ript.py TileCache |
| 28 | }}} |
| 29 | |
| 30 | これで TileCache のインストールが完了しました。 |
| 31 | |
| 32 | === TileCache インストールを展開する === |
| 33 | |
| 34 | C: \OSGeo4W\apps\tilecache ディレクトリから cgi スクリプト''tilecache.cgi'' を実行できるようにする前に、このファイルの最初の行を python full path に正しく設定されるよう修正するためにC: \OSGe o4W\apps\tilecache からファイルを編集しなければなりません。 |
| 35 | |
| 36 | 最終的にファイルは次のようになります。 |
| 37 | |
| 38 | |
| 39 | {{{ |
| 40 | #!C: /OSGeo4W/bin/python.exe -u |
| 41 | from TileCache import Service , cgiHandler, cfgfiles |
| 42 | |
| 43 | If __name__ == '__main__': |
| 44 | svc = Service.load(*cfgfiles) |
| 45 | cgiHandler(svc ) |
| 46 | }}} |
| 47 | |
| 48 | 次のコンテンツに従って、c : \OSGeo4W\httpd.d\ ディレクトリに httpd_loc al.conf ファイルを作成してください。 |
| 49 | |
| 50 | {{{ |
| 51 | Alias /tilecache/ "/OSGeo4W/apps/tilecache/" |
| 52 | |
| 53 | <Directory "C: \OSGeo4W/apps/tilecache/"> |
| 54 | SetEnv PYTHONPATH"C: \\OSGeo4W\\apps\\Python25\\lib\\site -packages\\setuptools-0.6c7- |
| 55 | py2.5.egg;C: \\OSGeo4W\\bin\\python25.zip;C: \\OSGeo4W\\apps\\Python25\\DLLs;C: \\OSGeo4W\\ |
| 56 | apps\\Python25\\lib;C: \\OSGeo4W\\apps\\Python25\\lib\\platwin; |
| 57 | C: \\OSGeo4W\\apps\\Python25\\lib\\libtk; |
| 58 | C: \\OSGeo4W\\bin;C: \\OSGeo4W\\apps\\Python25; C: \\OSGeo4W\\apps\\Python25\\lib\\site - |
| 59 | packages;C: \\OSGeo4W\\apps\\Python25\\lib\\site - |
| 60 | packages\\win32;C: \\OSGeo4W\\apps\\Python25\\lib\\site - |
| 61 | packages\\win32\\lib;C: \\OSGeo4W\\apps\\Python25\\lib\\site - |
| 62 | packages\\Pythonwin;C: \\OSGeo4W\\apps\\Python25\\lib\\site -packages\\wx-2.8-msw-unicode" |
| 63 | Options ExecCGI Indexes FollowSymLinks Multiviews |
| 64 | AllowOverride All |
| 65 | AddHandler cgi-script .cgi |
| 66 | Order allow,deny |
| 67 | Allow from all |
| 68 | </Directory> |
| 69 | }}} |
| 70 | |
| 71 | ここでは mod_fastcgi を含んでいないOSGeo4W Apache デフォルトインストールとして cgi バージョンを使用していることに注意してください。実用のプロジェクトの最適化に fastcgi あるいはmod_python として TileCache を使用します。この部分に関する公式のドキュメントのリンク |
| 72 | |
| 73 | パス情報を入手するために、コマンドラインから python を実行しなければなりません。一度 python 環境で以下を使用し、前に表示された PYTHONPATH 値と比較してください。 |
| 74 | |
| 75 | {{{ |
| 76 | >>> import sys |
| 77 | >>> print sys.path |
| 78 | }}} |
| 79 | |
| 80 | この python環境と Apache インストールから同じパス設定を入手してください。 |
| 81 | |
| 82 | httpd_local.conf ファイルを追加すると、PYTHONPATH が正常に処理されたかを正しく検証します。これでブラウザーから TileCache インストールを使用することができるでしょう。 |
| 83 | |
| 84 | 先に進む前に、変更をアカウントに反映させるために Apach ウェブサーバーを再起動させてください。 |
| 85 | |
| 86 | C: \OSGe o4W\apps\tilecache ディレクトリに進み、これらの行を置き換えるために tilecache.cfg ファイルを編集してください。 |
| 87 | |
| 88 | {{{ |
| 89 | [basic ] |
| 90 | type=WMS |
| 91 | url=http: //labs.me tac arta.com/wms/vmap0 |
| 92 | extension=png |
| 93 | }}} |
| 94 | |
| 95 | テーマによって(metacartaサーバーではなくローカルWMS サーバーを使用できるようにするために) |
| 96 | |
| 97 | {{{ |
| 98 | [Administrative] |
| 99 | type=WMS |
| 100 | url=http: //localhost/cgi-bin/mapserv.exe ?map=c : /OSGeo4W/maps/mapfile.map |
| 101 | layers=Administrative ,Highway # WMS layers list to display, your own layer names here . |
| 102 | extension=png # WMS image type |
| 103 | }}} |
| 104 | |
| 105 | それから、C: \OSGeo4W\apps\tilecache ディレクトリからindex.htmlファイルを編集し、basicストリングを検索してください。basicのストリングを Administrativeのストリングに置き換えるだけで、テストの準備ができます。 |
| 106 | |
| 107 | 最後の行は次のようになります。 |
| 108 | |
| 109 | |
| 110 | {{{ |
| 111 | layer = new OpenLayers.Layer.WMS("VMap0","tile cache.cgi?", |
| 112 | {layers: 'Administrative', format: "image/png" } ); |
| 113 | }}} |
| 114 | |
| 115 | === TileCache インストールをテストする === |
| 116 | |
| 117 | 任意のブラウザーへ進み、次のURLを入力してください:http://localhost/tilecache/ |
| 118 | |
| 119 | 下のスクリーンショットのような相互作用的なウェブアプリケーションを入手できます。それはWMS サーバーとして動作しているMapServer を通してTileCache インストールと相互作用している最初のオープンレイヤークライアントインターフェースです。既定のOpenLayers コントローラーを使用している表示されたマップを参照できますが、次で詳細を見ることができます。 |
| 120 | |
| 121 | === TileCache インストールの使用方法を最適化する === |
| 122 | |
| 123 | 以下の説明で、TileCache の使用ができます。 cache はそれと関連性のあるユーザーのリクエスト次第で満たされるでしょう。しかし、タイルの表示の高速化を図るために cache のようなシステムを事前に作成すると良いでしょう。 |
| 124 | |
| 125 | それを行うために、新たに開いた TileCache インストールからtilecache_seed.py Python スクリプトを使用することができます。 |
| 126 | |
| 127 | そのためには、次のコマンドを使用してください。 |
| 128 | |
| 129 | {{{ |
| 130 | # cd c : \OSGeo4W\apps\tilecache |
| 131 | # python tilecache _se ed.py Administrative 1 6 |
| 132 | }}} |
| 133 | |
| 134 | これで、以前に引用されたピラミッドを覚えている場合、多数のタイルを作成することがわかります。 |
| 135 | |
| 136 | しかしながら、このtitlecache_seed.pyの使用方法と、どの境界ボックスも定義しないことは、whole world extentionのcacheを作成することです。これらはベトナムのエリアだけを見る場合は必要ありません。 |
| 137 | |
| 138 | 高いレベルの範囲を扱うには、次のコマンドラインを使用してください。 |
| 139 | |
| 140 | {{{ |
| 141 | # cd c : \OSGeo4W\apps\tilecache |
| 142 | # python tilecache _seed.py Administrative 6 9 -b 102.148611,8.633287,109.453599,23.377778 |
| 143 | }}} |
| 144 | |
| 145 | これで、6から8までのレベルを作成します。 |