<!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">’</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->oMap->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->oMap->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->queryByAttributes($http_form_vars['sAttribute'], "/" . $http_form_vars['sString'] . "/", MS_SINGLE);</FONT></B></SPAN></P>

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

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

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

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

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

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

<P ALIGN=LEFT><SPAN LANG="tr"><B><FONT COLOR="#008080" SIZE=2 FACE="Courier New">$height=$oMapSession->oMap->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->oMap->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 <vulukut@tescilturk.com> wrote:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> 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">> with zoomRectangle?</FONT></SPAN></P>

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

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> 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">> Behalf Of Umberto Nicoletti</FONT></SPAN></P>

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

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> 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">> queryByAttributes</FONT></SPAN></P>

<P ALIGN=LEFT><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 6/12/06, Volkan Ulukut <vulukut@tescilturk.com> wrote:</FONT></SPAN></P>

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

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

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

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> >   - 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">> >           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">> > coordinates in pixel.</FONT></SPAN></P>

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > 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">> as</FONT></SPAN></P>

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > 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">> > Fatal error: [MapServer Error]: msCalculateScale(): Invalid image extent,</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > 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">></FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> 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">> cvs versions of mapserver. What mapscript are you using?</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">></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">></FONT></SPAN></P>

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > 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">> On</FONT></SPAN></P>

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

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

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

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > 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">> > queryByAttributes</FONT></SPAN></P>

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

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

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > HTH,</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">> ></FONT></SPAN></P>

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

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

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

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

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

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

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> doing</FONT></SPAN></P>

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> > zoomscale</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> > coordinates</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> > is</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> > > 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">> > exactly</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> > by</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> > then</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> > same</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> zoom</FONT></SPAN></P>

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

<P ALIGN=LEFT><SPAN LANG="tr"><FONT SIZE=2 FACE="Courier New">> > > 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">> > > with georef coordinates(lat/long)?</FONT></SPAN></P>

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

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

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

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

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

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

</BODY>
</HTML>