[mapserver-users] Problem with postgis querybypoint

Guillermo Tamburini Beliveau guitambe at topo.upv.es
Wed May 5 02:16:18 EDT 2010


Hi,

two days ago I wrote you asking for a question. Today I ask you again because
anyone response me. Maybe some point is not so clear, or there is some problem
with my english expression, please ask me if that is the case.

The previous mail:

I would like to know if some body knows the reason of a 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 happens with the shapes, where it
always returns the correct shapeindex. Then, it is impossible to acces to the
desidered feature,
and as you know, this are usal and simple actions.



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.

Guillermo Tamburini




More information about the mapserver-users mailing list