[mapserver-commits] r9464 - trunk/mapserver

svn at osgeo.org svn at osgeo.org
Thu Oct 15 14:08:15 EDT 2009


Author: warmerdam
Date: 2009-10-15 14:08:14 -0400 (Thu, 15 Oct 2009)
New Revision: 9464

Modified:
   trunk/mapserver/HISTORY.TXT
   trunk/mapserver/mapquery.c
   trunk/mapserver/maprasterquery.c
   trunk/mapserver/mapserver.h
Log:
Correct FEATURE_COUNT limits on WMS GetFeatureInfo raster queries (#3168)

Modified: trunk/mapserver/HISTORY.TXT
===================================================================
--- trunk/mapserver/HISTORY.TXT	2009-10-15 17:20:35 UTC (rev 9463)
+++ trunk/mapserver/HISTORY.TXT	2009-10-15 18:08:14 UTC (rev 9464)
@@ -56,7 +56,9 @@
 
 - Correct libjpeg v7 compatability issue in old jpeg interface code (#3167)
 
+- Correct FEATURE_COUNT limits on WMS GetFeatureInfo raster queries (#3168)
 
+
 Version 5.6.0-beta3 (2009-10-07):
 ---------------------------------
 

Modified: trunk/mapserver/mapquery.c
===================================================================
--- trunk/mapserver/mapquery.c	2009-10-15 17:20:35 UTC (rev 9463)
+++ trunk/mapserver/mapquery.c	2009-10-15 18:08:14 UTC (rev 9464)
@@ -1113,7 +1113,7 @@
 
     /* Raster layers are handled specially.  */
     if( lp->type == MS_LAYER_RASTER ) {
-      if( msRasterQueryByPoint( map, lp, map->query.mode, map->query.point, map->query.buffer ) == MS_FAILURE )
+      if( msRasterQueryByPoint( map, lp, map->query.mode, map->query.point, map->query.buffer, map->query.maxresults ) == MS_FAILURE )
         return MS_FAILURE;
       continue;
     }

Modified: trunk/mapserver/maprasterquery.c
===================================================================
--- trunk/mapserver/maprasterquery.c	2009-10-15 17:20:35 UTC (rev 9463)
+++ trunk/mapserver/maprasterquery.c	2009-10-15 18:08:14 UTC (rev 9464)
@@ -909,7 +909,7 @@
 /************************************************************************/
 
 int msRasterQueryByPoint(mapObj *map, layerObj *layer, int mode, pointObj p, 
-                         double buffer)
+                         double buffer, int maxresults)
 {
 #ifndef USE_GDAL
     msSetError( MS_IMGERR, 
@@ -918,6 +918,7 @@
     return MS_FAILURE;
 #else
     int result;
+    int previous_maxresults;
     double layer_tolerance;
     rectObj bufferRect;
     rasterLayerInfo *rlinfo = NULL;
@@ -981,7 +982,6 @@
 
         rlinfo->range_mode = MS_SINGLE;
         result = msRasterQueryByRect( map, layer, pointRect );
-
         if( rlinfo->query_results > 0 )
             return result;
     }
@@ -996,7 +996,10 @@
     bufferRect.maxy = p.y + buffer;
 
     rlinfo->range_mode = mode;
+    previous_maxresults = rlinfo->query_result_hard_max;
+    rlinfo->query_result_hard_max = maxresults;
     result = msRasterQueryByRect( map, layer, bufferRect );
+    rlinfo->query_result_hard_max = previous_maxresults;
 
     return result;
 #endif /* USE_GDAL  */

Modified: trunk/mapserver/mapserver.h
===================================================================
--- trunk/mapserver/mapserver.h	2009-10-15 17:20:35 UTC (rev 9463)
+++ trunk/mapserver/mapserver.h	2009-10-15 18:08:14 UTC (rev 9464)
@@ -1742,7 +1742,7 @@
 MS_DLL_EXPORT void msQueryFree(mapObj *map, int qlayer); /* todo: rename */
 MS_DLL_EXPORT int msRasterQueryByShape(mapObj *map, layerObj *layer, shapeObj *selectshape);
 MS_DLL_EXPORT int msRasterQueryByRect(mapObj *map, layerObj *layer, rectObj queryRect);
-MS_DLL_EXPORT int msRasterQueryByPoint(mapObj *map, layerObj *layer, int mode, pointObj p, double buffer );
+MS_DLL_EXPORT int msRasterQueryByPoint(mapObj *map, layerObj *layer, int mode, pointObj p, double buffer, int maxresults );
 
 /* in mapstring.c */
 MS_DLL_EXPORT void msStringTrim(char *str); 



More information about the mapserver-commits mailing list