Opened 16 years ago
Closed 14 years ago
#2603 closed defect (worksforme)
Too many responses with raster queries
Reported by: | mdoyle | Owned by: | warmerdam |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | WMS Server | Version: | svn-trunk (development) |
Severity: | normal | Keywords: | raster query getfeatureinfo |
Cc: |
Description
While testing ticket #2586 we discovered that a GetFeatureInfo query on raster data layers returns too many features per layer, regardless of the FEATURE_COUNT attribute. This is a flaw with the raster query mechanism.
Email context:
To be honest I was surprised to get 15 responses too. Actually, on review of the ticket, I see it was 16 (numbered 0 through 15), and this was with FEATURE_COUNT=2.
Tracing through the code in the debugger, I have discovered that FEATURE_COUNT is getting passed into the generic msQueryByPoint() function, but not on to the msRasterQueryByPoint(). Furthermore, the msRasterQueryByPoint() is recieving a buffer distance of "0" which it interpretes as "not set", and it uses the layer tolerances defined for the layer. So this is why we are getting a 4x4 region of pixel values.
These are both (in my opinion) bugs with the raster query mechanism.
I would encourage you to file a distinct bug on the "too many responses"
problem with raster queries and I'll look into it too.
MapFile, Raster Data and Projections
Query to reproduce error:
mapserv QUERY_STRING='map=latest.map&SERVICE=wms&VERSION=1.1.1&REQUEST=getfeatureinfo&LAYERS=rain_ann,rain_jan&QUERY_LAYERS=rain_ann,rain_jan&X=200&Y=150&INFO_FORMAT=text/plain&SRS=EPSG:4283&BBOX=144,-43,149,-40&FORMAT=image/png&WIDTH=400&HEIGHT=300&STYLES&FEATURE_COUNT=2'
Example output:
Content-type: text/plain GetFeatureInfo results: Layer 'rain_ann' Feature 0: x = '146.4625' y = '-41.4625' value_0 = '1116' value_list = '1116' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 1: x = '146.4875' y = '-41.4625' value_0 = '1078' value_list = '1078' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 2: x = '146.5125' y = '-41.4625' value_0 = '1077' value_list = '1077' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 3: x = '146.5375' y = '-41.4625' value_0 = '1053' value_list = '1053' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 4: x = '146.4625' y = '-41.4875' value_0 = '1115' value_list = '1115' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 5: x = '146.4875' y = '-41.4875' value_0 = '1084' value_list = '1084' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 6: x = '146.5125' y = '-41.4875' value_0 = '1072' value_list = '1072' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 7: x = '146.5375' y = '-41.4875' value_0 = '1059' value_list = '1059' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 8: x = '146.4625' y = '-41.5125' value_0 = '1113' value_list = '1113' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 9: x = '146.4875' y = '-41.5125' value_0 = '1089' value_list = '1089' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 10: x = '146.5125' y = '-41.5125' value_0 = '1069' value_list = '1069' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 11: x = '146.5375' y = '-41.5125' value_0 = '1076' value_list = '1076' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 12: x = '146.4625' y = '-41.5375' value_0 = '1126' value_list = '1126' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 13: x = '146.4875' y = '-41.5375' value_0 = '1103' value_list = '1103' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 14: x = '146.5125' y = '-41.5375' value_0 = '1075' value_list = '1075' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Feature 15: x = '146.5375' y = '-41.5375' value_0 = '1084' value_list = '1084' class = '1000-1200 mm' red = '142' green = '206' blue = '165' Layer 'rain_jan' Feature 0: x = '146.4625' y = '-41.4625' value_0 = '50' value_list = '50' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 1: x = '146.4875' y = '-41.4625' value_0 = '49' value_list = '49' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 2: x = '146.5125' y = '-41.4625' value_0 = '49' value_list = '49' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 3: x = '146.5375' y = '-41.4625' value_0 = '48' value_list = '48' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 4: x = '146.4625' y = '-41.4875' value_0 = '51' value_list = '51' class = '50-100 mm' red = '230' green = '236' blue = '164' Feature 5: x = '146.4875' y = '-41.4875' value_0 = '50' value_list = '50' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 6: x = '146.5125' y = '-41.4875' value_0 = '49' value_list = '49' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 7: x = '146.5375' y = '-41.4875' value_0 = '49' value_list = '49' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 8: x = '146.4625' y = '-41.5125' value_0 = '52' value_list = '52' class = '50-100 mm' red = '230' green = '236' blue = '164' Feature 9: x = '146.4875' y = '-41.5125' value_0 = '51' value_list = '51' class = '50-100 mm' red = '230' green = '236' blue = '164' Feature 10: x = '146.5125' y = '-41.5125' value_0 = '50' value_list = '50' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 11: x = '146.5375' y = '-41.5125' value_0 = '50' value_list = '50' class = '25-50 mm' red = '248' green = '245' blue = '174' Feature 12: x = '146.4625' y = '-41.5375' value_0 = '53' value_list = '53' class = '50-100 mm' red = '230' green = '236' blue = '164' Feature 13: x = '146.4875' y = '-41.5375' value_0 = '52' value_list = '52' class = '50-100 mm' red = '230' green = '236' blue = '164' Feature 14: x = '146.5125' y = '-41.5375' value_0 = '51' value_list = '51' class = '50-100 mm' red = '230' green = '236' blue = '164' Feature 15: x = '146.5375' y = '-41.5375' value_0 = '51' value_list = '51' class = '50-100 mm' red = '230' green = '236' blue = '164'
Attachments (1)
Change History (3)
comment:1 by , 16 years ago
Component: | WMS Client → WMS Server |
---|
comment:2 by , 14 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
This appears to have been corrected already. I tested with trunk and I assume it was already fixed for 5.6.x. I get:
attaching the slightly modified data.