WMS GetFeatureInfo and

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

WMS GetFeatureInfo and

Frank Warmerdam
Folks,

I have discovered my previous improvement to error handling when
attempting to draw query maps for raster query results has resulted
in WMS GetFeatureInfo breaking on raster layers.

The msautotest/wxs/tomk_workshop.map map has a test request like this:

# Generate WMS GetFeatureInfo GML format on vector data
# RUN_PARMS: wms_get_feature_info_vector.gml  [MAPSERV]
QUERY_STRING="map=[MAPFILE]&version=1.1.1&service=WMS&request=GetFeatureInfo
   &srs=EPSG:4326&bbox=-180,-90,180,90&format=image/png
   &layers=land_shallow_topo_2048,rivers&styles=,&transparent=true&width=500
   &height=300&query_layers=rivers&info_format=application/vnd.ogc.gml
   &x=141&y=91&radius=10" > [RESULT]

When working properly, this test results in an HTML result for the
query against the raster layer.  However, since my 'fix' for
http://trac.osgeo.org/mapserver/ticket/1842 this now fails with a
report about trying to draw a raster query layer.

The tracback looks something like:

(gdb) where
#0  msDrawQueryLayer (map=0x7959d0, layer=0x7ab9d0, image=0x7b4130) at
mapdraw.c:949
#1  0x00000000004682eb in msDrawMap (map=0x7959d0, querymap=1) at mapdraw.c:431
#2  0x00000000004182de in msReturnTemplateQuery (msObj=0x7b4af0,
pszMimeType=0x7ab430 "text/html", papszBuffer=0x0) at maptemplate.c:200
#3  0x0000000000538d3e in msWMSFeatureInfo (map=0x7959d0, nVersion=65793,
names=0x794690, values=0x7949c0, numentries=23) at mapwms.c:2442
#4  0x000000000053a961 in msWMSDispatch (map=0x7959d0, req=0x794660) at
mapwms.c:3054
#5  0x00000000004c6b53 in msOWSDispatch (map=0x7959d0, request=0x794660) at
mapows.c:60
#6  0x0000000000412f18 in main (argc=2, argv=0x7fffb57b06d8) at mapserv.c:1147

The question I have is, why does a WMS GetFeatureInfo request for an html
template generated response result in MapServer drawing a query result
as an image?  It seems that the image is saved to a temp file, and never
actually used.

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, [hidden email]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org
Reply | Threaded
Open this post in threaded view
|

Re: WMS GetFeatureInfo and

Steve Lime
Tom's mapfile has a querymap object in it with status on so I assume that's
where this is coming from. I know the CGI will render a map if the querymap
is on so the wms code is probably doing the same thing.

Steve

>>> Frank Warmerdam <[hidden email]> 01/22/08 10:26 PM >>>
Folks,

I have discovered my previous improvement to error handling when
attempting to draw query maps for raster query results has resulted
in WMS GetFeatureInfo breaking on raster layers.

The msautotest/wxs/tomk_workshop.map map has a test request like this:

# Generate WMS GetFeatureInfo GML format on vector data
# RUN_PARMS: wms_get_feature_info_vector.gml  [MAPSERV]
QUERY_STRING="map=[MAPFILE]&version=1.1.1&service=WMS&request=GetFeatureInfo
   &srs=EPSG:4326&bbox=-180,-90,180,90&format=image/png
   &layers=land_shallow_topo_2048,rivers&styles=,&transparent=true&width=500
   &height=300&query_layers=rivers&info_format=application/vnd.ogc.gml
   &x=141&y=91&radius=10" > [RESULT]

When working properly, this test results in an HTML result for the
query against the raster layer.  However, since my 'fix' for
http://trac.osgeo.org/mapserver/ticket/1842 this now fails with a
report about trying to draw a raster query layer.

The tracback looks something like:

(gdb) where
#0  msDrawQueryLayer (map=0x7959d0, layer=0x7ab9d0, image=0x7b4130) at
mapdraw.c:949
#1  0x00000000004682eb in msDrawMap (map=0x7959d0, querymap=1) at mapdraw.c:431
#2  0x00000000004182de in msReturnTemplateQuery (msObj=0x7b4af0,
pszMimeType=0x7ab430 "text/html", papszBuffer=0x0) at maptemplate.c:200
#3  0x0000000000538d3e in msWMSFeatureInfo (map=0x7959d0, nVersion=65793,
names=0x794690, values=0x7949c0, numentries=23) at mapwms.c:2442
#4  0x000000000053a961 in msWMSDispatch (map=0x7959d0, req=0x794660) at
mapwms.c:3054
#5  0x00000000004c6b53 in msOWSDispatch (map=0x7959d0, request=0x794660) at
mapows.c:60
#6  0x0000000000412f18 in main (argc=2, argv=0x7fffb57b06d8) at mapserv.c:1147

The question I have is, why does a WMS GetFeatureInfo request for an html
template generated response result in MapServer drawing a query result
as an image?  It seems that the image is saved to a temp file, and never
actually used.

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, [hidden email]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org