6 | | 翻訳中・・・ |
| 6 | 以上で、zcfg メタデータファイルの記述方法と、 C言語またはPython言語の選択によって、{{{service.c}}} または {{{ogr_service_provider.py}}} の短いコードが得られました。 |
| 7 | この演習のゴールは、次のような複合ジオメトリサービスを実装することです : |
| 8 | |
| 9 | * Intersection |
| 10 | * Union |
| 11 | * Difference |
| 12 | * !SymDifference |
| 13 | |
| 14 | == C バージョン == |
| 15 | |
| 16 | {{{source.c}}} ファイルの編集を選択された方は、このワークショップ演習を通して、追加した複合ジオメトリは、次のOGR C-API 関数を使用しています: |
| 17 | |
| 18 | * [http://www.gdal.org/ogr/ogr__api_8h.html#5a271b5c7b72994120e7a6bbc7e7e5cb OGR_G_Intersection](OGRGeometryH, OGRGeometryH) |
| 19 | * [http://www.gdal.org/ogr/ogr__api_8h.html#f58f2cfbdb2497659d2eabea73d3b8a0 OGR_G_Union](OGRGeometryH, OGRGeometryH) |
| 20 | * [http://www.gdal.org/ogr/ogr__api_8h.html#497977bec6ecd9dade7a9694f776be64 OGR_G_Difference](OGRGeometryH, OGRGeometryH) |
| 21 | * [http://www.gdal.org/ogr/ogr__api_8h.html#d6dacf495617a230c6f19950bc415f17 OGR_G_SymmetricDifference](OGRGeometryH, OGRGeometryH) |
| 22 | |
| 23 | {{{Boundary.zcfg}}} ファイルを例に、 {{{InputPolygon}}} を {{{InputEntity1}}} にして、同様に {{{IntputEntity2}}} を追加することができます。ZOOメタデータファイルのそのほかの値についても、適当なメタデータ情報を設定してください。 |
| 24 | |
| 25 | |
| 26 | == Python バージョン== |
| 27 | |
| 28 | {{{ogr_ws_service_provider.py}}} ファイルの編集を選択された方は、このワークショップ演習を通して、追加した複合ジオメトリは、次の {{{Geometry}}} インスタンスに適用された {{{osgeo.ogr}}} {{{Geometry}}} 関数を使用しています: |
| 29 | |
| 30 | * Intersection(Geometry) |
| 31 | * Union(Geometry) |
| 32 | * Difference(Geometry) |
| 33 | * !SymmetricDifference(Geometry) |
| 34 | |
| 35 | {{{Boundary.zcfg}}} ファイルを例に、 {{{InputPolygon}}} を {{{InputEntity1}}} にして、同様に {{{IntputEntity2}}} を追加することができます。ZOOメタデータファイルのそのほかの値についても、適当なメタデータ情報を設定してください。 |
| 36 | |
| 37 | == サービスのテスト == |
| 38 | |
| 39 | ここで、複合ジオメトリサービスは、ローカル環境の上に配置されました。ブラウザ上から、前のセクションで作成した {{{zoo-ogr.html}}} をリロードしてください。そして新しいZOOサービスをテストしてください。 |
| 40 | [[BR]] |
| 41 | [wiki:ZooWorkshop/FOSS4GJapan WorkShop table of content] |