<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7653.38">
<TITLE>Problem with spatial query</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">This message is also posted to the Ka-Map users board, but I'm also posting here because it pertains to PHP MapScript…</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I've been customizing some of the Ka-Map Search code.  These are modifications of the kaSearch .php and .js.  I have a tool that allows a user to enter a parcel number into a text box, and zoom to that parcel automatically.  That part of the process works.  I can get the extent of the selected parcel and the map will zoom to it. </FONT></P>

<P><FONT SIZE=2 FACE="Arial">Here's where I'm having trouble- now that I have the extent of the desired parcel, I would like to automatically run a query a zoning layer, and return the zoning polygons that the selected parcel intersects.  I tried Query by Point, Rectangle, and Shape, I'm sure the coordinates area valid, but when I run the tool, it returns zone polygons from an area far away from where I am querying.  It doesn't even seem to matter what parcel I use for input- it always returns the same zoning polygons.  As a matter of fact, it looks as though it's returning results for the same poly, over and over again.  In any case, it's definitely far from the selected parcel polygon.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">I've pasted some code below.  Does anyone have any suggestions?</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Thanks,</FONT>

<BR><FONT SIZE=2 FACE="Arial">Bob</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">This code is part of my kaSearchParcel.php, which selects a parcel and zooms to it.  The code below is the query that tries to return the intersecting zoning polygons:</FONT></P>
<BR>

<P><FONT SIZE=2 FACE="Arial">$zoneLayer = $oMap->getLayer(3);                                  //Layer 3 is the zoning data</FONT>

<BR><FONT SIZE=2 FACE="Arial">$oMap->preparequery();</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">$results = @$oMap->queryByShape($oShape);                //$oShape is the parcel that was selected earlier in the php file</FONT></P>

<P><FONT SIZE=2 FACE="Arial">if ($results == MS_SUCCESS){</FONT>

<BR><FONT SIZE=2 FACE="Arial">    $r = $zoneLayer->getNumResults();</FONT>

<BR><FONT SIZE=2 FACE="Arial">    for ($d=0; $d<$r; $d++) {</FONT>

<BR><FONT SIZE=2 FACE="Arial">    $zoneLayer->open();</FONT>

<BR><FONT SIZE=2 FACE="Arial">      $result = $zoneLayer->getResult(0);</FONT>

<BR><FONT SIZE=2 FACE="Arial">    echo $r . " results found<br>";</FONT>

<BR><FONT SIZE=2 FACE="Arial">         </FONT>

<BR><FONT SIZE=2 FACE="Arial">      $shape = $zoneLayer->getFeature($result->shapeIndex, $result->tileindex);</FONT>

<BR><FONT SIZE=2 FACE="Arial">      foreach ($shape->values as $key => $value) {</FONT>

<BR><FONT SIZE=2 FACE="Arial">        echo $key. " = " .$value . "index =" .$result->shapeIndex . "<br>";</FONT>

<BR><FONT SIZE=2 FACE="Arial">      }</FONT>

<BR><FONT SIZE=2 FACE="Arial">    }</FONT>
</P>

</BODY>
</HTML>