<HTML>
<HEAD>
<TITLE>Behavior of explore mode in GIS Manager</TITLE>
</HEAD>
<BODY>
<FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'>I have a question for you all.<BR>
<BR>
I just discovered an unexpected (to me) behavior of explore mode in gism. I thought explore mode only tried to fill the display window with the rendered map. However, it also changes the region resolution as &nbsp;you zoom in and out. To give an example: <BR>
<BR>
Start with the 30m DEM in Spearfish and set the region to match the DEM<BR>
Zoom in and the resolution increases to 10m, 5m, 1m<BR>
Zoom out and the resolution decreases to 60m, 90m, etc<BR>
<BR>
Essentially, it is changing so that a constant number of grid cells are represented in the display window.<BR>
<BR>
I first thought this was a bug and have been trying to find where it is located over the past day. I found it and discovered that it is intentional. So here&#8217;s the question.<BR>
<BR>
Is this the way we want zooming to work in this special mode? If so, we need to change the mouse over help to make sure this is clear. If not, we need to change how explore mode works so that it does not change resolution. I can see advantages and disadvantages of each.<BR>
<BR>
I&#8217;ve included the code of the relevant function below.<BR>
<BR>
Michael<BR>
__________________________________________<BR>
Michael Barton, Professor of Anthropology<BR>
School of Human Evolution &amp; Social Change &nbsp;&nbsp;&nbsp;<BR>
Center for Social Dynamics and Complexity<BR>
Arizona State University<BR>
<BR>
phone: 480-965-6213<BR>
fax: 480-965-7671<BR>
www: <a href="http://www.public.asu.edu/~cmbarton">http://www.public.asu.edu/~cmbarton</a> <BR>
<BR>
--- relevant function of mapcanvas.tcl with code lines marked that change resolution.<BR>
<BR>
proc MapCanvas::currentzoom { mon } {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;variable zoom_attrs<BR>
&nbsp;&nbsp;&nbsp;&nbsp;variable exploremode<BR>
&nbsp;&nbsp;&nbsp;&nbsp;variable monitor_zooms<BR>
&nbsp;&nbsp;&nbsp;&nbsp;global canvas_w<BR>
&nbsp;&nbsp;&nbsp;&nbsp;global canvas_h<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;# Fetch the current zoom settings<BR>
&nbsp;&nbsp;&nbsp;&nbsp;set region {}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;foreach attr $zoom_attrs {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lappend region $monitor_zooms($mon,1,$attr)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;# If explore mode is engaged blow up the region to match the canvas<BR>
&nbsp;&nbsp;&nbsp;&nbsp;if {$exploremode($mon) == 1} {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Set the region to the smallest region no smaller than the canvas<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set canvas_ar [expr {1.0 * $canvas_w($mon) / $canvas_h($mon)}]<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set expanded_nsew [MapCanvas::shrinkwrap 1 [lrange $region 0 3] $canvas_ar]<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;puts &quot;expanded = $expanded_nsew&quot;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach {n s e w} $expanded_nsew {break}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Calculate the resolutions<BR>
---&gt; &nbsp;lappend expanded_nsew [expr {1.0 * ($n - $s) / $canvas_h($mon)}]<BR>
---&gt; &nbsp;lappend expanded_nsew [expr {1.0 * ($e - $w) / $canvas_w($mon)}]<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set region $expanded_nsew<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;return $region<BR>
}<BR>
</SPAN></FONT>
</BODY>
</HTML>