<div>Thanks for the information.</div>
<div>&nbsp;</div>
<div><em>&gt;&gt;&gt;&gt;1.&nbsp;&nbsp;Check if the image already exists in the cache.<br><br>&gt;&gt;&gt;&gt;&gt;I believe this is handled by TileCache at the &#39;Service&#39; level, depending<br>&gt;&gt;&gt;&gt;&gt;on what you mean by &#39;cache&#39;.
<br></em></div>
<div>Basically from the class MyDGLayer(Layer):<br>&nbsp;</div>
<div>I only want to &quot;question&quot;&nbsp;the service if I don&#39;t have the image cached on my disk already.&nbsp; What method would I call to check that?&nbsp; They don&#39;t have one call to question and retrieve.&nbsp;&nbsp;Basically you call one url to ask if they have an image then I will call the WMS service if they do.&nbsp; Their WMS service returns an image, right or wrong, always.&nbsp; So I could eliminate two hits on their server if I knew I had the image on disk already.
</div>
<div>&nbsp;</div>
<div>Thanks in advance,</div>
<div>Linda<br><br>&nbsp;</div>
<div><span class="gmail_quote">On 10/15/07, <b class="gmail_sendername">Christopher Schmidt</b> &lt;<a href="mailto:crschmidt@metacarta.com">crschmidt@metacarta.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">On Mon, Oct 15, 2007 at 09:49:19AM -0600, Linda Rawson wrote:<br>&gt; Basically I need to do the following:
<br>&gt;<br>&gt; 1.&nbsp;&nbsp;Check if the image already exists in the cache.<br><br>I believe this is handled by TileCache at the &#39;Service&#39; level, depending<br>on what you mean by &#39;cache&#39;.<br><br>&gt; 2.&nbsp;&nbsp;If not then check for the image with the provider by utilizing a url
<br>&gt; that returns a value.<br>&gt; 3.&nbsp;&nbsp;Check the value and If still no image then try another WMS service<br>&gt; provider.<br>&gt; 4.&nbsp;&nbsp;If still no image then return a noimage tile.<br><br>Right. You&#39;ll need to add something like:
<br><br>class MyDGLayer(Layer):<br>&nbsp;&nbsp; def renderTile(self: tile):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bbox = tile.bbox()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; u = urllib.urlopen(&#39;<a href="http://digitalglobe.com/tile?bbox=%s">http://digitalglobe.com/tile?bbox=%s</a>&#39; % bbox)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tile.data = u.read()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not tile.data:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; u = urllib.urlopen(&#39;<a href="http://wms.example.com/tile?bbox=%s">http://wms.example.com/tile?bbox=%s</a>&#39; % bbox)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tile.data = 
u.read()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not tile.data:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tile.data = open(&quot;/my/local/no_image.png&quot;).read()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return tile.data<br><br>&gt; Can you direct me to the best python resource for these things?<br><br>
You&#39;ll probably just want to look at basic Python documentation for<br>&#39;loading data from remote servers&#39; or &#39;loading data over http&#39; or<br>something like that. I never looked at any resources other than Google
<br>for learning Python, so I can&#39;t help specifically.<br><br>Sticking that at the end of the Layer.py file, and then creating a:<br><br>[digitalglobe]<br>type=MyDGLayer<br><br>Should get you started.<br><br>Regards,<br>
--<br>Christopher Schmidt<br>MetaCarta<br></blockquote></div><br>