Ticket #3211 (closed defect: fixed)
Query by features or shape not working properly against projected layers...
|Reported by:||sdlime||Owned by:||sdlime|
|Component:||MapServer C Library||Version:||unspecified|
A bug was recently uncovered on mapserver-users where layer tolerances seemingly had little or no effect on projected layers. I tracked the problem to the search rect used for the initial bbox filter (via msLayerWhichItems()). In these cases the search rect is the bbox of a search shape (either user supplied or from a selection layer). The problem is that the code is currently applying a tolerance (in map units) after the search rect is projected back to the projection of the layer being searched. The tolerance should be applied beforehand when the rect is in map coordinates (and units).
The effects of the problem really depend on the units and projections. It may just cause oversampling due to a much larger search rect than necessary resulting in lousy performance or the exact opposite, an incorrect query when tolerances are used.