Thanks very much Pietro! I'm sure this will help many mapscript newbies!

Chris

Pietro Giannini wrote:
Chris,
I don't read the reference, which doc?
I use mapscript 4.10 and, like you, function getShape don't exists.

to get attributes I do:

$obj_layer = $obj_map->getLayerByName("name_of_layer");
$obj_layer->queryByRect($a_obj_rect);
// or queryBYPoint, or queryByAttributes...
$obj_layer->open();
$i_numres = $obj_layer->getNumResults();
for ($i=0;$i<$i_numres;$i++) {
   $resCache = $obj_layer->getResult($i);
   $sh = $obj_layer->getShape(resCache->tileindex,$resCache->shapeindex);
   print_r($sh->values);
}
$obj_layer->close();

I hope it is useful.

ciao
...............................pg




Pietro Giannini
Bytewise srl - Area GIS
41°50'38.58"N 12°29'13.39"E



Thanks Pietro, though the reference did mention that the getShape method
was deprecated in favor of the getFeature one. This begs the question of
exactly how I would get the attributes associated with a particular shape.

Chris

Pietro Giannini wrote:
Hi Christopher,

there is no mapscript function layerobj::getFeature(), maybe you need
the
layeroby::getShape().

(Effectively getFeature is a more exact name for this function: a
"shape"
don't have attributes, a "feature" is a shape with attributes)

take a look here:
http://mapserver.gis.umn.edu/docs/reference/phpmapscript-class/classes/layerobj

ciao
.........................pg




Pietro Giannini
Bytewise srl - Area GIS
41°50'38.58"N 12°29'13.39"E





*Hi all,

I'm having some trouble getting the getFeature method to work on a
layer
object. Here's the error I get:

Fatal error*: Call to undefined method ms_layer_obj::getFeature() in
*C:\ms4w\Apache\htdocs\test.php* on line *10

And the php code:

<?php
dl("php_mapscript.dll");
dl("php_dbase.dll");
dl("php_curl.dll");


$shape_id = 1;
$map = ms_newMapObj("c:\ms4w\apache\htdocs\es.map");
$this_layer = $map->getLayerByName('pn_points');
$attribute = $this_layer->getFeature(1, -1);
echo "ok";
?>

and the mapfile:

# This is our fifth map file
NAME "es"
UNITS meters
EXTENT 167000 5814000 542300 5948000
SIZE 640 480
IMAGECOLOR 255 255 255
IMAGETYPE PNG
SHAPEPATH "c:\ms4w\apache\htdocs\wem\"
FONTSET "c:\ms4w\apache\htdocs\fontset.txt"

WEB
    IMAGEPATH "/ms_temp/"
    IMAGEURL "http://132.206.251.215/ms_temp/";
END

#####################################
# placenames layer - points
#
LAYER
    NAME "pn_points"
    DATA "points_ID_real"
    STATUS on
    TYPE point
    CLASS
         STYLE
              SIZE 1
              COLOR 100 100 200
         END
    END
END


END # mapfile

Any ideas? I'm totally stumped. I don't know if its the software
(mapserver
4.10, mapscript 4.10, php 5)or a mistake I've made that is eluding me.
*

--
Christopher Wellen
M.Sc. Candidate
Department of Geography
McGill University
Montreal, Quebec
Burnside Hall room 428
805 Sherbrooke Street West
Montreal, Quebec H3A 2K6
skype: christopher.wellen
MSN: [EMAIL PROTECTED]
home: 514-509-9476
cell: 514-585-5138



--
Christopher Wellen
M.Sc. Candidate
Department of Geography
McGill University
Montreal, Quebec
Burnside Hall room 428
805 Sherbrooke Street West
Montreal, Quebec H3A 2K6
skype: christopher.wellen
MSN: [EMAIL PROTECTED]
home: 514-509-9476
cell: 514-585-5138





--
Christopher Wellen
M.Sc. Candidate
Department of Geography
McGill University
Montreal, Quebec
Burnside Hall room 428
805 Sherbrooke Street West
Montreal, Quebec H3A 2K6
skype: christopher.wellen
MSN: [EMAIL PROTECTED]
home: 514-509-9476
cell: 514-585-5138

Reply via email to