ZooWorkshop: FOSS4GJapan: ja: Exercice - ZOO-Project/ZOO-Project GitHub Wiki
以上で、zcfg メタデータファイルの記述方法と、 C言語またはPython言語の選択によって、service.c または ogr_service_provider.py の短いコードが得られました。 この演習のゴールは、次のような複合ジオメトリサービスを実装することです :
- Intersection
- Union
- Difference
- SymDifference
source.c ファイルの編集を選択された方は、このワークショップ演習を通して、追加した複合ジオメトリは、次のOGR C-API 関数を使用しています:
- OGR_G_Intersection(OGRGeometryH, OGRGeometryH)
- OGR_G_Union(OGRGeometryH, OGRGeometryH)
- OGR_G_Difference(OGRGeometryH, OGRGeometryH)
- OGR_G_SymmetricDifference(OGRGeometryH, OGRGeometryH)
<tt>Boundary.zcfg</tt> ファイルを例に、 <tt>InputPolygon</tt> を <tt>InputEntity1</tt> にして、同様に <tt>IntputEntity2</tt> を追加することができます。ZOOメタデータファイルのそのほかの値についても、適当なメタデータ情報を設定してください。
ogr_ws_service_provider.py ファイルの編集を選択された方は、このワークショップ演習を通して、追加した複合ジオメトリは、次の Geometry インスタンスに適用された osgeo.ogr Geometry 関数を使用しています:
- Intersection(Geometry)
- Union(Geometry)
- Difference(Geometry)
- SymmetricDifference(Geometry)
<tt>Boundary.zcfg</tt> ファイルを例に、 <tt>InputPolygon</tt> を <tt>InputEntity1</tt> にして、同様に <tt>IntputEntity2</tt> を追加することができます。ZOOメタデータファイルのそのほかの値についても、適当なメタデータ情報を設定してください。
ここで、複合ジオメトリサービスは、ローカル環境の上に配置されました。ブラウザ上から、前のセクションで作成した zoo-ogr.html をリロードしてください。そして新しいZOOサービスをテストしてください。
ワークショップ 目次