Version 3 (modified by djay, 14 years ago) |
---|
Exercise ¶
You know everything now about writting zcfg matadata files and get short pieces of code in service.c or ogr_service_provider.py depending if you choosen C or Python programming language respectively.
The goal of this exercise is to implement the following multiple geometries services :
- Intersection
- Union
- Difference
- SymDifference
C version ¶
Your are now invited to edit the source.c file you have created during this workshop to add the multiple geometries, using the following OGR C-API functions :
- OGR_G_Intersection(OGRGeometryH, OGRGeometryH)
- OGR_G_Union(OGRGeometryH, OGRGeometryH)
- OGR_G_Difference(OGRGeometryH, OGRGeometryH)
- OGR_G_SymmetricDifference(OGRGeometryH, OGRGeometryH)
You can use the Boundary.zcfg file as example, rename the InputPolygon input to InputEntity1 and add a similar input named IntputEntity2. You are invited to update other values in the ZOO Metadata File to set the proper metadata informations.
Python Version ¶
Your are invited to edit the ogr_ws_service_provider.py file you created during this workshop to add the multiple geometries using the following osgeo.ogr Geometry methods applied on the first Geometry instance :
- Intersection(Geometry)
- Union(Geometry)
- Difference(Geometry)
- SymmetricDifference?(Geometry)
You can once again use the Boundary.zcfg file as example, rename the InputPolygon? input to InputEntity1 and add a similar input named IntputEntity2. You are invited to update other values in the ZOO metadata file to set the proper metadata informations.
Testing your services ¶
Once the multiple geometries Services are deployed on your local environment, please reload the zoo-ogr.html created during the previous section from your browser and test your brand new ZOO Services.