[mapserver-users] getting field names using mapscript
Umberto Nicoletti
umberto.nicoletti at gmail.com
Thu Nov 6 03:14:06 PST 2008
You can use the items array on the layer object to get the field names
On Thu, Nov 6, 2008 at 12:10 PM, Jochen Wagner
<jochen.wagner8 at googlemail.com> wrote:
> Hi list,
> I would like to list from any layer ($ qlayer) only the field names of
> the attribute tables and the number of objects in the table.
>
> With this code it works already:
>
> //loading mapfile
> $map= ms_newMapObj($mapfilepath.'\
> demo.map');
>
> //set layer
> $layer = $map->getLayerByName($qlayer);
>
> //rectquery via mapextent
> @$datQuery = $layer->queryByRect($map->extent);
>
> //if query is successful
> if ($datQuery == MS_SUCCESS) {
> //number of objects
> $resnum = $layer->getNumResults();
> echo 'Anzahl: '.$resnum.'<br>';
>
> $layer->open();
> $result = $layer->getResult(0);
> $shpobj = $layer->getShape($result->tileindex,$result->shapeindex);
>
> //read attribute table
> $attr = $shpobj->values;
> foreach($attr as $name=>$wert) {
> echo 'Feld: '.$name.'<br>';
> }
> }
> $shpobj->free();
> $layer->close();
>
> However, this method has the disadvantage using a layers with many
> records the script takes a very long time, I guess because I have a
> query about the whole issue run.
> Has someone an approach for me, getting
> 1. the field names of the table and
> 2. the number of objects in the table
> performantly using MapScript ?
> thanks
> Jo
> _______________________________________________
> 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