[mapserver-users] php-mapscript problem, postgis query by point

Guillermo Tamburini Beliveau guitambe at topo.upv.es
Mon May 3 08:29:43 EDT 2010


Hi,

I would like to know if some body knows the reason of a strange problem that I'm
having with the php-mapscript methods for the query methods in the postgis
layers.

Indistinctly for querybypoint or querbyrectangle, my code (different versions of
it), works perfectly with shapes, but it always fails with the postgis layers.
When calling to the shapeindex member of the ResultCacheMemberObj obtained, it
always returns 0, as is contrary to what happends with the shapes, where it
always returns the correct shapeindex.

Then it is impossible to acces to the desidered feature.

May I have to add more columns to the select of the .map file for getting the
features atributes like in the example (I don't think so)?

    DATA "geom FROM puntos using unique gid"
#    DATA "geom FROM (select gid , nombre, tramo, geom from puntos) as foo using
unique geom"
#    DATA "geom FROM (select * from puntos) as foo using unique gid"

Or there is some paramter in the configuration files of mapserver or php that I
have to change.

There is the code of the function:

function CercaPunto($point,$map,$radius) {

      $qlayer = $map->getLayerByName('trazado');
     $qlayer->set("tolerance",$radius);
     @$qlayer->queryByPoint($point, MS_MULTIPLE, $radius);
     $numResults = $qlayer->getNumResults();
     if ($numResults != 0) {
          for ($i = 0; $i < $numResults; $i++) {
              $query_result = $qlayer->getResult($i);
               $Lista_ele[$i] = $query_result->shapeindex; // Here is the error
with postgres
          }
     } else {
	  $valido =0;
          $Lista_ele = "";
     }
     return $Lista_ele;
} // end CercaPunto


Thank you very much.

    DATA "geom FROM puntos using unique gid"
#    DATA "geom FROM (select gid , nombre, tramo, geom from puntos) as foo using
unique geom"
#    DATA "geom FROM (select * from puntos) as foo using unique gid"

Thank you very much.




More information about the mapserver-users mailing list