Changes between Initial Version and Version 1 of OSGeo4W_jp/WMSandcachesystem


Ignore:
Timestamp:
Mar 29, 2010, 4:12:50 AM (14 years ago)
Author:
yukatohhana
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OSGeo4W_jp/WMSandcachesystem

    v1 v1  
     1= WMS および cache システム =
     2
     3== TileCache ==
     4
     5MapServer は画像の表示、WMS やそれぞれの WFS プロトコルを使用している GML ファイルとしての全データソースの提供ができます。
     6
     7CDで提供された独自の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
     15OSGeo4W ディストリビューションを使用して 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
     21Tilecache のインストールを終了するために、次のコマンドを実行してください。
     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
     34C: \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
     41from TileCache import Service , cgiHandler, cfgfiles
     42
     43If __name__ == '__main__':
     44svc = Service.load(*cfgfiles)
     45cgiHandler(svc )
     46}}}
     47
     48次のコンテンツに従って、c : \OSGeo4W\httpd.d\ ディレクトリに httpd_loc al.conf ファイルを作成してください。
     49
     50{{{
     51Alias /tilecache/ "/OSGeo4W/apps/tilecache/"
     52
     53<Directory "C: \OSGeo4W/apps/tilecache/">
     54SetEnv PYTHONPATH"C: \\OSGeo4W\\apps\\Python25\\lib\\site -packages\\setuptools-0.6c7-
     55py2.5.egg;C: \\OSGeo4W\\bin\\python25.zip;C: \\OSGeo4W\\apps\\Python25\\DLLs;C: \\OSGeo4W\\
     56apps\\Python25\\lib;C: \\OSGeo4W\\apps\\Python25\\lib\\platwin;
     57C: \\OSGeo4W\\apps\\Python25\\lib\\libtk;
     58C: \\OSGeo4W\\bin;C: \\OSGeo4W\\apps\\Python25; C: \\OSGeo4W\\apps\\Python25\\lib\\site -
     59packages;C: \\OSGeo4W\\apps\\Python25\\lib\\site -
     60packages\\win32;C: \\OSGeo4W\\apps\\Python25\\lib\\site -
     61packages\\win32\\lib;C: \\OSGeo4W\\apps\\Python25\\lib\\site -
     62packages\\Pythonwin;C: \\OSGeo4W\\apps\\Python25\\lib\\site -packages\\wx-2.8-msw-unicode"
     63Options ExecCGI Indexes FollowSymLinks Multiviews
     64AllowOverride All
     65AddHandler cgi-script .cgi
     66Order allow,deny
     67Allow 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
     82httpd_local.conf ファイルを追加すると、PYTHONPATH が正常に処理されたかを正しく検証します。これでブラウザーから TileCache インストールを使用することができるでしょう。
     83
     84先に進む前に、変更をアカウントに反映させるために Apach ウェブサーバーを再起動させてください。
     85
     86C: \OSGe o4W\apps\tilecache ディレクトリに進み、これらの行を置き換えるために tilecache.cfg ファイルを編集してください。
     87
     88{{{
     89[basic ]
     90type=WMS
     91url=http: //labs.me tac arta.com/wms/vmap0
     92extension=png
     93}}}
     94
     95テーマによって(metacartaサーバーではなくローカルWMS サーバーを使用できるようにするために)
     96
     97{{{
     98[Administrative]
     99type=WMS
     100url=http: //localhost/cgi-bin/mapserv.exe ?map=c : /OSGeo4W/maps/mapfile.map
     101layers=Administrative ,Highway  # WMS layers list to display, your own layer names here .
     102extension=png                   # WMS image type
     103}}}
     104
     105それから、C: \OSGeo4W\apps\tilecache ディレクトリからindex.htmlファイルを編集し、basicストリングを検索してください。basicのストリングを Administrativeのストリングに置き換えるだけで、テストの準備ができます。
     106
     107最後の行は次のようになります。
     108
     109
     110{{{
     111layer = 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までのレベルを作成します。