Hi,
I'm still fighting with mapserver >= 5.6 and querys via php-mapscript.
My code for e.g. making a queryByRect works fine since I use resultsGetShape instead of getShape for version 5.6:

//query
@$datQuery = $query_layer->queryByRect($qRect);

//number of objects
$resnum = $query_layer->getNumResults();
echo "number of objects: ".$resnum."<br>";

//if query success
if ($datQuery == MS_SUCCESS) {

//check ms version
 if (ms_GetVersionInt() < 50600){
$query_layer->open();
 }

 //write table
 echo '<table cellspacing="0" cellpadding="2" border="1" ><tr>';

 for ($j=0; $j<$query_layer->getNumResults(); $j++) {
  $result = $query_layer->getResult($j);

 //check ms version
 if (ms_GetVersionInt() < 50600){
$shpobj = $query_layer->getShape($result->tileindex,$result->shapeindex);
}
 else{
$shpobj = $query_layer->resultsGetShape($result->shapeindex,$result->tileindex);
 }

  $si = $result->shapeindex;
  $attr = $shpobj->values;
  echo '<tr><td>'.$si.'</td>';
  foreach($attr as $name=>$wert) {
   echo '<td>'.$wert.'</td>';
  }
  echo '</tr>';
  $shpobj->free();
 }
//check ms version
if (ms_GetVersionInt() < 50600){
$query_layer->close();
}
echo '</table>';
} // end success

My problem: using ms 5.6 the shapeindex ($result->shapeindex;) is only an temporal arrayindex (0-x) and not the "real" shapeindex I get with mapserverversions < 5.6. How can I get the "real" shapindex of my shapes using ms 5.6? I need this for pointing on single shapes in another program.

Thanks
Sven


_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to