[postgis-users] Problem with postgis querybypoint in mapserver-php

Guillermo Tamburini Beliveau guitambe at topo.upv.es
Thu May 13 03:51:08 PDT 2010


first, I would like to apologize for possible confussions with my english or my
limitated knowledge of programming and the explanations on this.

I would ask to the list if someone knows the reason of a problem that I'm
having with the php-mapscript methods for the query methods in the postgis

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->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.

Guillermo Tamburini

More information about the postgis-users mailing list