[mapserver-users] PHP mapscript querybyrect()
Charlie Allgrove
charlie.allgrove at connectionservices.com
Mon Jul 12 06:59:20 PDT 2010
Many thanks for that. Added a TEMPLATE section to the layer and it's burst
into life.
Many thanks
Charlie
-----Original Message-----
From: mapserver-users-bounces at lists.osgeo.org
[mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Daniel
Morissette
Sent: 09 July 2010 20:07
To: mapserver-users at lists.osgeo.org
Subject: Re: [mapserver-users] PHP mapscript querybyrect()
You didn't share your layer definition (mapfile). Make sure you have a
template set, either at the layer level or in each of the classes you
want to be able to query.
Charlie Allgrove wrote:
> Hi
>
> Could anyone shed some light on a problem I have with querybyrect() using
> PHP Mapscript please?
>
> I'm trying to get the number of points within a known boundary (from a
> google map). The map file is apparently working, as I have it generating
> tiles for overlaying on a google map. The Shapefile is (for the sake of
> example) xxx.shp containing a layer 'xxx' (see ogrinfo output below)
>
> The PHP code I'm using is here, but I consistently get this error:
> Warning: [MapServer Error]: msQueryByRect(): No matching record(s) found.
in
> /var/www/yyy/zzz/qryMap.php on line 44
>
> The shapefiles are in /var/www/yyy/zzz/data/ (and the SHAPEPATH in the map
> file is set to 'data')
>
> I'm kinda new to this - so I might have missed something, but can anyone
> shed any light on what I've missed and/or am doing wrong?
>
> Many thanks in advance,
>
> Charlie
>
> PHP extract:
>
> <snip>
> $lstrMapPath = "/var/www/yyy/zzz/xxx.map";
>
> $lobjMap = ms_newMapObj($lstrMapPath);
> $lobjRect = ms_newrectObj();
> $lobjRect->setextent($lintBLLon,$lintBLLat,$lintTRLon,$lintTRLat);
>
> $l='xxx';
>
> $lobjLayer = $lobjMap->getLayerByName($l);
> if(!$lobjLayer) {
> //die("Layer does not exist");
> echo "Couldn't find layer {$l}<br />";
> continue;
> }
> $lobjLayer->open();
> echo "<strong>{$l}</strong><br />";
> $lobjLayer->queryByRect($lobjMap->extent);
> echo $lobjLayer->data."<br />"; //correctly shows the shapefilename
> $lintCount = $lobjLayer->getNumResults();
> echo "$l: {$lintCount}<br />";
> $lobjLayer->close();
> </snip>
>
> OGRINFO:
>
>> ogrinfo xxx.shp -so xxx
> INFO: Open of `xxx.shp'
> using driver `ESRI Shapefile' successful.
>
> Layer name: xxx
> Geometry: Point
> Feature Count: 759947
> Extent: (-8.146110, 49.892400) - (1.758210, 60.800800)
> Layer SRS WKT:
> GEOGCS["GCS_WGS_1984",
> DATUM["WGS_1984",
> SPHEROID["WGS_1984",6378137,298.257223563]],
> PRIMEM["Greenwich",0],
> UNIT["Degree",0.017453292519943295]]
> Postcode: String (80.0)
> NoSpace: String (80.0)
> Hubs: String (80.0)
> Long_WGS84: String (80.0)
> Lat_WGS84: String (80.0)
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
--
Daniel Morissette
http://www.mapgears.com/
_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users
More information about the MapServer-users
mailing list