<!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.7036.0">
<TITLE>RE: [UMN_MAPSERVER-USERS] Zooming to shapes found by queryByAttributes</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<BR>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">Ok here is the code. I don't think it's a wrong order issue</FONT></SPAN><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New"> since i</FONT></SPAN><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&#8217;</FONT></SPAN><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">m not changing any values.</FONT></SPAN><SPAN LANG="tr"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$oExtents = $oMapSession-&gt;oMap-&gt;extent;</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$oldExtents = $oExtents;</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$oLayer = $oMapSession-&gt;oMap-&gt;getLayerByName($http_form_vars['sLayer']);</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$result = $oLayer-&gt;queryByAttributes($http_form_vars['sAttribute'], &quot;/&quot; . $http_form_vars['sString'] . &quot;/&quot;, MS_SINGLE);</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$oLayer-&gt;open();</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$oRes = $oLayer-&gt;getResult(0);</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$oShape = $oLayer-&gt;getShape($oRes-&gt;tileindex,$oRes-&gt;shapeindex);</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$oExtents = $oShape-&gt;bounds;</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$oShape-&gt;free();</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$width=$oMapSession-&gt;oMap-&gt;width;</FONT></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$height=$oMapSession-&gt;oMap-&gt;height;</FONT></B></SPAN><SPAN LANG="tr"><B></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#FF0000" SIZE=2 FACE="Courier New">$oMapSession-&gt;oMap-&gt;zoomrectangle( $oExtents,$width,$height,$oldExtents);</FONT></B></SPAN><SPAN LANG="tr"><B></B></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">Ends up with:</FONT></SPAN></P>
<BR>

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT SIZE=2 FACE="Courier New">Fatal error</FONT></B></SPAN><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">: [MapServer Error]: msCalculateScale(): Invalid image extent, minx=-31.418490, miny=75.002064, maxx=-31.418490, maxy=75.002064.</FONT></SPAN><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New"> </FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">On red</FONT></SPAN><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New"> line</FONT></SPAN><SPAN LANG="tr"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">-----Original Message-----<BR>
From: tesciltu@host.tescilturk.com [<A HREF="mailto:tesciltu@host.tescilturk.com">mailto:tesciltu@host.tescilturk.com</A>] On Behalf Of Umberto Nicoletti<BR>
Sent: Monday, June 12, 2006 4:28 PM<BR>
To: Volkan Ulukut; MAPSERVER-USERS@lists.umn.edu<BR>
Subject: Re: [UMN_MAPSERVER-USERS] Zooming to shapes found by queryByAttributes</FONT></SPAN><SPAN LANG="tr"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">REMEMBER to cc the list.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">PHP mapscript is ok, it was not afffected. Probably you are not using</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">the correct order for minx, miny, etc.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">Umberto</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">On 6/12/06, Volkan Ulukut &lt;vulukut@tescilturk.com&gt; wrote:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; I'm using mapserver 4.8.3. mapscript was compiled with it. What was wrong</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; with zoomRectangle?</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; -----Original Message-----</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; From: tesciltu@host.tescilturk.com [<A HREF="mailto:tesciltu@host.tescilturk.com">mailto:tesciltu@host.tescilturk.com</A>] On</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; Behalf Of Umberto Nicoletti</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; Sent: Monday, June 12, 2006 4:06 PM</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; To: Volkan Ulukut</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; Subject: Re: [UMN_MAPSERVER-USERS] Zooming to shapes found by</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; queryByAttributes</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; On 6/12/06, Volkan Ulukut &lt;vulukut@tescilturk.com&gt; wrote:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; void zoomrectangle(rectObj oPixelExt, int nImageWidth, int nImageHeight,</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rectObj oGeorefExt)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Parmeters are :</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;&nbsp;&nbsp; - oPixelExt (rect object) : Pixel Extents, with (0,0) at the top-left</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The rectangle contains the coordinates of the LL and UR</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; coordinates in pixel.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Shape's bounds are georef coordinates. Zoomrectangle takes pixel extents</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; as</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; parameter.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; When i try to use shape's bounds anyway here's the result:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Fatal error: [MapServer Error]: msCalculateScale(): Invalid image extent,</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; minx=-31.418490, miny=75.002064, maxx=-31.418490, maxy=75.002064.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; There is a bug in the zoomRectangle code which was fixed last week in</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; cvs versions of mapserver. What mapscript are you using?</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; Umberto</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; -----Original Message-----</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; From: tesciltu@host.tescilturk.com [<A HREF="mailto:tesciltu@host.tescilturk.com">mailto:tesciltu@host.tescilturk.com</A>]</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; On</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Behalf Of Umberto Nicoletti</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Sent: Monday, June 12, 2006 3:45 PM</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; To: Volkan Ulukut</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Cc: MAPSERVER-USERS@lists.umn.edu</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Subject: Re: [UMN_MAPSERVER-USERS] Zooming to shapes found by</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; queryByAttributes</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Try to zoomRectangle using the shape's bounds.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; HTH,</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; Umberto</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; On 6/12/06, Volkan Ulukut &lt;vulukut@tescilturk.com&gt; wrote:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; Hey list;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; I'm having trouble zooming to the exact location of the shape after</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; doing</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; a</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; search with queryByAttributes. I'm trying to use zoomrectangle and</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; zoomscale</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; but they both need pixel position. So i try to convert my georef</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; coordinates</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; to pixel coordinates. I believe that was successful too, but the problem</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; is</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; that the shape is too small (a street in the worldmap) and the pixel i</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; calculate is not an integer value. The zoom actually happens but not</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; exactly</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; on the shape just a bit miles west and north. I tried to workaround this</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; by</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; zooming step by step. By that i mean zooming to that location a little</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; then</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; zooming to the centre till i get to the shape. But that won't give the</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; same</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; result on every search as you may guess. I'm stuck now cause i can't</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; zoom</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; to</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; the right place with pixel coordinates. Is there any way that i can zoom</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt; &gt; with georef coordinates(lat/long)?</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt; &gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">&gt;</FONT></SPAN></P>

</BODY>
</HTML>