[mapserver-users] getting field names using mapscript

Umberto Nicoletti umberto.nicoletti at gmail.com
Thu Nov 6 06:14:06 EST 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