[mapserver-users] Accessing raster cell values
Sven Schroeter
schroeter at netgis.de
Thu May 29 02:44:36 PDT 2008
Hi,
if you have access to the mapfile, you can make a queryByPoint with
mapscript (i.e with an ajax-function)
You have to send your point-coordinats to the script like this:
$coord = split(',',$_POST["coord"]);
dl('php_mapscript.dll');
//load mapfile
$map= ms_newMapObj($mapfilepath.'\yourmap.map');
//create point
$qPoint = ms_newPointObj();
$qPoint->setXY($coord[0]*1,$coord[1]*1);
//set layer
$layer = $map->getLayerByName("your_rasterlayer");
//Pointquery (Single)
@$datQuery = $layer->queryByPoint($qPoint, MS_SINGLE, 1);
//if success
if ($datQuery == MS_SUCCESS) {
for ($j=0; $j<$layer->getNumResults(); $j++) {
$result = $layer->getResult($j);
$layer->open();
$shpobj = $layer->getShape($result->tileindex,$result->shapeindex);
$attr = $shpobj->values;
//echo round($attr["value_0"],2);
$rasterdata = round($attr["value_0"],1);
print 'My Data: '.$rasterdata.';
$shpobj->free();
}
}
else{
print 'no Data';
}
Greetings
Sven
----- Original Message -----
From: "Andrew Mason" <andrew at environ-it.co.uk>
To: <mapserver-users at lists.osgeo.org>
Sent: Thursday, May 29, 2008 10:29 AM
Subject: [mapserver-users] Accessing raster cell values
> Hello List,
>
> This question may be a general newbie GIS question and not solely related
> to Mapserver, so apologies if I'm posting to the wrong place.
>
> I am serving a GeoTiff via Mapserver using WMS, and displaying it using
> OpenLayers, so far so good.
> I need to be able to click on a point on the map and display the value
> held within that particular Raster cell.
> Can anyone suggest what mechanism I should use for this? WCS looks like
> it might be the thing I need, but I'm having difficulty finding much in
> the way of examples and instructions.
> I've followed what examples there are and all I can get Mapserver to
> return using WCS, is a Geotiff with every pixel set to zero.
> So I've obviously not got it working correctly, and even if it were I'm
> not sure how to get the information I need out of the returned Geotiff
> when my client is OpenLayers.
>
> Can anyone suggest a way to access a raster's values when it is served by
> Mapserver and viewed using OpenLayers?
>
> Thank you
>
> Andrew Mason
> _______________________________________________
> 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