0

I have been trying out several solutions to try to work with GML 3.2 geometry served through WFS 2.0 data services.

There seems to be very little experience and software out there that manages to handle complex feature types and GML3.2 geometries.

I have been trying out 52 north's WPS package, which is supposed to fully support GML2.1 > GML3.2 and also should process data with plugins for GRASS, sextante etc.

However while trying to send a POST processing request, for example unsing one of my public WFS2.0 > GML3.2 geometries I get the following error:

org.xml.sax.SAXException: Handler for gml:MultiSurface could not be found.

You can see this happening if you are sending a POST request to the following URL: http://geoprocessing.demo.52north.org/latest-wps/WebProcessingService?

The GML3.2 data I am sending as input data: http://inspire.biodiversity.ro/geoserver/ows?service=wfs&version=2.0.0&request=getfeature&typename=au:AdministrativeUnit&featureID=BC

or

http://inspire.biodiversity.ro/geoserver/ows?service=wfs&version=2.0.0&request=getfeature&typename=au:AdministrativeUnit&featureID=EPT

enter image description here

I am using the Open HTTP requester plugin from Firefox to submit this reqeust, sending the request as application/xml. This is the body of the request I am sending:

<Execute service="WPS" version="1.0.0" 
xmlns="http://www.opengis.net/wps/1.0.0" 
xmlns:ns="http://www.opengis.net/ows/1.1" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:base="http://inspire.ec.europa.eu/schemas/base/3.3"
xmlns:au="http://inspire.ec.europa.eu/schemas/au/4.0"
xmlns:br="http://inspire.ec.europa.eu/schemas/br/4.0"
xmlns:ps="http://inspire.ec.europa.eu/schemas/ps/4.0"
xmlns:gn="http://inspire.ec.europa.eu/schemas/gn/4.0"
xmlns:gco="http://www.isotc211.org/2005/gco"
xmlns:gmd="http://www.isotc211.org/2005/gmd"
xmlns:wfs="http://www.opengis.net/wfs" 
xmlns:wps="http://www.opengis.net/wps/1.0.0" 
xmlns:ows="http://www.opengis.net/ows/1.1" 
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:ogc="http://www.opengis.net/ogc" 
xmlns:wcs="http://www.opengis.net/wcs/1.1.1" 
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:it.geosolutions="http://www.geo-solutions.it" 
xsi:schemaLocation="
http://www.opengis.net/wps/1.0.0 
http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd 
http://inspire.ec.europa.eu/schemas/au/4.0 http://inspire.ec.europa.eu/schemas/au/4.0/AdministrativeUnits.xsd 
http://www.opengis.net/gml/3.2 
http://inspire.biodiversity.ro:80/geoserver/schemas/gml/3.2.1/gml.xsd 
http://www.opengis.net/wfs/2.0 
http://inspire.biodiversity.ro:80/geoserver/schemas/wfs/2.0/wfs.xsd"
>  <ns:Identifier>org.n52.wps.server.algorithm.intersection.IntersectionAlgorithm</ns:Identifier>
  <DataInputs>
    <Input>
      <ns:Identifier>Polygon1</ns:Identifier>
      <Reference mimeType="text/xml; subtype=gml/3.2.1" xlink:href="http://inspire.biodiversity.ro/geoserver/ows?service=wfs&amp;version=2.0.0&amp;request=getfeature&amp;typename=au:AdministrativeUnit&amp;featureID=BC"/>
    </Input>
    <Input>
      <ns:Identifier>Polygon2</ns:Identifier>
      <Reference mimeType="text/xml; subtype=gml/3.2.1" xlink:href="http://inspire.biodiversity.ro/geoserver/ows?service=wfs&amp;version=2.0.0&amp;request=getfeature&amp;typename=au:AdministrativeUnit&amp;featureID=EPT"/>
    </Input>
  </DataInputs>
  <ResponseForm>
    <ResponseDocument>
      <Output mimeType="application/WFS">
        <ns2:Identifier xmlns:ns1="http://www.opengis.net/ows/1.1" xmlns:ns="http://www.opengis.net/wps/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://www.opengis.net/ows/1.1">intersection_result</ns2:Identifier>
      </Output>
    </ResponseDocument>
  </ResponseForm>
</Execute>
  • What is your question? – Ian Turton Aug 29 '16 at 18:53
  • I was hoping to get some insight into the error message raised by the 52North WPS: org.xml.sax.SAXException: Handler for gml:MultiSurface could not be found. maybe get some insight into what is wrong with my execute request. – Sorin RUSU Aug 30 '16 at 7:52
1

The OGR library supports GML 3.2. Therefore, you are able to access it in a PyWPS process using that library (e.g. python-gdal).

The particular error you report is specific to the 52North server, not the WPS protocol itself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.