opengeospatial / ets-wfs20

Executable Test Suite for WFS 2.0
Other
9 stars 11 forks source link

Test intersectsCurve fails with TopologyException #190

Open Kate-Lyndegaard opened 3 years ago

Kate-Lyndegaard commented 3 years ago

Hi, I am receiving a topology error for a WFS service.

WFS service: https://haleconnect.com/ows/services/org.223.f8a77f5a-1260-41be-892a-7d57c2983f18_wfs?SERVICE=WFS&REQUEST=GetCapabilities&VERSION=2.0.0

The test IntersectsTests.intersectsCurve() fails twice with the exception: side location conflict [ (930415.328, 7377006.574, NaN) ]

INSPIRE Validator Test report: WFS_Validator_Report.zip

I am not sure if this error is related to #125
I would appreciate your insight.

Kind regards, Kate

dstenger commented 3 years ago

Thank you for reporting.

@keshav-nangare Can you please try to reproduce the reported behavior on the master branch of the WFS 2.0 test suite?

dstenger commented 3 years ago

The test sends following:

POST https://haleconnect.com/ows/services/org.223.f8a77f5a-1260-41be-892a-7d57c2983f18_wfs

<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs/2.0" count="10" service="WFS"
version="2.0.0">
<wfs:Query xmlns:ns15="http://inspire.ec.europa.eu/schemas/am/4.0"
typeNames="ns15:ManagementRestrictionOrRegulationZone">
<fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0">
<fes:Intersects>
<fes:ValueReference xmlns:tns="http://inspire.ec.europa.eu/schemas/am/4.0">tns:geometry</fes:ValueReference>
<gml:LineString xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="d1e1"
srsName="urn:ogc:def:crs:EPSG::4258">
<gml:posList>54.53 7.92 57.76 15.22</gml:posList>
</gml:LineString>
</fes:Intersects>
</fes:Filter>
</wfs:Query>
</wfs:GetFeature>

The service responds with:

<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd" version="2.0.0">
    <ows:Exception exceptionCode="NoApplicableCode">
        <ows:ExceptionText>
            side location conflict [ (930415.328, 7377006.574, NaN) ]
        </ows:ExceptionText>
    </ows:Exception>
</ows:ExceptionReport>

However, if I add a z coordinate to the request, a (empty) feature collection is returned by the service (status code 200).

...
<gml:posList>54.53 7.92 0 57.76 15.22 0</gml:posList>
...
dstenger commented 3 years ago

@Kate-Lyndegaard Can you please check why your service is expecting the z coordinate? EPSG:4258 is not a 3D coordinate reference system.

Kate-Lyndegaard commented 3 years ago

@dstenger I will look into it and get back to you as soons as possible. Thank you for your support. Kind regards, Kate:-)

Kate-Lyndegaard commented 3 years ago

@dstenger When adding a third coordinate is the geometry used to check the intersection changed?

When I load the WFS service in QGIS and add the line feature used to test the intersection, it looks like this: grafik

Is it possible that this issue is related to topological errors in the data? I will test it.

Kate-Lyndegaard commented 3 years ago

Hi @keshav-nangare

I tested the gml for topological errors in QGIS and there are some gaps and an overlap:

grafik

I have asked the data provider for a clean version.

Could this have any bearing on the test, or is the issue related to #191 ?

Kind regards, Kate

Kate-Lyndegaard commented 1 year ago

Hi @ghobona,

I created a new dataset without topological errors and the side location error is still occuring.

Test service: https://test.haleconnect.de/ows/services/org.599.1de9ecb4-e915-4676-a9dc-09c5cb78d791_wfs?SERVICE=WFS&REQUEST=GetCapabilities&VERSION=2.0.0

What version of jts does the TeamEngine use? I'm wondering because my issue seems similar to https://github.com/locationtech/jts/issues/639.

Kind regards, Kate

dstenger commented 1 year ago

@Kate-Lyndegaard ets-wfs20 is using jts version 1.13.