<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>oegeo</title>
	<atom:link href="http://oegeo.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://oegeo.wordpress.com</link>
	<description>because geo is not a palindrome</description>
	<pubDate>Fri, 23 May 2008 07:57:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Note To Self: The One And Only RD Projection String</title>
		<link>http://oegeo.wordpress.com/2008/05/20/note-to-self-the-one-and-only-rd-projection-string/</link>
		<comments>http://oegeo.wordpress.com/2008/05/20/note-to-self-the-one-and-only-rd-projection-string/#comments</comments>
		<pubDate>Tue, 20 May 2008 14:29:19 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[geodata]]></category>

		<category><![CDATA[mapping]]></category>

		<category><![CDATA[28992 rd]]></category>

		<category><![CDATA[datumshift]]></category>

		<category><![CDATA[dutch]]></category>

		<category><![CDATA[epsg]]></category>

		<category><![CDATA[mapserver]]></category>

		<category><![CDATA[projection]]></category>

		<category><![CDATA[rijksdriehoekstelsel]]></category>

		<category><![CDATA[wgs84]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=45</guid>
		<description><![CDATA[EPSG:28992, or the Dutch double stereographic RD (RijksDriehoekstelsel) projection, is quite often incompletely or just plain badly defined.
My version of MapServer for Windows (2.2.6 from september last year) states
+proj=stere +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs  no_defs &#60;&#62;
Which yields the following result when a native 28992 dataset is projected onto a Microsoft Virtual Earth [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>EPSG:28992, or the Dutch double stereographic RD (RijksDriehoekstelsel) projection, is quite often incompletely or just plain badly defined.</p>
<p>My version of MapServer for Windows (2.2.6 from september last year) states</p>
<pre>+proj=stere +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs  no_defs &lt;&gt;</pre>
<p>Which yields the following result when a native 28992 dataset is projected onto a Microsoft Virtual Earth (EPSG:900913 or EPSG:3785 <a href="http://www.iter.dk/post/2008/05/SphericalWeb-Mercator-EPSG-code-3785.aspx">as it is now called</a>):</p>
<p><img style="border:0 none;margin:4px;" src="http://www.mvexel.dds.nl/schaaltreinen/ZZ1A12DF18.jpg" alt="" width="500" height="316" /></p>
<p>Note that the buildings layer on top of the VE aerial photos is shifted to the north, by about 100 metres.</p>
<p>Spatialreference.org has a <a href="http://spatialreference.org/ref/epsg/28992/">slightly different take </a>on EPSG:28992:</p>
<pre>+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs</pre>
<p>which yields an almost identical result:</p>
<p><img src="http://www.mvexel.dds.nl/schaaltreinen/ZZ20028195.jpg" alt="" /></p>
<p>These projection strings are both incomplete, because they do not take into account the datum shift that is used in the RD projection and can be approximated using the &#8216;towgs84&#8242; parameter in PROJ4.</p>
<p>The one and only right PROJ4 projection string is</p>
<pre>+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +towgs84=565.2369,50.0087,465.658,-0.406857330322398,0.350732676542563,-1.8703473836068,4.0812 +no_defs &lt;&gt;</pre>
<p><img style="border:0 none;margin:4px;" src="http://www.mvexel.dds.nl/schaaltreinen/ZZ1C7E5B9E.jpg" alt="" width="500" height="313" /></p>
<p>Links</p>
<ul>
<li><a href="http://proj.maptools.org/gen_parms.html">Explanation</a> of the towgs84 parameter on this page</li>
<li>Some <a href="http://lists.maptools.org/pipermail/proj/2008-March/003324.html">discussion</a> about the RD datum shift on the PROJ.4 mailing list</li>
<li>A non-technical <a href="http://www.xs4all.nl/~keesvdm/boot/gpsdatum.htm">discourse</a> on datum shift and coordinate systems in Dutch.</li>
<li>The Dutch national survey has a <a href="https://rdinfo.kadaster.nl/">website</a> on the RD coordinate system.</li>
<li>There is also a <a href="http://www.rdnap.nl/">very Web 0.5 site</a> on the RD system and NAP (Normaal Amsterdams Peil, the Dutch standard sea water level which can be <a href="http://en.wikipedia.org/wiki/Normaal_Amsterdams_Peil">observed</a> in the Amsterdam City Hall)</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=45&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/05/20/note-to-self-the-one-and-only-rd-projection-string/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ1A12DF18.jpg" medium="image" />

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ20028195.jpg" medium="image" />

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ1C7E5B9E.jpg" medium="image" />
	</item>
		<item>
		<title>The 5 minute guide to setting up GeoServer and GeoWebCache on Windows</title>
		<link>http://oegeo.wordpress.com/2008/05/20/the-5-minute-guide-to-setting-up-geoserver-and-geowebcache-on-windows/</link>
		<comments>http://oegeo.wordpress.com/2008/05/20/the-5-minute-guide-to-setting-up-geoserver-and-geowebcache-on-windows/#comments</comments>
		<pubDate>Tue, 20 May 2008 13:30:32 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[mapping]]></category>

		<category><![CDATA[opensource]]></category>

		<category><![CDATA[openstandards]]></category>

		<category><![CDATA[virtualearth]]></category>

		<category><![CDATA[web]]></category>

		<category><![CDATA[geoserver]]></category>

		<category><![CDATA[tilecache]]></category>

		<category><![CDATA[webmapping]]></category>

		<category><![CDATA[wfs]]></category>

		<category><![CDATA[wms]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=44</guid>
		<description><![CDATA[I came across yet another tile caching implementation, GeoWebCache, through this article on the Google Open Source blog. It integrates nicely with the Geoserver OGC server, which should make it very easy to set up on a Windows box. So let&#8217;s try that.First, we need to get the Java SDK (not the runtime environment) from [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I came across yet another tile caching implementation, <a href="http://geowebcache.org/trac">GeoWebCache</a>, through <a href="http://google-opensource.blogspot.com/2008/05/accelerate-your-maps-with-geowebcache.html">this</a> article on the Google Open Source blog. It integrates nicely with the <a href="http://geoserver.org/display/GEOS/Welcome">Geoserver</a> OGC server, which should make it very easy to set up on a Windows box. So let&#8217;s try that.<span id="more-44"></span>First, we need to get the Java SDK (not the runtime environment) from Sun; Geoserver needs it. An older 1.4.x version will do, but if you start a-fresh, you might as well get the Java 6 SDK from <a href="http://java.sun.com/javase/downloads/index.jsp">here</a>. Download and install it.</p>
<p>Then we grab a fresh copy of Geoserver from <a href="http://geoserver.org/display/GEOS/Stable">their web site</a>. (<a href="http://downloads.sourceforge.net/geoserver/geoserver-1.6.3.exe">direct download link</a> for 1.6.3)</p>
<p><span style="color:#ff0000;">UPDATE</span> <a href="http://blog.geoserver.org/2008/05/21/geoserver-164-released/">1.6.4 is out</a>, as Mike Pumphrey pointed out already in the comments section. Improved support for the GeoWebCache plug-in is among the new features. Read on for the implications for this guide.</p>
<p>While you&#8217;re there, download the <a href="http://downloads.sourceforge.net/geoserver/geoserver-1.6.0-gwc-plugin.zip?modtime=1209662579&amp;big_mirror=0">GeoWebCachce extension</a> as well.</p>
<p>Unzip the GeoWebCache extension, which comes as a zip file.</p>
<p>Install the Geoserver package. It will try and locate the Java SDK and notify you about it. I don&#8217;t think installing in the default location is such a nice solution, so I changed this to c:\geoserver\ instead. The data directory then defaults to c:\geoserver\data_dir which I left like that.</p>
<p><img style="border:0 none;margin:4px;" src="http://www.mvexel.dds.nl/schaaltreinen/ZZ4A8A109D.jpg" alt="" width="600" height="106" /></p>
<p>When Geoserver is installed, we need to add all the JAR files that comprise the GeoWebCache extension to C:\geoserver\webapps\geoserver\WEB-INF\lib.</p>
<p><span style="color:#ff0000;">UPDATE The following config file tweak is obsolete as of Geoserver 1.6.4. Only if you want to stick with 1.6.3 or earlier, the following paragraph applies:</span></p>
<p>We need to make a small manual change to one of the Geoserver config files, web.xml in C:\geoserver\webapps\geoserver\WEB-INF\web.xml. This is described in the extension README:</p>
<p>find</p>
<pre>
&lt;mime-mapping&gt;</pre>
<p>BEFORE, add</p>
<pre>&lt;servlet-mapping&gt;
&lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt;
&lt;url-pattern&gt;/gwc/*&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;</pre>
<p>Before we start Geoserver, we are going to change the default admin credentials just to be on the safe side. To do this, we open C:\geoserver\data_dir\security\users.properties and change &#8216;admin=geoserver&#8217; to &#8216;admin=[yourpassword]&#8216;.</p>
<p>Now we&#8217;re ready to start Geoserver and try to call the tile cache. We&#8217;re not going to add our own layers just yet; Geoserver comes with some simple sample data. To stret Geoserver, use the Start Menu entry or call</p>
<pre>C:\geoserver\bin\startup.bat</pre>
<p>from the Run box or a command line.</p>
<p><img class="alignright" style="border:0 none;float:right;margin:4px;" src="http://www.mvexel.dds.nl/schaaltreinen/ZZ5706A769.jpg" alt="" width="600" height="303" /></p>
<p>This will open a Java command line which should remain opened. The output shown could also be useful when you start hacking the Geoserver configuration. Your Windows firewall could complain about Java, in which case you could &#8216;Unblock&#8217; Java to allow http access from outside your box.</p>
<p><img style="border:0 none;margin:4px;" src="http://www.mvexel.dds.nl/schaaltreinen/ZZ52F8AAC1.jpg" alt="" width="434" height="312" /></p>
<p>To confirm that it all works, type</p>
<pre>http://localhost:8080/geoserver/</pre>
<p>in your browser, which should yield your Geoserver Admin home page (no maps there).</p>
<p><img style="border:0 none;margin:4px;" src="http://www.mvexel.dds.nl/schaaltreinen/ZZ2F4B1676.jpg" alt="" width="600" height="377" /></p>
<p>Now type</p>
<pre>http://localhost:8080/geoserver/gwc/service/ve?layers=topp:states&amp;quadkey=02<img class="alignright" style="border:1px solid black;float:right;margin:4px;" src="http://www.mvexel.dds.nl/schaaltreinen/ZZ694C95E8.jpg" alt="" width="256" height="256" /></pre>
<p>which should yield a Microsoft Virtual Earth tile schema compliant tile:</p>
<p>The last thing I want to do right now is to integrate this into a Microsoft Virtual Earth map client. This is <a href="http://geowebcache.org/trac/wiki/virtual_earth">quite well described</a> in the GWC documentation and is dead simple anyway. Basically, you take a barebones VE map client template and add a VETileSourceSpecification:</p>
<p>var tileSourceSpec3 = new VETileSourceSpecification(&#8221;GeoserverSample&#8221;, &#8220;http://martijne:8080/geoserver/gwc/service/ve?quadkey=%4&amp;format=image/png&amp;layers=topp:states&#8221;);<br />
tileSourceSpec3.NumServers = 1;<br />
tileSourceSpec3.MinZoomLevel = 1;<br />
tileSourceSpec3.MaxZoomLevel = 16;<br />
tileSourceSpec3.Opacity = 0.3;<br />
tileSourceSpec3.ZIndex = 100;<br />
vemap.AddTileLayer(tileSourceSpec3, true);</p>
<p>You only need to change the server part of the URL in the first line to your computer name (or localhost if you&#8217;re only going to access the sample from your own machine).</p>
<p><img style="border:0 none;margin:4px;" src="http://www.mvexel.dds.nl/schaaltreinen/ZZ35D60B6F.jpg" alt="" width="600" height="377" /></p>
<p><strong>Next steps</strong></p>
<p>The major disadvantage of Geoserver for me is that it cannot do cascading WMS, although cascading WFS was recently implemented. So I&#8217;d like to set up GeoWebCache together with UMN MapServer to be able to do this.</p>
<p>When that&#8217;s done, I&#8217;d like to do some performance benchmarking and compare it to the Metacarta TileCache solution.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/44/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/44/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=44&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/05/20/the-5-minute-guide-to-setting-up-geoserver-and-geowebcache-on-windows/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ4A8A109D.jpg" medium="image" />

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ5706A769.jpg" medium="image" />

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ52F8AAC1.jpg" medium="image" />

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ2F4B1676.jpg" medium="image" />

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ694C95E8.jpg" medium="image" />

		<media:content url="http://www.mvexel.dds.nl/schaaltreinen/ZZ35D60B6F.jpg" medium="image" />
	</item>
		<item>
		<title>The End Of Flickr?</title>
		<link>http://oegeo.wordpress.com/2008/05/16/the-end-of-flickr/</link>
		<comments>http://oegeo.wordpress.com/2008/05/16/the-end-of-flickr/#comments</comments>
		<pubDate>Fri, 16 May 2008 07:19:22 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[web]]></category>

		<category><![CDATA[flickr]]></category>

		<category><![CDATA[geographicweb]]></category>

		<category><![CDATA[georeferencing]]></category>

		<category><![CDATA[geoweb]]></category>

		<category><![CDATA[googlemaps]]></category>

		<category><![CDATA[mashup]]></category>

		<category><![CDATA[panoramio]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=43</guid>
		<description><![CDATA[Well, certainly not today, and certainly not soon, but the introduction of georeferenced photos on Google Maps this week will certainly rock the online photo communities&#8217; boat. Sure, there are tons of websites overlaying flickr photos on top of a web map, and most are richer than what Google Maps currently offers. Take for example [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Well, certainly not today, and certainly not soon, but the introduction of georeferenced photos on Google Maps this week will certainly rock the online photo communities&#8217; boat. Sure, there are tons of websites overlaying flickr photos on top of a web map, and most are richer than what Google Maps currently offers. <img class="alignright" style="border:0 none;float:right;margin:4px;" src="http://www.mvexel.dds.nl/ZZ6FEA3FCC.jpg" alt="loc.alize.us" width="396" height="218" />Take for example <a href="http://loc.alize.us/">loc.alize.us</a>, a flickr/Google Maps mashup that has been around for a while. It offers tag filtering, user filtering, and a very nice and clean interface. To top it off, it offers a bookmarklet that integrates georeferencing into flickr.com very nicely. I still use it, although Yahoo Maps, the mapper of choice for Flickr&#8217;s mapping needs, of course, has had adequate coverage of the Netherlands for some time now.</p>
<p>But still.. It&#8217;s not <strong>directly ON</strong> Google Maps, which is – at least in Western Europe at this time – the ubiquitous web map. The general public will rarely discover any layer of the geographic web beyond Google Maps and Google Earth. &#8216;So, if I want my photos to show up on the web, I need to be on Panoramio.&#8217; – Panoramio being the photo sharing community that has been showing off on Google Earth for as long as I can remember, and as from now on Google Maps as well. Panoramio was acquired by Google in May, 2007.</p>
<p>No, I don&#8217;t expect a mass flux of flickr users towards Panoramio. The latter will see a good number of new members though, and if Google remains as picky about which photos to display within Maps – I&#8217;m still confused as to where this leaves Picasa; I guess the user base is not large enough – Panoramio might become a force to be reckoned with in the online photo community universe.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/43/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/43/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=43&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/05/16/the-end-of-flickr/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>

		<media:content url="http://www.mvexel.dds.nl/ZZ6FEA3FCC.jpg" medium="image">
			<media:title type="html">loc.alize.us</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenStreetMap Mapping Party &#8216;Saendelft&#8217;</title>
		<link>http://oegeo.wordpress.com/2008/05/09/openstreetmap-mapping-party-saendelft/</link>
		<comments>http://oegeo.wordpress.com/2008/05/09/openstreetmap-mapping-party-saendelft/#comments</comments>
		<pubDate>Fri, 09 May 2008 14:24:28 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[mapping]]></category>

		<category><![CDATA[openstreetmap]]></category>

		<category><![CDATA[assendelft]]></category>

		<category><![CDATA[geodata]]></category>

		<category><![CDATA[gps]]></category>

		<category><![CDATA[krommenie]]></category>

		<category><![CDATA[netherlands]]></category>

		<category><![CDATA[noordholland]]></category>

		<category><![CDATA[opencontent]]></category>

		<category><![CDATA[webmapping]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=42</guid>
		<description><![CDATA[The Dutch like to live in new, modern homes with a garden front and back. This leaves the country with many a suburban jungle like the one depicted below. This also means steady jobs for surveyors with the commercial mapping companies – and many a free weekend spent mapping for a Dutch OpenStreetMap contributor.

So, although [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The Dutch like to live in new, modern homes with a garden front and back. This leaves the country with many a suburban jungle like the one depicted below. This also means steady jobs for surveyors with the commercial mapping companies – and many a free weekend spent mapping for a <a href="http://www.openstreetmap.nl/">Dutch</a> <a href="http://www.openstreetmap.org/">OpenStreetMap</a> contributor.</p>
<p><a title="leidsche rijn 1.jpg by rhodes, on Flickr" href="http://www.flickr.com/photos/rhodes/2060229717/"><img src="http://farm3.static.flickr.com/2367/2060229717_3dc6a6f4f1.jpg" alt="leidsche rijn 1.jpg" width="500" height="333" /><span id="more-42"></span></a></p>
<p>So, although the Netherlands got a huge boost in OpenStreetMap when <a href="http://www.and.com/">AND</a> <a href="http://www.openstreetmap.nl/archives/31-AND-doneert-Nederland-aan-OpenStreetMap.html">donated</a> its dataset for the Netherlands to the community last year, we need to continue our efforts to keep the free world map up to date. And next Saturday is as good as any, so we are heading towards the &#8216;<a href="http://www.flickr.com/search/?q=saendelft&amp;w=all">Saendelft</a>&#8216; suburbia project just north of Amsterdam.</p>
<p>Jochen Topfs maps <a href="http://geo.topf.org/comparison/index.html?mt0=googlemap&amp;mt1=mapnik&amp;lon=4.7574663&amp;lat=52.487014&amp;z=14">comparison web application</a> shows that we are lagging behind the Big G here:</p>
<p><img class="alignleft" style="border:0 none;float:left;margin:4px;" src="http://www.mvexel.dds.nl/ZZ7A917157.png" alt="geo.topf.org" width="600" height="298" /></p>
<p>If you&#8217;d like to join, find all relevant info on the <a href="http://wiki.openstreetmap.org/index.php/Netherlands_Mapping_Parties_2008#MiniMapPinksterParty:_Saendelft">Wiki</a> (in Dutch). If you just want to see results, check OpenStreetMap in about a week&#8217;s time.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=42&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/05/09/openstreetmap-mapping-party-saendelft/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2367/2060229717_3dc6a6f4f1.jpg" medium="image">
			<media:title type="html">leidsche rijn 1.jpg</media:title>
		</media:content>

		<media:content url="http://www.mvexel.dds.nl/ZZ7A917157.png" medium="image">
			<media:title type="html">geo.topf.org</media:title>
		</media:content>
	</item>
		<item>
		<title>Virtual Earth Custom Tile Layers in 3D mode &#8212; not anymore.</title>
		<link>http://oegeo.wordpress.com/2008/05/08/virtual-earth-custom-tile-layers-in-3d-mode-not-anymore/</link>
		<comments>http://oegeo.wordpress.com/2008/05/08/virtual-earth-custom-tile-layers-in-3d-mode-not-anymore/#comments</comments>
		<pubDate>Thu, 08 May 2008 15:28:14 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[mapping]]></category>

		<category><![CDATA[microsoft]]></category>

		<category><![CDATA[virtualearth]]></category>

		<category><![CDATA[web]]></category>

		<category><![CDATA[webdevelopment]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[tilecache]]></category>

		<category><![CDATA[webmapping]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=41</guid>
		<description><![CDATA[The Microsoft Virtual Earth API lets you add your own tile layer to your VE Map. My colleague StevenO wrote about preparing a suitable TileCache setup. This used to work in both 2D and 3D map modes. Recently, Microsoft introduced the latest version of the API, 6.1, along with a major data upgrade and a [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The Microsoft Virtual Earth API lets you add your own tile layer to your VE Map. My colleague StevenO <a href="http://blog.minst.net/2008/02/22/using-tilecache-to-connect-virtualearth-and-arcims/">wrote about preparing a suitable TileCache setup. </a>This used to work in both 2D and 3D map modes. Recently, Microsoft introduced the <a href="http://msdn.microsoft.com/en-us/library/bb429619.aspx">latest version</a> of the API, 6.1, along with a major data upgrade and a new version of the 3D control. A step forward in many respects, but the tile layers will not show up in 3D mode anymore. Let&#8217;s investigate. <span style="color:#ff0000;">UPDATED 080508 11pm, see below</span></p>
<p><span id="more-41"></span></p>
<p>Let me start out by saying that I did not get the tile layers to display again in the new 3D control, so my preliminary conclusion is that this is a bug (read: feature) in the new VE version. But let me at least reiterate what I&#8217;ve tried. I&#8217;m also touching on some more general VE API topics that crossed my path.</p>
<p>First, I decided to define as many of the optional parameters for the VETileSourceSpecification as possible. Almost all are optional; only TileSource and ID are required and set in the constructor. I defined the <a href="http://msdn.microsoft.com/en-us/library/bb429647.aspx">Bounds</a> property, first as a simple <a href="http://msdn.microsoft.com/en-us/library/bb412411.aspx">VELatLongRectangle</a> (supplying only the top left and bottom right coordinates), that made no difference whatsoever.</p>
<p style="padding-left:30px;"><em>As a sidenote: having a GIS background, I can&#8217;t really get used to the way a bounding box, or a simple VELatLong point for that matter, are defined. I am used to defining bounding boxes by supplying their bottom-left and top-right points, but the VE API turns that all around and has you supply the top-left and bottom-right points. Those points, in turn, are defined as lat-long instead of long-lat. Does MS do this just to annoy us, or what?</em></p>
<p>The VELatLongRectangle can also be defined using four points, which is relevant for 3D mode, as you might not be looking straight down and the bounding box of your viewport might not be a rectangle at all. So I tried to define the full rectangle for the Bounds property as well, with no discernible effect:</p>
<pre style="padding-left:30px;">var bounds = [new VELatLongRectangle(new VELatLong(57,3),new VELatLong(50,7),new VELatLong(57,7),new VELatLong(50,3))];</pre>
<p><strong>Zoom Levels</strong></p>
<p>Next up is the MinZoom and MaxZoom properties. When not set, the tile layer will just show up in every zoom level, which is considered to be a possible performance issue. I don&#8217;t really see why, as the tiles will be generated by a tile caching mechanism in any decent implementation. I can see that you want to restrict the visibility of your tile layer to certain zoom levels for aesthetic reasons, however.</p>
<p style="padding-left:30px;"><em>In 3D mode, zooming is continuous, so I was wondering what the <a href="http://msdn.microsoft.com/en-us/library/bb412455.aspx">GetZoomLevel()</a> method would return. The SDK documentation states: &#8216;This method may not give the same value in 3D mode as in 2D mode.&#8217;, without elaborating. It must have something to do with the viewport bounding box in 3D being determined by three variables (heading, pitch and distance to the earth) instead of just one in 2D (just the distance). In any case, you can&#8217;t expect the zoom level to remain constant when switching between 2D and 3D modes. It does however provide you with an indication of scale to base layer visibility on. Also note that in 3D mode, the GetZoomLevel() returns a single value, whereas the control internally seems to use a more dynamic approach to zoom levels. Notice that when you tilt your view, tiles that are closer to the &#8216;camera&#8217; location are rendered with more detail than tiles that are nearer the horizon.</em></p>
<p>To get back on track; still no luck displaying our tile layers in 3D mode. Let&#8217;s see what options are left.  There are a couple more properties in the VETileSourceSpecification: NumServers, Opacity and ZIndex. Experimenting with those did not yield any results though. ZIndex looked somewhat promising, but whereas changing values does affect layer ordering in 2D, in 3D we still see no custom layers.</p>
<p><strong>API versions</strong></p>
<p>The last thing I tried was reverting to an older API version. The test page I was using only worked with versions 5 and 6, although older versions down to 3 <a href="http://blogs.msdn.com/virtualearth/archive/2008/03/03/deprecating-older-versions-of-virtual-earth.aspx">are still supported</a>. IIRC, the custom tile layer functionality was implemented in version 4, but there could be other backward compatibility issues that I don&#8217;t want to investigate right now. Anyway, switching to v6 and v5 did not yield any results in what I was actually trying to achieve: to get the custom tile layers to show up.</p>
<p>I asked <a href="http://johanneskebeck.spaces.live.com/default.aspx">Johannes Kebeck</a> about this issue, following the VE Technical Briefing that was held this morning.  For those just starting in VE API development, as well as for developers already somewhat experienced, sessions with Johannes are a really good introduction. Keep an eye on his blog or the MS Events site for future events. If and when Johannes gets back to me, I&#8217;ll update this post.</p>
<p><span style="color:#ff0000;">UPDATE</span></p>
<p>After having looked into the issue with Johannes Kebeck, we pinpointed the problem: the tile store was served up from a nonstandard port, 8080. Microsoft confirms that fetching tiles from a port other than 80 is disabled in the 3D control, for security reasons. We chose the nonstandard port in order to be able to serve both the VE web application and the tilecache from our VE appliance. Because TileCache prefers an Apache environment and VE an IIS server environment, different port numbers seemed the easy way to accomplish this.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/41/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/41/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=41&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/05/08/virtual-earth-custom-tile-layers-in-3d-mode-not-anymore/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>
	</item>
		<item>
		<title>Importing the GML 3.2.1 namespace into .NET</title>
		<link>http://oegeo.wordpress.com/2008/04/10/importing-the-gml-321-namespace-into-net/</link>
		<comments>http://oegeo.wordpress.com/2008/04/10/importing-the-gml-321-namespace-into-net/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 16:24:08 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[.net]]></category>

		<category><![CDATA[openstandards]]></category>

		<category><![CDATA[gml ogc .net xsd xsd.exe serialization]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=38</guid>
		<description><![CDATA[There comes a time for every geo-ict professional to have his first encounter with GML. Most of the time, this is not a pretty sight. Until now, I have managed to steer clear from GML when it comes to actually incorporating it into my own software. But today, this day dawned.
So here&#8217;s what I&#8217;m going [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There comes a time for every geo-ict professional to have his first encounter with GML. Most of the time, this is not a pretty sight. Until now, I have managed to steer clear from GML when it comes to actually incorporating it into my own software. But today, this day dawned.</p>
<p><span id="more-38"></span>So here&#8217;s what I&#8217;m going to do.  I&#8217;m going to generate .NET classes for the GML 3.2.1 schema. When that&#8217;s done, I&#8217;ll try and actually read a GML 3.2.1 document and do something remotely useful and relevant with it. The second bit will be for a followup post, most probably.</p>
<p>To get started, we&#8217;re going to get the combined schemas in one zip file from <a href="http://schemas.opengis.net/SCHEMAS_OPENGIS_NET.zip">http://schemas.opengis.net/SCHEMAS_OPENGIS_NET.zip</a></p>
<p>Then, we unzip those into a directory, say c:\ogc\</p>
<p>We then navigate to C:\ogc\gml\3.2.1 and open a VS2008 command prompt there.</p>
<p>Now we are all set to startto generate .NET classes using <a href="http://msdn2.microsoft.com/en-us/library/x6c1kb0s.aspx">xsd.exe</a></p>
<p>First try is</p>
<pre>xsd.exe gml.xsd /classes</pre>
<p>This generates a whole bunch of error messages</p>
<p><a href="http://oegeo.files.wordpress.com/2008/04/mwsnap-2008-04-10-14_24_30.png"><img class="alignleft size-medium wp-image-39" src="http://oegeo.files.wordpress.com/2008/04/mwsnap-2008-04-10-14_24_30.png?w=400&h=202" alt="Screenshot of VS2008 command line box" width="400" height="202" /></a></p>
<p>Some research into the limitations of xsd.exe reveals that the schemaLocation attribute in an import element is ignored by xsd.exe.</p>
<p>from <a href="http://msdn2.microsoft.com/en-us/library/ew6ts9yw.aspx">http://msdn2.microsoft.com/en-us/library/ew6ts9yw.aspx</a>:</p>
<blockquote><p>For the &lt;import&gt; element, the Xsd.exe tool ignores the schemaLocation attribute, expecting imported files instead as additional command-line arguments.</p></blockquote>
<p>from <a href="http://msdn2.microsoft.com/en-us/library/ms950721.aspx">http://msdn2.microsoft.com/en-us/library/ms950721.aspx</a></p>
<blockquote><p>Q: Why doesn&#8217;t XSD.exe support the schemaLocation attribute on imports and includes?</p>
<p>A: The W3C XML Schema recommendation describes this attribute as a hint, which can be ignored by processors that can use alternate means to locate schemas. XSD.exe only uses schemas that are specified through the command line to convert schema A.xsd, which imports schema B.xsd.</p>
<p>xsd.exe /c A.xsd B.xsd</p></blockquote>
<p>So it turns out we need to specify all schemas referenced using import elements need to be supplied as command line arguments to xsd.exe. That means we need to find all schema files referenced to using import elements in gml.xsd and - cascadingly - in all schema files referenced using include elements. This is one hell of a job which took me about an hour of concentrated gazing at XML schemas to complete.</p>
<p>The reward was an xsd.exe command line that actually worked:</p>
<pre>C:\ogc\gml\3.2.1&gt;xsd.exe gml.xsd ..\..\xlink/1.0.0\xlinks.xsd ..\..\iso\19139\20
070417\gmd\gmd.xsd ..\..\iso\19139\20070417\gco\gco.xsd ..\..\iso\19139\20070417
\gss\gss.xsd ..\..\iso\19139\20070417\gts\gts.xsd ..\..\iso\19139\20070417\gsr\g
sr.xsd /classes
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.1432]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'C:\ogc\gml\3.2.1\gsr.cs'.

C:\ogc\gml\3.2.1&gt;</pre>
<p>The proof of the pudding is in the screenshot:</p>
<p><a href="http://oegeo.files.wordpress.com/2008/04/mwsnap-2008-04-10-16_33_10.png"><img class="alignleft size-medium wp-image-40" src="http://oegeo.files.wordpress.com/2008/04/mwsnap-2008-04-10-16_33_10.png?w=400&h=101" alt="" width="400" height="101" /></a></p>
<p>The result is a gml.cs C#.NET class file that we shoul be able to use in an XmlSerializer. More in a future post.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=38&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/04/10/importing-the-gml-321-namespace-into-net/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/04/mwsnap-2008-04-10-14_24_30.png?w=400" medium="image">
			<media:title type="html">Screenshot of VS2008 command line box</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/04/mwsnap-2008-04-10-16_33_10.png?w=400" medium="image" />
	</item>
		<item>
		<title>Benchmarking TileCache, part 1</title>
		<link>http://oegeo.wordpress.com/2008/03/17/benchmarking-tilecache-part-1/</link>
		<comments>http://oegeo.wordpress.com/2008/03/17/benchmarking-tilecache-part-1/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 22:20:35 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[mapping]]></category>

		<category><![CDATA[opensource]]></category>

		<category><![CDATA[web]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[benchmarking]]></category>

		<category><![CDATA[performance]]></category>

		<category><![CDATA[tilecache]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=30</guid>
		<description><![CDATA[I have been doing some benchmarking in the wake of my TileCache installation &#8216;endeavor&#8217; of last week (part 1 - part 2). In a series – well, probably two – articles, I will try to provide some insight into the performance of the TileCache – Python – Apache  ensemble.
Let me lay out first how [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have been doing some benchmarking in the wake of my TileCache installation &#8216;endeavor&#8217; of last week (<a href="http://oegeo.wordpress.com/2008/03/08/the-5-minute-guide-to-setting-up-tilecache-on-windows/">part 1</a> - <a href="http://oegeo.wordpress.com/2008/03/10/tilecache-on-windows-part-2-mod_python/">part 2</a>). In a series – well, probably two – articles, I will try to provide some insight into the performance of the TileCache – Python – Apache  ensemble.<span id="more-30"></span></p>
<p>Let me lay out first how I went about getting the results below. I used <a href="http://httpd.apache.org/docs/2.2/programs/ab.html">ab</a> on my MacBook Pro to generate the HTTP requests. ab – or ApacheBench – is an extremely easy to use benchmarking tool, and don&#8217;t be fooled by the name, it will benchmark your lighttpd / iis  whatever-based server just as happily. I sent the requests to my desktop PC at the office, on which I danced the TileCache / mod_python setup dance I described in earlier posts. The connection was from my home through a VPN tunnel to the office, so it&#8217;s sort of remote – at least physically. I set ab to run for one minute for each session.</p>
<p>I wrote (ahem) a short shell script to do various ab sessions, with the following variables:</p>
<ul>
<li>using CGI or using mod_python</li>
<li> the number of concurrent requests</li>
</ul>
<p>The former is relevant because I want to show how much faster the mod_python solution actually is. I could not find any good numbers on this specifically related to TileCache. The latter is relevant because a tile server will typically receive many concurrent requests, even from a single client. This specifically applies when TileCache is employed as a caching layer between OpenLayers and a WMS server and OpenLayers is configured to cheat your server and fetch multiple tiles at once, <a href="http://docs.codehaus.org/display/GEOSDOC/TileCache+Tutorial">as described here</a>.</p>
<p>So now on to the results. I&#8217;ll show you some graphs  which are visualizations of ab&#8217;s CSV output. They show  a devision of the total number of requests in percentiles by time (in ms) needed to serve that percentile of the requests.</p>
<p>Note that the graphs are logarithmic (10logn). I did that to ensure optimal visibility of the results - the differences can be small for most of the percentile range, but will spike at the end of the graph.</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/c_1.png" alt="c_1.png" /></p>
<p>With 5 concurrent requests:</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/c_5.png" alt="c_5.png" /></p>
<p>&#8230;10 concurrent requests&#8230;</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/c_10.png" alt="c_10.png" /></p>
<p>&#8230;50&#8230;</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/c_50.png" alt="c_50.png" /></p>
<p>&#8230;and finally even 100 &#8212; which is already quite a heavy load, especially for my poor desktop with a single consumer SATA disk:</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/c_100.png" alt="c_100.png" /></p>
<p>I&#8217;ll write up my thoughts about these results, as well as ideas for further optimization, in a next post shortly. For now, I leave you to think about this yourselves <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> and – just because I like Excel so much – feed you two more graphs to summarize the mod_python and CGI results:</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/cgi.png" alt="cgi.png" /></p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/modpython.png" alt="modpython.png" /></p>
<p>Still to come:</p>
<ul>
<li> Analysis of the results shown</li>
<li>Further optimization techniques (ideas welcome – I&#8217;m new at this!)</li>
<li>Check the log files – were all requests actually served?</li>
<li>Longer running benchmarks, how does TileCache hold up in the long run?</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=30&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/03/17/benchmarking-tilecache-part-1/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/c_1.png" medium="image">
			<media:title type="html">c_1.png</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/c_5.png" medium="image">
			<media:title type="html">c_5.png</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/c_10.png" medium="image">
			<media:title type="html">c_10.png</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/c_50.png" medium="image">
			<media:title type="html">c_50.png</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/c_100.png" medium="image">
			<media:title type="html">c_100.png</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/cgi.png" medium="image">
			<media:title type="html">cgi.png</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/modpython.png" medium="image">
			<media:title type="html">modpython.png</media:title>
		</media:content>
	</item>
		<item>
		<title>How the iPhone and iPod Touch are location aware</title>
		<link>http://oegeo.wordpress.com/2008/03/11/how-the-iphone-and-ipod-touch-are-location-aware/</link>
		<comments>http://oegeo.wordpress.com/2008/03/11/how-the-iphone-and-ipod-touch-are-location-aware/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 23:47:20 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[geodata]]></category>

		<category><![CDATA[lbs]]></category>

		<category><![CDATA[mobile]]></category>

		<category><![CDATA[apple]]></category>

		<category><![CDATA[cellid]]></category>

		<category><![CDATA[gps]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[location]]></category>

		<category><![CDATA[skyhook]]></category>

		<category><![CDATA[wps]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=28</guid>
		<description><![CDATA[Being inside a Conrad store in Germany just makes you buy stuff you normally might not. I was in the Hannover branch last Sunday, on the tail of a CeBIT visit, and bought an iPod Touch. And I&#8217;m about as close to being in love as you can be with a non-human subject.The iPod Touch [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Being inside a <a href="http://www.conrad.de/">Conrad</a> store in Germany just makes you buy stuff you normally might not. I was in the Hannover branch last Sunday, on the tail of a CeBIT visit, and bought an iPod Touch. And I&#8217;m about as close to being in love as you can be with a non-human subject.The iPod Touch got a (paid) software upgrade in January, and now all of a sudden it has a Maps application, and what&#8217;s more: Maps has a location button that invokes some magic to determine your location. Without GPS. This magic is courtesy of Skyhook Wireless and uses the broadcast signals of WiFi access points to triangulate your location. It&#8217;s called WPS, WiFi Positioning System.<span id="more-28"></span><a href="http://usatoday.feedroom.com/index.jsp?fr_story=8e9425469bd3c4f36396cc256fc78ccb563be234&amp;rf=rss">This video</a> is a very good high level introduction to the technology. Skyhook has an <a href="http://www.skyhookwireless.com/howitworks/">introductory page</a> about the technology as well Let me summarize the key pluses and minuses.
<ul>
<li>Unlike GPS, WPS functions well indoors and in densely built up areas.</li>
<li>Location is determined extremely fast when compared to GPS, typically in &lt;1sec.</li>
<li>No extra hardware is needed, a 802.11 network interface and antenna suffice.</li>
<li>Reliance on WiFi access points means no WiFi, no location: rural areas and water bodies are out.</li>
<li>Service coverage is dependent on Skyhook expansion policy: they decide what&#8217;s good for us.</li>
<li>There&#8217;s no two-way communication to help Skyhook improve the database.</li>
</ul>
<p>The coverage of the service is by its nature limited to urban areas. The mapplet on <a href="http://www.skyhookwireless.com/howitworks/coverage.php">this page</a> shows the current coverage visually. Coverage in the Netherlands is limited to Amsterdam and part of Rotterdam. For Western Europe in general, you could say that the larger built up areas are covered. Skyhook:<br />
<blockquote class="webkit-indent-blockquote"><span class="Apple-style-span" style="font-style:italic;">WPS currently provides coverage to 70% of the American, Canadian, and Australian populations. By the end of March 2008, Skyhook will have coverage in the top 50 metropolitan areas of Europe as well as cities and towns representing 50% of the UK, French and German markets.</span>  </p></blockquote>
<blockquote class="webkit-indent-blockquote"><p><span style="font-style:italic;" class="Apple-style-span">Skyhook can and will work with partners and customers to add new coverage areas, or to accelerate expansion into planned areas, in support of mutual commercial opportunities.</span></p></blockquote>
<p>Well, that&#8217;s all marketing bla-bla – what they really should do is open up their database for user submissions. Sure, you can submit an individual access point through the Skyhook web site, but that&#8217;s a far cry from an automated harvesting application. All the basic ingredients are there: The <a href="http://developer.apple.com/iphone/">iPhone SDK</a>, the <a href="http://www.skyhookwireless.com/developers/sdk.php">Skyhook SDK</a>, and a large user base. A quick look at the Skyhook SDK tells me it&#8217;s just about getting a location; I see no functions to submit any kind of feedback - harvesting results - to Skyhook.All in all it&#8217;s a start, and part of me is happy to be done with the sub-par performance of GPS in built-up areas. A slightly bigger part of me longs for a solution based on open, user generated content. For the iPhone, the Antenneregister – a government-maintained registry of all GSM and UMTS cell towers in the Netherlands – is promising. <a href="http://oegeo.files.wordpress.com/2008/03/afbeelding-194.png" title="afbeelding-194.png"><img src="http://oegeo.files.wordpress.com/2008/03/afbeelding-194.thumbnail.png" vspace="5" hspace="5" border="0" align="right" alt="afbeelding-194.png" /></a>The database is right there on their web site: more than 23.000 geocoded cell towers. The only thing that&#8217;s missing is ther cellID&#8230; Automated harvesting of cell tower data is nothing new either, <a href="http://www.iyouit.eu/">here&#8217;s</a> an implementation called IYOUIT that harvests for a <a href="http://client338.lab.telin.nl:8080/wasp/jsp/CellStats.jsp">worldwide cell tower database</a> (<a href="http://client338.lab.telin.nl:8080/wasp/jsp/KmlCellID.jsp">Google Earth network link</a>) initiated by the Telematica Institute. Further reading <a href="http://www.iyouit.eu/portal/About.aspx">aplenty</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=28&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/03/11/how-the-iphone-and-ipod-touch-are-location-aware/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/afbeelding-194.thumbnail.png" medium="image">
			<media:title type="html">afbeelding-194.png</media:title>
		</media:content>
	</item>
		<item>
		<title>TileCache on Windows part 2: mod_python</title>
		<link>http://oegeo.wordpress.com/2008/03/10/tilecache-on-windows-part-2-mod_python/</link>
		<comments>http://oegeo.wordpress.com/2008/03/10/tilecache-on-windows-part-2-mod_python/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 21:13:15 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[opensource]]></category>

		<category><![CDATA[openstandards]]></category>

		<category><![CDATA[webdevelopment]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[mod_python]]></category>

		<category><![CDATA[openlayers]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[tilecache]]></category>

		<category><![CDATA[wms]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=27</guid>
		<description><![CDATA[The 5 minute install guide for TileCache on Windows I wrote last weekend was intended to show how easy it is to get a TileCache map server up and running. Now that it works, we should be concerned with performance. As my colleague StevenO pointed out, a CGI solution is probably not the way to [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The <a href="http://oegeo.wordpress.com/2008/03/08/the-5-minute-guide-to-setting-up-tilecache-on-windows/">5 minute install guide</a> for <a href="http://tilecache.org/">TileCache</a> on Windows I wrote last weekend was intended to show how easy it is to get a TileCache map server up and running. Now that it works, we should be concerned with performance. As my colleague <a href="http://blog.minst.net/">StevenO</a> pointed out, a CGI solution is probably not the way to go if you want to take it to production level. So I decided to try a different approach: install TileCache as a module into the local Python setup and have <a href="http://www.modpython.org/">mod_python</a> handle the python scripts of which TileCache is made up directly. That way, we can dispose of the CGI wrapper and thus the need to call the python interpreter for every tile request being made by the client. In theory, that should give us a huge performance gain.I&#8217;m going to look into two topics:</p>
<ol>
<li>Getting TileCache to run under mod_python</li>
<li>Benchmarking TileCache and more optimazition techniques</li>
</ol>
<p>The first topic will be covered in this post, the second in a future post.<span id="more-27"></span><b>Getting TileCache to run under mod_python</b>I&#8217;m going to assume we have a Apache / TileCache setup like the one we ended up with in the <a href="http://oegeo.wordpress.com/2008/03/08/the-5-minute-guide-to-setting-up-tilecache-on-windows/">5 minute install guide</a> I wrote. If you&#8217;re not there yet and want to follow my lead, I suggest you read that one first. It will only take 5 minutes :)These are the steps to take to set it up:</p>
<ul>
<li>Get the mod_python installer (direct download link - always check the site for the latest version)</li>
<li>Run the installer. At one point it may ask you to locate your Apache installation. Point it to C:\Program Files\Apache Software Foundation\Apache2.2\</li>
<li>When the installer is done, locate the main Apache configuration file, which is in C:\Program Files\Apache Software Foundation\Apache2.2\conf\, and open it in your favourite text editor. No, not in Word.  In this file, find the group of LoadModule directives and paste this line at the bottom:</li>
</ul>
<blockquote><p>LoadModule python_module modules/mod_python.so</p></blockquote>
<ul>
<li>While you&#8217;re there, add the Directory directive for the TileCache dir:</li>
</ul>
<blockquote>
<pre># THIS IS FOR TILECACHE UNDER MOD_PYTHON
&lt;Directory /Program Files/Apache Software Foundation/Apache2.2/htdocs/tilecache/&gt;
	AddHandler python-program .py
	PythonHandler TileCache.Service
	PythonOption TileCacheConfig C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/tilecache/tilecache.cfg
&lt;/Directory&gt;</pre>
</blockquote>
<ul>
<li>Don&#8217;t worry careful reader, we will create this directory now: go to C:\Program Files\Apache Software Foundation\Apache2.2\htdocs and create a directory &#8217;tilecache&#8217; in there.</li>
<li>Extract tilecache-2.0.tar.gz (I assume you still have it from the first episode) in that directory.</li>
<li>Now we&#8217;re going to install TileCache in Python . Open C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\tilecache\setup.py in your text editor and change line 33 to</li>
</ul>
<blockquote>
<pre>data_files=['tilecache.cfg'],</pre>
</blockquote>
<ul>
<li>Save and close the file.</li>
</ul>
<ul>
<li>Now open a DOS box and cd to C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\tilecache\ and execute the following line:</li>
</ul>
<blockquote>
<pre>c:\python25\python.exe setup.py install</pre>
</blockquote>
<p>Now Python knows about TileCache and we&#8217;re good to go - as soon as we restarted Apache to make it aware of the config file changes. You can do so by invoking the restart script from the start menu or from C:\Program Files\Apache Software Foundation\Apache2.2\bin\ApacheMonitor.exeTo test the new mod_python setup, try</p>
<blockquote>
<pre>http://localhost/tilecache/tilecache.py/1.0.0/basic/0/0/0.png</pre>
</blockquote>
<p>This should give you a tile. If it doesn&#8217;t, read more carefully. If it still doesn&#8217;t, come and beat me at foosball - you&#8217;ll find that not too hard.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=27&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/03/10/tilecache-on-windows-part-2-mod_python/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>
	</item>
		<item>
		<title>Uninstall Silverlight 1.0 Templates for VS2005</title>
		<link>http://oegeo.wordpress.com/2008/03/10/uninstall-silverlight-10-templates-for-vs2005/</link>
		<comments>http://oegeo.wordpress.com/2008/03/10/uninstall-silverlight-10-templates-for-vs2005/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 15:34:50 +0000</pubDate>
		<dc:creator>Martijn van Exel</dc:creator>
		
		<category><![CDATA[.net]]></category>

		<category><![CDATA[microsoft]]></category>

		<category><![CDATA[beta]]></category>

		<category><![CDATA[bug]]></category>

		<category><![CDATA[installation]]></category>

		<category><![CDATA[silverlight]]></category>

		<guid isPermaLink="false">http://oegeo.wordpress.com/?p=23</guid>
		<description><![CDATA[UPDATE &#8211;&#62; I got it fixed in the end. See bottom.  
Silverlight 2 beta 1 is out. I&#8217;m excited about the DeepZoom / SeaDragon technology making its way into this first beta! If you haven&#8217;t seen it, have a look at Blaise Aguera y Arcas&#8217; presentation at TED 2007 and see it in action [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span class="Apple-style-span" style="color:#ff0000;">UPDATE &#8211;&gt; I got it fixed in the end. See bottom.  </span></p>
<p>Silverlight 2 beta 1 is out. I&#8217;m excited about the <a href="http://labs.live.com/Seadragon.aspx">DeepZoom / SeaDragon</a> technology making its way into this first beta! If you haven&#8217;t seen it, have a look at Blaise Aguera y Arcas&#8217; <a href="http://www.ted.com/index.php/talks/view/id/129">presentation</a> at TED 2007 and see it in action at the <a href="http://memorabilia.hardrock.com/">Hard Rock Memorabilia</a> site that got some <a href="http://www.visitmix.com/blogs/Joshua/Hard-Rock-Cafe/">attention</a> at MIX08. <span id="more-23"></span>There&#8217;s a few things to install to get started developing Silverlight 2 applications:</p>
<ul>
<li><a href="http://www.microsoft.com/silverlight/resources/installationfiles.aspx?v=2.0">The Silverlight 2 beta 1 runtime</a>.</li>
<li>The <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=4E03409A-77F3-413F-B108-1243C243C4FE&amp;displaylang=en">SDK</a></li>
<li>The Visual Studio 2008 <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E0BAE58E-9C0B-4090-A1DB-F134D9F095FD&amp;displaylang=en">toolkit</a></li>
</ul>
<p>Installing the toolkit gave me some trouble I have yet to solve:</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/mwsnap-2008-03-10-15_32_11.png" alt="mwsnap-2008-03-10-15_32_11.png" /></p>
<p>So let&#8217;s see:</p>
<ul>
<li>I have VS2008 (not RTM though, the actual release version), CHECK!</li>
<li>Web Authoring compent installed, CHECK!</li>
<li>No old runtime of Silverlight hanging around, CHECK!</li>
<li>No previous version of the SDK installed, CHECK!</li>
<li>No KB949325, CHECK!</li>
<li>No previous version of tools, CH&#8230;oops!</li>
</ul>
<p>I do have this:</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/mwsnap-2008-03-10-15_54_23.png" alt="mwsnap-2008-03-10-15_54_23.png" />But I can&#8217;t seem to get rid of it!</p>
<p><img src="http://oegeo.files.wordpress.com/2008/03/mwsnap-2008-03-10-15_56_21.png" alt="mwsnap-2008-03-10-15_56_21.png" /></p>
<p>It appears <a href="http://weblogs.asp.net/jigardesai/archive/2008/03/05/uninstall-silverlight-1-0-sdk-visual-studio-2005-template.aspx">I&#8217;m not the only one</a> encountering this. I&#8217;m not 100% sure the 1.0 Template installation blocks the VS2008 Silverlight 2 tools installation, but I have a good feeling it does.</p>
<p><span class="Apple-style-span" style="font-weight:bold;">UPDATE</span><span class="Apple-style-span" style="font-weight:bold;"></span>Here&#8217;s what needs to be done to get is working:</p>
<ul>
<li> Uninstall everything that appears in the Add/Remove Programs list that has the name Silverlight in it. Except for the VS2005 templates, which you apparently cannot uninstall if you no longer have VS2005.</li>
<li>Get the Silverlight 2 Beta 1 Runtime and install.</li>
<li>Get the Silverlight 2 Tools for VS2008 and install.</li>
</ul>
<p>Now that was not so hard after all, was it?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oegeo.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oegeo.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oegeo.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oegeo.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oegeo.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oegeo.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oegeo.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oegeo.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oegeo.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oegeo.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oegeo.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oegeo.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oegeo.wordpress.com&blog=3077892&post=23&subd=oegeo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://oegeo.wordpress.com/2008/03/10/uninstall-silverlight-10-templates-for-vs2005/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/mvexel-128.jpg" medium="image">
			<media:title type="html">rhodes</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/mwsnap-2008-03-10-15_32_11.png" medium="image">
			<media:title type="html">mwsnap-2008-03-10-15_32_11.png</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/mwsnap-2008-03-10-15_54_23.png" medium="image">
			<media:title type="html">mwsnap-2008-03-10-15_54_23.png</media:title>
		</media:content>

		<media:content url="http://oegeo.files.wordpress.com/2008/03/mwsnap-2008-03-10-15_56_21.png" medium="image">
			<media:title type="html">mwsnap-2008-03-10-15_56_21.png</media:title>
		</media:content>
	</item>
	</channel>
</rss>