[Tilecache] Extents vs. resoultion vs. maxResolution HowTo?

Steve Lime Steve.Lime at dnr.state.mn.us
Mon Nov 5 11:23:13 EST 2007


Thanks Paul. I was using a raw extent that hadn't been "fix" to square pixels in MapServer. Then computing
a maxResolution (thanks Josh) seems to work. I also see that there is a TileCache layer type which gets me
around the most recent  errors tilecache is coughing up.

Steve

>>> On 11/4/2007 at 8:51 AM, in message
<4FB22D38-97F5-47E6-A51B-33F324641EDC at gmail.com>, Paul Spencer
<pagameba at gmail.com> wrote:
> Steve,
> 
> I got it to work with a bit of frigging around:
> 
> tilecache.cfg
> 
> [navteq-sample]
> type=MapServerLayer
> mapfile=/var/data/navteq-2007.2/map/navteq-2007.2.map
> layers=navteq-2007.2
> metaTile=yes
> extent_type=loose
> bbox=-122.6579,37.4901,-122.0738,37.8795
> resolutions=0.000634956337608418,0.000396847711005261,0.0002381086266031 
> 57,0.000111117359081473,0.0000555586795407366,0.0000380973802565051,0.00 
> 00238108626603157,0.00000793695422010523
> 
> For layers= I put the name of the map file.  Note that internally the  
> code uses the wxs scripting interface so I am not sure if that  
> affects the logic of what layers get turned on/off or not.
> 
> OpenLayers code:
> 
> var map = new OpenLayers.Map(
>      $('map'),
>      {controls:[],
>       maxExtent:new OpenLayers.Bounds 
> (-122.6579,37.4901,-122.0738,37.8795),
>       maxResolution:0.000634956337608418,
>       resolutions:[0.000634956337608418,
>                    0.000396847711005261,
>                    0.000238108626603157,
>                    0.000111117359081473,
>                    0.0000555586795407366,
>                    0.0000380973802565051,
>                    0.0000238108626603157,
>                    0.00000793695422010523]
>      }
>     );
> 
> tcLayer = new OpenLayers.Layer.TileCache("TileCache Layer",
>              ["http://web01.dmsolutions.ca/cache/",
>               "http://web02.dmsolutions.ca/cache/",
>               "http://web03.dmsolutions.ca/cache/",
>               "http://web04.dmsolutions.ca/cache/"],
>              "navteq-sample");
> 
> map.addLayer(tcLayer);
> 
> 
> I believe the important part is to get the bounding box the same and  
> at least the maxResolution, although in my case I had a specific list  
> of resolutions to support because they are not a linear progression.
> 
> Cheers
> 
> Paul
> 
> 
> On 2-Nov-07, at 5:37 PM, Steve Lime wrote:
> 
>> I'm sick of beating my head against the wall so am just going to  
>> ask. Is there documentation
>> that details the joint setup of OpenLayers against TileCache with  
>> detail on the computations
>> necessary to get things sync'd up correctly? I'm trying to setup a  
>> cache for a simple no layer
>> (e.g. everything is STATUS DEFAULT) MapServerLayer.
>>
>> In the tilecache config I have (at this point):
>>
>>     [compass]
>>     metaTile=true
>>     type=MapServerLayer
>>     layers=
>>     mapfile=/usr/local/www/docs_maps/compass/compass.map
>>     srs=EPSG:29615
>>     extent_type=loose
>>     #bbox=59874.874702,4793122.838717,853624.446078,5481039.133908
>>
>> and the sample client:
>>
>>     <script type="text/javascript">
>>         <!--
>>         var map, layer;
>>
>>         function init(){
>>             map = new OpenLayers.Map( $('map'), {maxExtent: new  
>> OpenLayers.Bounds 
>> (59874.874702,4793122.838717,853624.446078,5481039.133908)} );
>>             layer = new OpenLayers.Layer.WMS( "test",  
>> "tilecache.cgi?", {layers: 'compass', format: 'image/png',  
>> projection:'EPSG:26915'} );
>>             map.addLayer(layer);
>>             if (!map.getCenter()) map.zoomToMaxExtent();
>>         }
>>         // -->
>>     </script>
>>
>> I've tried a number of combinations of maxResolution, maxExent,  
>> resolutions and so on with
>> no luck. This configuration results in tile errors like this  
>> initially:
>>
>> An error occurred: can't find resolution index for 1.406250.  
>> Available resolutions are:
>> [0.703125, 0.3515625, 0.17578125, 0.087890625, 0.0439453125,  
>> 0.02197265625, 0.010986328125, 0.0054931640625, 0.00274658203125,  
>> 0.001373291015625, 0.0006866455078125, 0.00034332275390625,  
>> 0.000171661376953125, 8.58306884765625e-05, 4.291534423828125e-05,  
>> 2.1457672119140625e-05, 1.0728836059570312e-05,  
>> 5.3644180297851562e-06, 2.6822090148925781e-06,  
>> 1.3411045074462891e-06]
>>
>> and this if one zooms in once:
>>
>> An error occurred: Current x value 456594.874702 is too far from  
>> tile corner x 456660.000000
>>
>> I must be missing something obvious (am used to ka-map and using  
>> scale values instead of
>> resolutions). There must be a standard setup for MapServerLayer and  
>> non-geographics
>> coordinates.
>>
>> Thanks- Steve
>>
>> _______________________________________________
>> Tilecache mailing list
>> Tilecache at openlayers.org 
>> http://openlayers.org/mailman/listinfo/tilecache 
> 
> +-----------------------------------------------------------------+
> |Paul Spencer                          pspencer at dmsolutions.ca    |
> +-----------------------------------------------------------------+
> |Chief Technology Officer                                         |
> |DM Solutions Group Inc                http://www.dmsolutions.ca/ |
> +-----------------------------------------------------------------+
> 
> 
> _______________________________________________
> Tilecache mailing list
> Tilecache at openlayers.org 
> http://openlayers.org/mailman/listinfo/tilecache



More information about the Tilecache mailing list