Hi,

Good question. This is a fairly new change as part of 
https://github.com/mapserver/mapserver/issues/5781 from April this year. 
In SQL Profiler I seem to get GEOM.STIntersects for WFS requests and 
GEOM.MakeVaid().STIntersects for WMS. 
MakeValid does appear to stop the index being used. Do you have a link which 
says this definitively?

Seth

--
web:http://geographika.co.uk
twitter: @geographika


On Sat, Sep 7, 2019, at 12:02 PM, ikes...@yahoo.com wrote:
> Hello,

> 

> I noticed that when MapServer issues the query to MS SQL Server, it appends a 
> .MakeValid() tag to the geometry field, which makes data access highly 
> inefficient as no spatial indexes can be used when the MakeValid() is used. 
> Here is the query that is being produced:

> 

> SELECT

> convert(nvarchar(max), [label]),

> [ogr_geometry],

> convert(varchar(36), [ogr_fid])

> FROM

> section

> WHERE

> ogr_geometry.*MakeValid()*.STIntersects(geometry::STGeomFromText('POLYGON((-10973271.1167343
>  5605636.0681215,-10963019.0003155 5605636.0681215,-10963019.0003155 
> 5614459.76757417,-10973271.1167343 5614459.76757417,-10973271.1167343 
> 5605636.0681215))',3857)) = 1

> 

> Here is the data access string from the map file:

> 

> *DATA "ogr_geometry from section USING UNIQUE ogr_fid USING SRID=3857"*

> 

> Earlier I was using a specific HINT for index usage:

> 

> *DATA "ogr_geometry from section WITH (INDEX(section_ogr_geometry_idx)) USING 
> UNIQUE ogr_fid USING SRID=3857"*

> 

> But since MapServer adds the MakeValid automatically, I am getting the 
> following error:

> 

> Msg 8635, Level 16, State 9, Line 1

> The query processor could not produce a query plan for a query with a spatial 
> index hint. Reason: Could not find required binary spatial method in a 
> condition. Try removing the index hints or removing SET FORCEPLAN.

> 

> How do I configure mapserver to NOT ADD the MakeValid to every single one of 
> its queries ?

> 

> Any response is much appreciated !

> 

> Thanks,

> Istvan

> 

> 

> _______________________________________________
> mapserver-users mailing list
> mapserver-users@lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-users
_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to