Changes between Version 2 and Version 3 of ZooWorkshop/FOSS4GJapan/ja/CreatingOGRBasedWebServices


Ignore:
Timestamp:
Oct 27, 2010, 3:21:28 PM (9 years ago)
Author:
hayashi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ZooWorkshop/FOSS4GJapan/ja/CreatingOGRBasedWebServices

    v2 v3  
    4343=== バッファサービス作成 ===
    4444
    45 我々はバッファサービスを使用することができますが、他のサービスに比べ多くの引数を取得可能です。実際コードは、境界や凸包、そして中心点生成サービスを実装する際に使用されるものと少々異なっているからです。
     45我々はバッファサービスを使用することができますが、他のサービスに比べ多くの引数を必要とします。実際コードは、境界や凸包、そして中心点生成サービスを実装する際に使用されるものと少々異なっているからです。
    4646
    47 バッファサービスは、ジオメトリを入力したものを取得しますが、使用するのは {{{BufferDistance}}のパラメータです。これにより、{{{BufferDistance}}が単純な整数値になるので、 {{{LitteralData}}}ブロックを定義できるでしょう。そのような種類の入力値を読み込んでアクセスすると、以前使用したのと同じ機能が使用されます。
     47バッファサービスもまた、入力引数としてジオメトリを必要としますが、使用するのは {{{BufferDistance}} のパラメータです。これにより、単純な整数値として {{{BufferDistance}} の{{{LitteralData}}} ブロックを定義できるでしょう。そのような種類の入力値の読込処理は、以前使用したのと同じ機能が使用されます。
    4848
    4949==== C バージョン ====
    5050
    51 あなたが、最初の境界サービスのソースコードへ戻るならば、以下について非常に複雑になることに気づくべきではありません。実際、あなたはBufferDistanceのアクセスに加えて、ラインを変更する際に[http://www.gdal.org/ogr/ogr__api_8h.html#1ca0bd5c0fcb4b1af3c3973e467b0ec0 OGR_G_Buffer]が( {{{OGR_G_GetBoundary}}}の代わりに)呼び出されるべきだからです。ここに、全てのlcodeを示します:
     51あなたが、最初の境界サービスのソースコードへ戻るならば、以下について非常に複雑になったとは気づかれないでしょう。実際、あなたはBufferDistance 引数のアクセスに加えて、[http://www.gdal.org/ogr/ogr__api_8h.html#1ca0bd5c0fcb4b1af3c3973e467b0ec0 OGR_G_Buffer] が(  {{{OGR_G_GetBoundary}}} の代わりに)呼び出されるべように変更するだけです。ここに、全てのlcodeを示します:
    5252
    5353{{{
     
    8888}}}
    8989
    90 新しいコードは、あなたの{{{service.c}}} ファイルに挿入し、再コンパイルの後に{{{/usr/lib/cgi-bin/}}} ディレクトリにあるZOOサービスプロバイダーの旧バージョンと置き換わらなければなりません。あなたはもちろん、対応するZOOのメタデータファイルを同じディレクトリに置かなければなりません。
     90新しいコードは、あなたの{{{service.c}}} ファイルに挿入し、再コンパイルの後に {{{/usr/lib/cgi-bin/}}} ディレクトリにあるZOOサービスプロバイダーの旧バージョンと置き換えなければなりません。もちろん、対応するZOOのメタデータファイルを同じディレクトリに置かなければなりません。
    9191
    92 以前の説明にあったように、ZOOカーネルは、zcfgファイルで定義されるよりも多くの引数を渡すことができます。なので、{{{Boundary.zcfg}}}ファイルを{{{Buffer.zcfg}}}と改名したコピーを使用して、バッファ識別子を記載してみましょう。その際、以前も行ったように {{{Execute}}} リクエストを用いてサービスをテストしてください。そうすると、{{{ResponseDocument}}}でバッファの結果を得られるでしょう。
     92以前の説明にあったように、ZOOカーネルは、zcfg ファイルで定義されるよりも多くの引数を渡すことができます。ですから、{{{Boundary.zcfg}}} ファイルを {{{Buffer.zcfg}}} と改名したコピーを使用して、バッファ識別子を記載してみましょう。その際、以前も行ったように {{{Execute}}} リクエストを用いてサービスをテストしてください。そうすると、{{{ResponseDocument}}} でバッファの結果を得られるでしょう。
    9393
    94 {{{BufferDistance}}}への入力がサービスをパスするならば、上のコードをチェックすることに注意したかもしれません。 もし、そうでなければデフォルト値として1を使用するようにして下さい。そうすると、なぜ前のクエリーにさらに入力する必要がないかがわかるからです。
     94{{{BufferDistance}}}  入力値がサービスをパスするかどうか上のコードをチェックすることに注意しましょう。 もし、そうでなければデフォルト値として1を使用するようにして下さい。前の入力値を使わないようにするためです。
    9595
    96 リクエストに!DataInputs値を加えることによって、ジオメトリのバッファを計算するのにあなたのサービスで使用された{{{BufferDistance}}} 値を変えることができます。KVPシンタックスを使用することで、各!DataInputsが、セミコロンによって分割されることに注意してください。
     96リクエストに !DataInputs 値を加えることによって、ジオメトリのバッファを計算するのにあなたのサービスで使用された{{{BufferDistance}}} 値を変更することができます。KVP シンタックスを使用することで、各 !DataInputs が、セミコロンによって分割されることに注意してください。
    9797
    9898以前のリクエスト:
     
    108108}}}
    109109
    110 {{{BufferDistance}}}値を2に設定する場合、異なる結果が与えられるでしょう。なぜなら、ソースコード上で1をデフォルト値と定めたため、いかなるパラメータも渡されないからです。
     110{{{BufferDistance}}} 値を 2 に設定する場合、異なる結果が与えられるでしょう。なぜなら、ソースコード上で1をデフォルト値と定めたため、いかなるパラメータも渡されないからです。
    111111
    112112ここで、 http://localhost/test_services.html のHTMLフォームから使用するXML形式における同じクエリを見つけられるでしょう:
     
    144144==== Python バージョン ====
    145145
    146  すでにユーティリティ機能のcreateGeometryFromWFSとoutputResultを定義しているので、コードはこれと同じくらい簡単です:
     146 すでにユーティリティ機能の createGeometryFromWFS と outputResult を定義しているので、コードはこれと同じくらい簡単です:
    147147
    148148{{{
     
    161161}}}
    162162
    163 ここでは、["BufferDistance"]["value"]のインプットを、ジオメトリインスタンスにおけるバッファ方法を引数として加えたのみです。一旦このコードを、ogr_ws_service_provider.py ファイルに追加した後で、ZOOカーネルのディレクトリの中に(もしくは、ZOOサービスプロバイダのルートディレクトリからインストールする形で)それをコピーしてください。また、次のセクションでBuffer.zcfgファイルを詳述する必要があることに注意してください。
     163ここでは、["!BufferDistance"]["!value"] のインプットを、ジオメトリインスタンスにおけるバッファ方法を引数として加えたのみです。一旦このコードを、ogr_ws_service_provider.py ファイルに追加した後で、ZOOカーネルのディレクトリの中に(もしくは、ZOOサービスプロバイダのルートディレクトリからインストールする形で)それをコピーしてください。また、次のセクションで Buffer.zcfg ファイルを詳述する必要があることに注意してください。
    164164
    165 ==== バッファ !MetadataFile ファイル ====
     165==== バッファ メタファイル ====
    166166
    167  クライアントにサービスがこのパラメータをサポートするようにするため、 サービス・メタデータ・ファイルに{{{BufferDistance}}}を加えなければなりません。 そうした上で、あなたのオリジナルのBoundary.zcfgファイルをBuffer.zcfgファイルとしてコピーして、!DataInputsのブロックに以下のラインを加えてください。
     167クライアントにサービスがこのパラメータをサポートすることを知らせるようにするため、 サービス・メタデータ・ファイルに {{{BufferDistance}}} を加えなければなりません。 そうした上で、あなたのオリジナルのBoundary.zcfg ファイルを Buffer.zcfg ファイルとしてコピーして、!DataInputs のブロックに以下のラインを加えてください。
    168168
    169169{{{
     
    185185}}}
    186186
    187   {{{minOccurs}}}は、パラメータの入力が任意であることを意味するために0が設定されているので、パスを通す必要はありません。 むしろ、ZOOカーネルは、任意のパラメータのためにデフォルト設定値とサービス機能にデフォルト値を通すことを知る必要があります。
     187 {{{minOccurs}}} は、パラメータの入力が任意であることを意味するために 0 が設定されているので、パスを通す必要はありません。 むしろ、ZOOカーネルは、任意のパラメータのためにデフォルト設定値とサービス機能にデフォルト値を通すことを知る必要があります。
    188188
    189 あなたは、ここで {{{Buffer.zcfg}}}ファイルのフルコピーを取得できます。
     189あなたは、ここで {{{Buffer.zcfg}}} ファイルのフルコピーを取得できます。
    190190
    191191http://zoo-project.org/trac/browser/trunk/zoo-services/ogr/base-vect-ops/cgi-env/Buffer.zcfg
    192192
    193 あなたは、バッファサービスのために!GetCapabilitiesや !DescribeProcess そして Execute をZOOカーネルにたずねることが出来ます。
     193あなたは、バッファサービスついて !GetCapabilities や !DescribeProcess そして Execute をZOOカーネルにたずねることが出来ます。
    194194
    195195[wiki:ZooWorkshop/FOSS4GJapan/ja/UsingZooFromOSGeoLiveVM Prev.] | [wiki:ZooWorkshop/FOSS4GJapan WorkShop table of content] | [wiki:ZooWorkshop/FOSS4GJapan/ja/BuildingWPSClientUsingOL Next]

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png