<html>
  <head>
    <style type="text/css">
      <!--
        body { margin-bottom: 1px; margin-left: 4px; font-variant: normal; margin-top: 4px; line-height: normal; margin-right: 4px }
        p { margin-bottom: 0; margin-top: 0 }
      -->
    </style>
    
  </head>
  <body style="margin-bottom: 1px; margin-left: 4px; margin-top: 4px; margin-right: 4px">
    <p style="margin-top: 0; margin-bottom: 0">
      <font size="3" face="Comic Sans MS">All&#44;</font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <font size="3" face="Comic Sans MS">Related to this . . .</font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <font size="3" face="Comic Sans MS">From our perspective&#44; which was to allow for the most flexibilty with regard to queries in the size of the images&#44; we were willing to sacrifice the highest level of performance. &nbsp;Most of the effort here was in organizing the tiles &#40;tree index&#41; behind the MapServer service. &nbsp;Setting up the Mapfiles to generally drop pixels vs interpolating them &#40;adding new ones&#41; was a big piece of the performance issue in our configuration for example. &nbsp;Simply setting the MIN/MAX scale params accordingly helped a great deal. &nbsp;MapServer &#40;and most other products BTW&#41;&#44; seems to be better at dropping pixels &#40;reducing the image size&#41; on the fly&#44; vs interpolating to add them in to scale the image up. &nbsp;There is still some pxel replacement going on&#44; but generally making an image smaller is faster than scaling one up. Since we wanted to be able to query for any image size&#44; we concentrated on setting up Mapserver to build from a tree index as fast as possible.</font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <font size="3" face="Comic Sans MS">This is our mainstay setup at this point and how all services run in production mode. &nbsp;Our biggest bottleneck recently is network lag. &nbsp;I&#39;m looking at the various tiling conventions as well for caching&#44; &nbsp;probably a dynamic on demand caching system would be best in the end&#44; and there is no reason this couldn&#39;t be applied to our current setup as a front end to tile based clients.</font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <font size="3" face="Comic Sans MS">One big reason we went with the architecture that we did&#44; was to allow for high resolution importing for our AutoCAD based online customers for raster imagery and such. &nbsp;There were also some groups of layer data that would prove much to costly to implement as separately configured cartographic layers as web services&#44; &nbsp;See this layer output for example:</font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <font color="#0000ff" size="3" face="Comic Sans MS"><i><u><a href="http://gis.ci.stpaul.mn.us/datasets/RASTER/SAINT_PAUL/PUBLIC_WORKS/PROPERTY/property_public.map?mapext=563896.8404047444%20154119.8027878841%20568990.907012015%20157551.40786712753&mapsize=1146%20772&mode=map">http://gis.ci.stpaul.mn.us/datasets/RASTER/SAINT_PAUL/PUBLIC_WORKS/PROPERTY/property_public.map&#63;mapext&#61;563896.8404047444&#37;20154119.8027878841&#37;20568990.907012015&#37;20157551.40786712753&amp;mapsize&#61;1146&#37;20772&amp;mode&#61;map</a></u></i></font><font size="3" face="Comic Sans MS"></font>    </p>
    <p style="margin-top: 0; margin-bottom: 0">
      <font color="#0000ff" size="3" face="Comic Sans MS"><i><u><a href="http://gis.ci.stpaul.mn.us/datasets/RASTER/SAINT_PAUL/PUBLIC_WORKS/PROPERTY/property_public.map?mapext=565159.2094367743%20155007.330481188%20567467.6297618784%20156562.39199164204&mapsize=1146%20772&mode=map">http://gis.ci.stpaul.mn.us/datasets/RASTER/SAINT_PAUL/PUBLIC_WORKS/PROPERTY/property_public.map&#63;mapext&#61;565159.2094367743&#37;20155007.330481188&#37;20567467.6297618784&#37;20156562.39199164204&amp;mapsize&#61;1146&#37;20772&amp;mode&#61;map</a></u></i></font><font size="3" face="Comic Sans MS"></font>    </p>
    <p style="margin-top: 0; margin-bottom: 0">
      <font color="#0000ff" size="3" face="Comic Sans MS"><i><u><a href="http://gis.ci.stpaul.mn.us/datasets/RASTER/SAINT_PAUL/PUBLIC_WORKS/PROPERTY/property_public.map?mapext=566363.9818826721%20153592.63001268354%20568111.2314970943%20154769.66029395218&mapsize=1146%20772&mode=map">http://gis.ci.stpaul.mn.us/datasets/RASTER/SAINT_PAUL/PUBLIC_WORKS/PROPERTY/property_public.map&#63;mapext&#61;566363.9818826721&#37;20153592.63001268354&#37;20568111.2314970943&#37;20154769.66029395218&amp;mapsize&#61;1146&#37;20772&amp;mode&#61;map</a></u></i></font><font size="3" face="Comic Sans MS"></font>    </p>
    <p style="margin-top: 0; margin-bottom: 0">
      <font color="#0000ff" size="3" face="Comic Sans MS"><i><u><a href="http://gis.ci.stpaul.mn.us/datasets/RASTER/SAINT_PAUL/PUBLIC_WORKS/PROPERTY/property_public.map?mapext=567200.2527496096%20153998.18707850928%20568073.8775568207%20154586.7022191436&mapsize=1146%20772&mode=map">http://gis.ci.stpaul.mn.us/datasets/RASTER/SAINT_PAUL/PUBLIC_WORKS/PROPERTY/property_public.map&#63;mapext&#61;567200.2527496096&#37;20153998.18707850928&#37;20568073.8775568207&#37;20154586.7022191436&amp;mapsize&#61;1146&#37;20772&amp;mode&#61;map</a></u></i></font><font size="3" face="Comic Sans MS"></font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <font size="3" face="Comic Sans MS">These layers &#40;there&#39;s 50 plus ion there for example&#41; would be a bear to maintain. So I decided to cheat and use a raster presentation layer instead that is generated automatically from our ACAD DWGs.</font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <font size="3" face="Comic Sans MS">These were major considerations for our design of the system&#44; and may not apply to your situation.</font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <font size="3" face="Comic Sans MS">bobb</font>    </p>
<br>      
    <p style="margin-top: 0; margin-bottom: 0">
      <br>
      <br>
      &gt;&gt;&gt; Jason Birch &lt;jason@jasonbirch.com&gt; wrote:<br>    </p>
    <div style="margin-bottom: 0; margin-left: 15px; margin-top: 0; padding-left: 7px; background-color: #f3f3f3; margin-right: 0; border-left: solid 1px #050505">
      <p style="margin-top: 0; margin-bottom: 0">
        I&#39;ve often wondered if power-of-two was the best approach from a<br>perception viewpoint. It definitely makes the most sense from a code<br>perspective. Anyone know of any research on this&#63;<br><br>On 2010-05-22&#44; Christopher Schmidt &lt;crschmidt@crschmidt.net&gt; wrote:<br>&gt; On Fri&#44; May 21&#44; 2010 at 06:24:26PM -0300&#44; Fabio Renzo Panettieri wrote:<br>&gt;&gt; On Fri&#44; 2010-05-21 at 13:17 -0700&#44; Karsten-3-2 wrote:<br>&gt;&gt; &gt; Yes. What I want to do is simply to find out the fastest options to<br>&gt;&gt; &gt; render on<br>&gt;&gt; &gt; the fly from raw data imagery<br>&gt;&gt; &gt; &#40;no tiles whatsoever&#160;&nbsp;stored on disk in addition to the raw data &#41;. I<br>&gt;&gt; &gt; will<br>&gt;&gt; &gt; check out what SpatialCache is...<br>&gt;<br>&gt; &gt;From raw aerial imagery:<br>&gt;&#160;&nbsp;1. Store everything as uncompressed tiffs.<br>&gt;&#160;&nbsp;2. Make images as large as possible. &#40;This probably requires BigTIFF<br>&gt; support.&#41;<br>&gt;&#160;&nbsp;3. Use overviews -- usually one for every power-of-two level from the base<br>&gt;&#160;&#160;&#160;&#160;&nbsp;image up to the point where you have 256 x 256 overviews<br>&gt;&#160;&#160;&#160;&#160;&nbsp;&#40;gdaladdo&#41;<br>&gt;&#160;&nbsp;4. If you have too many images to make one large image practical&#44; create<br>&gt;&#160;&#160;&#160;&#160;&nbsp;one reduced size image that you use at lower zoom levels.<br>&gt;<br>&gt; All of this is based around serving with MapServer. I have no experience<br>&gt; using other imagery servers to solve this problem.<br>&gt;<br>&gt; Regards&#44;<br>&gt; --<br>&gt; Christopher Schmidt<br>&gt; Web Developer<br>&gt; _______________________________________________<br>&gt; Discuss mailing list<br>&gt; Discuss@lists.osgeo.org<br>&gt; <a href="http://lists.osgeo.org/mailman/listinfo/discuss">http://lists.osgeo.org/mailman/listinfo/discuss</a><br>&gt;<br>_______________________________________________<br>Discuss mailing list<br>Discuss@lists.osgeo.org<br><a href="http://lists.osgeo.org/mailman/listinfo/discuss">http://lists.osgeo.org/mailman/listinfo/discuss</a><br>
      </p>
    </div>
  </body>
</html>