Hi Tamas
Yes, there is a workaround to prevent this issue. I am already taking care in my code. Thanks Murty From: Tamas Szekeres [mailto:[email protected]] Sent: Wednesday, January 07, 2009 6:11 PM To: Murty Maganti Cc: [email protected] Subject: Re: [mapserver-users] queryByRect throws an error Hi Murty, Yes, you're correct. By setting the template parameter of these internal layers like __embed__legend or __embed__scalebar causes the behaviour you've reported before. However I'm not sure it should be denoted as a bug since you could easily skip setting these parameters in your code. Skipping these layers in the mapserver query code may cause slower execution which is undesirable in most cases. I'm guessing there might be some other occurrences where altering these special layers in mapscript may also cause unexpected results. Best regards, Tamas 2009/1/7 Murty Maganti <[email protected]> Hi Tamas Thanks for reply. These are extracts from my code to replicate the issue //Create map object mapObj map = new mapObj("MyMap.map"); //draw map map.draw() ; //Make sure some template name is defined. Otherwise, query will not be successful. for (int i = 0; i < map.numlayers; i++) { if (string.IsNullOrEmpty(m_map.getLayer(i).template)) { m_map.getLayer(i).template = "abc"; } } //Perform the query now map.queryByRect(map.extents); I think after a call to map.draw(), a new layer '__embed__scalebar' is added to layers collection. Setting template name to it is performing the query on scalebar layer as well. I think the scalebar layer is not satisfying these two conditions in msQueryByRect method of mapquery.c and hence getting used for query if(!msIsLayerQueryable(lp)) continue; if(lp->status == MS_OFF) continue; Please let me know if you need more info or you need any test application. Thanks Murty From: Tamas Szekeres [mailto:[email protected]] Sent: Tuesday, January 06, 2009 3:33 PM To: Murty Maganti Cc: [email protected] Subject: Re: [mapserver-users] queryByRect throws an error Hi, Could you provide a code/mapfile sample to reconstruct the issue? I've never experienced such a problem, I've used this function many times though. Best regards, Tamas 2009/1/6 Murty Maganti <[email protected]> mapObj.queryByRect(...) (using C# map script) is throwing following exception when there is an embedded scale bar on map. Exception message: "msShapefileOpen(): Unable to access file. No (NULL) filename provided.;msBuildPath: Unable to access file" Removing the scale bar from map file works fine. _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
_______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
