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 , 16 years ago
Milestone: | → 5.2 release |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:2 by , 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 , 16 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
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)
updated files in msautotest in r7709. Works locally on windows.
Norm if you got a minute, can you run the msautotest