<html><body bgcolor="#FFFFFF"><div>What version? What happens if you close the layer between calls to queries?</div><div><br></div><div>Steve<br><br>Sent from my iPad</div><div><br>On Jul 4, 2011, at 11:15 AM, "Charlie Allgrove" &lt;<a href="mailto:charlie.allgrove@connectionservices.com">charlie.allgrove@connectionservices.com</a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div><div class="WordSection1"><p class="MsoNormal">Hi<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">I have a shapefile containing almost 250k points in 3 cols (lat/long/sitetype). <o:p></o:p></p><p class="MsoNormal">I need to use PHP mapscript to query that file to tell me how many points of a given type are present in a given rectangle.<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">The script will either tell me the number of points in rectangle, OR points of a given type, but never both...<o:p></o:p></p><p class="MsoNormal">Unfortunately I'm not at liberty to post the datafile anywhere, but the gist of the PHP is here:<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">&lt;snip&gt;<o:p></o:p></p><p class="MsoNormal">$lstrMapPath = "/path/to/shapefile";<o:p></o:p></p><p class="MsoNormal">$lstrOutput = "";<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">$lobjMap = ms_newMapObj($lstrMapPath);<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">$lobjLayer = $lobjMap-&gt;getLayerByName("layer1");<o:p></o:p></p><p class="MsoNormal"> if(!$lobjLayer) {<o:p></o:p></p><p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit; // errors handled elsewhere<o:p></o:p></p><p class="MsoNormal">}<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">$lobjLayer-&gt;open();<o:p></o:p></p><p class="MsoNormal">/* THIS WORKS */<o:p></o:p></p><p class="MsoNormal">@$lobjLayer-&gt;queryByRect($lobjRect);<o:p></o:p></p><p class="MsoNormal">$lintCount = $lobjLayer-&gt;getNumResults();<o:p></o:p></p><p class="MsoNormal">&nbsp;&nbsp;&nbsp; <o:p></o:p></p><p class="MsoNormal">/* THIS ALSO WORKS - BUT NOT IF THE queryByRect() is enabled above */<o:p></o:p></p><p class="MsoNormal">/*<o:p></o:p></p><p class="MsoNormal">@$lobjLayer-&gt;queryByAttributes('sitetype','8',MS_MULTIPLE);<o:p></o:p></p><p class="MsoNormal">$lintCount = $lobjLayer-&gt;getNumResults();<o:p></o:p></p><p class="MsoNormal">*/<o:p></o:p></p><p class="MsoNormal">$lstrOutput = "layer".$k.":".$lintCount;<o:p></o:p></p><p class="MsoNormal">$lobjLayer-&gt;close();<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">echo $lstrOutput;<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal"> &lt;/snip&gt;<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">Any pointers would be gratefully received!<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">Cheers<o:p></o:p></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p><p class="MsoNormal">Charlie<span style="font-size:10.5pt;font-family:Consolas"><o:p></o:p></span></p><p class="MsoNormal"><o:p>&nbsp;</o:p></p></div></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>mapserver-users mailing list</span><br><span><a href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a></span><br><span><a href="http://lists.osgeo.org/mailman/listinfo/mapserver-users">http://lists.osgeo.org/mailman/listinfo/mapserver-users</a></span><br></div></blockquote></body></html>