[mapserver-users] getting field names using mapscript
Nicol Hermann
mapserver at geoworld.de
Thu Nov 6 11:14:46 PST 2008
Hi Jochen,
Assuming you are using Shapefiles maybe you can achieve your second goal
with the base module of PHP
http://de3.php.net/manual/de/function.dbase-numrecords.php
HTH
Nicol
Am Donnerstag, den 06.11.2008, 12:10 +0100 schrieb Jochen Wagner:
> 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