Opened 17 years ago

Closed 16 years ago

#2307 closed defect (fixed)

WFS spatial filter "touches" with a BBOX in lat/long returned null

Reported by: nsavard Owned by: assefa
Priority: normal Milestone: 5.2 release
Component: WFS Server Version: unspecified
Severity: normal Keywords:
Cc:

Description

When I issue a GetFeature request with a "touches" spatial filter and a bbox in lat/long the server returns null. I tested with 5.0-rc2 on Linux. The feature returned should be "Quebec, Iles de la Madeleine (AREA: 4833029.500)". See msautotest.

QUERY_STRING="map=[MAPFILE]&SERVICE=WFS&VERSION=1.0.0& REQUEST=GetFeature&TYPENAME=province&FILTER=<Filter><Touches> <PropertyName>Geometry</PropertyName><gml:Polygon> <gml:outerBoundaryIs><gml:LinearRing> <gml:coordinates>-61.719829698475976,47.269592918433993 -61.732190995311512,47.25507337571689 -61.72,47.24 -61.71,47.26</gml:coordinates></gml:LinearRing> </gml:outerBoundaryIs></gml:Polygon></Touches></Filter>"

Change History (3)

comment:1 by assefa, 16 years ago

Milestone: 5.2 release
Owner: changed from mapserverbugs to assefa
Status: newassigned

updated files in msautotest in r7709. Works locally on windows.

Norm if you got a minute, can you run the msautotest

comment:2 by nsavard, 16 years ago

This is fixed. I noticed that you changed the linearing for a point. Does it should work for a polygone as well?

comment:3 by assefa, 16 years ago

Resolution: fixed
Status: assignedclosed

Thanks. Closing.

I have tested for point and for line, polygon.

Line I used :FILTER=<Filter><Touches><PropertyName>Geometry</PropertyName><gml:LineString><gml:coordinates>-61.748897101358850,47.258393824294672 -61.750963952824037,47.275550067023204</gml:coordinates></gml:LineString></Touches></Filter>

Touches with a my polygon <Filter><Touches><PropertyName>Geometry</PropertyName><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>-61.748897101358850,47.258393824294672 -61.750963952824037,47.275550067023204 -61.748897101358850,47.238393824294672 -61.750963952824037,47.238393824294672 -61.748897101358850,47.258393824294672</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></Touches></Filter>

Note that this is the definition of Touches (Simple Feature Specfications section 2.1.13.3 : The Touches relation between two geometries a and b applies to the A/A, L/L, L/A, P/A and P/L groups of

relationships but not to the P/P group. It is defined as: a.Touches(b) <=> (I(a) interct (b) = empty) or (a intersct b) noot eq empty.

Basically: touches for polygon implies that the 2 polygons should not intersect (they can share a point or a segment)

Note: See TracTickets for help on using tickets.