<?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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GeoLab</title>
	<atom:link href="http://www.thegeolab.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thegeolab.com</link>
	<description>GIS &#124; Remote Sensing &#124; Management &#124; Design</description>
	<lastBuildDate>Wed, 06 Oct 2010 21:15:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>GeoLab Releases Wind Buddha Version 1.1:  A Free ArcGIS Silverlight Wind Application</title>
		<link>http://www.thegeolab.com/geolab-wind-buddha-free-arcgis-silverlight-wind-application/</link>
		<comments>http://www.thegeolab.com/geolab-wind-buddha-free-arcgis-silverlight-wind-application/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 04:59:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.thegeolab.com/dev/?p=68</guid>
		<description><![CDATA[DENVER, CO, September 16, 2009 &#8212; Wind farm projects are now re-emerging after a six-month lull. Energy companies in multiple states have recently received large federal cash grants for wind farms, and notable investors such as Morgan Stanley and Citigroup are making large investments in wind farm opportunities. With this in mind, GeoLab announces the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>DENVER, CO, September 16, 2009</strong> &#8212; Wind farm projects are now     re-emerging after a six-month lull. Energy companies in multiple  states    have recently received large federal cash grants for wind  farms, and    notable investors such as Morgan Stanley and Citigroup are  making  large   investments in wind farm opportunities. With this in  mind,  GeoLab   announces the release of Wind Buddha™, a free  Silverlight wind    application that enables users to locate and analyze  areas of wind   potential.</p>
<p>Wind     Buddha™ version 1.1 provides a macro level view of the wind energy     potential for most of the United States categorized by a wind power     classification. System users can locate areas of interest by U.S.     address, or by manually selecting a point on the map. In addition to     providing energy potential, the Buddha also offers non-private land     ownership information, transmission line data, current wind information,     and live NEXRAD radar weather tracking.</p>
<p><img class="alignleft size-full wp-image-115" title="wind-buddha" src="http://www.thegeolab.com/wp-content/uploads/2010/09/wind-buddha.png" alt="" width="484" height="185" />The Wind Buddha™ application utilizes the Environmental Systems     Research Institute (ESRI) ArcGIS® Silverlight Control with industry     standard Open Source tools including: GeoWebCache, GeoServer, PostGIS,     and the Open Street Map dataset. Representational State Transfer  (REST)    and the Windows Communication Foundation (WCF) services have  also  been   integrated into the application, in preparation for  expansion  into   additional web clients. For more information, visit <a href="http://www.thewindlab.com/ArcGIS-Wind-Silverlight-GeoLab-Application.aspx" target="_blank">TheWindLab.com</a>.</p>
<p>With the Wind Buddha™ release, GeoLab continues to expand upon its     commitment to merge commercially available GIS software with Open  Source    software for energy related applications. The demand for Rich   Internet   Applications (RIA) such as Silverlight technology usage in   the   Geo-Spatial user community continues to rise. GeoLab has chosen to     utilize strong suits of the Silverlight technology, with the  benefits  of   managed code on the .NET platform. Open Source server  side GIS    components provide an ideal accompaniment to the client side  ESRI and    Microsoft® solutions.</p>
<p>GeoLab is a U.S. based GIS Consulting firm focusing on full GIS     design, software lifecycle development, and system management. GeoLab     specializes in the integration of Commercial and Open Source     technologies, and provides affordable and scalable system solutions. For     more information, visit <a href="../../">TheGeoLab.com</a>.</p>
<p>###</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thegeolab.com/geolab-wind-buddha-free-arcgis-silverlight-wind-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GeoServer and GeoWebCache for Virtual Earth Silverlight</title>
		<link>http://www.thegeolab.com/geoserver-geowebcache-virtual-earth-silverlight/</link>
		<comments>http://www.thegeolab.com/geoserver-geowebcache-virtual-earth-silverlight/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 00:57:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.thegeolab.com/dev/?p=20</guid>
		<description><![CDATA[Virtual Earth Silverlight : GeoWebCache GeoServer Tile Overlays This Article gives a nod to three sources that made this happen: 1. Virtual Earth Tile System. 2. Chris Pietschmann&#8217;s article on VE Silverlight integration with Yahoo Maps, Open Street Maps, and Open Aerial Maps. 3. GeoWebCache Virtual Earth Examples. To assist with configuration between GeoServer and [...]]]></description>
			<content:encoded><![CDATA[<h2><img class="size-medium wp-image-136 alignright" title="geoserver-geowebcache-virtualearth-us" src="http://www.thegeolab.com/wp-content/uploads/2009/03/geoserver-geowebcache-virtualearth-us-300x252.png" alt="" width="240" height="200" /></h2>
<h2>Virtual Earth Silverlight : GeoWebCache GeoServer Tile Overlays</h2>
<p>This Article gives a nod to three sources that made this happen:<br />
1. Virtual Earth <a href="http://msdn.microsoft.com/en-us/library/bb259689.aspx" target="_blank">Tile System</a>.<br />
2. Chris Pietschmann&#8217;s <a href="http://pietschsoft.com/post/2009/03/Virtual-Earth-Silverlight-Overlay-OpenStreetMap2c-OpenAerialMap-and-Yahoo-Map-Imagery-using-Custom-Tile-Layers%21.aspx" target="_blank">article</a> on VE Silverlight integration with Yahoo Maps, Open Street Maps, and Open Aerial Maps.<br />
3. GeoWebCache Virtual Earth <a href="http://geowebcache.org/trac/wiki/virtual_earth" target="_blank">Examples</a>.<br />
To assist with configuration between GeoServer and GeoWebCache check my: <a href="http://geoserver.org/display/GEOSDOC/GeoServer+GeoWebCache+Configuration" target="_blank">configuration article</a>.</p>
<h2><img class="size-medium wp-image-137 alignright" title="geoserver-geowebcache-virtualearth-ca-az" src="http://www.thegeolab.com/wp-content/uploads/2009/03/geoserver-geowebcache-virtualearth-ca-az-300x240.png" alt="" width="240" height="201" /></h2>
<h4>Introduction</h4>
<p>I&#8217;m sure there&#8217;s been a significant number of downloads already at  old Microsoft      for their Silverlight for Virtual Earth CTP just  released last Friday.     Interestingly enough, ESRI released their  Silverlight for ArcGIS control      the day before. I&#8217;m sure I will end  up using that control, as it&#8217;s off to rave reviews,     but currently am  focusing on Virtual Earth. The below code really wasn&#8217;t that difficult,      but it is important. GeoServer, being a free and Open Source  platform, with its      companion GeoWebCache, are an almost undeniable  combination for many server side processes.     I&#8217;m loving the  combination, and with REST now solidly on the back end in GeoServer  1.7.3, Look Out. This article     will look specifically at the C# code,  URIs, and methods necessary to pull a tiling scheme in from      GeoWebCache as a custom TileSource and overlay those tiles in  Silverlight for Virtual Earth.</p>
<h4>The Necessities</h4>
<p>We&#8217;re basically going to follow Pietschmann&#8217;s lead with just a few  twists on the URI that GeoWebCache   already uses for its Virtual Earth  AJAX control.<br />
Let&#8217;s review the general approach:<br />
1. <strong>Create a custom TileSource object</strong> inherited from Microsoft.VirtualEarth.MapControl.TileSource.<br />
a. Define the URI to get those images.<br />
b. Override the GetURI method on the TileSource.<br />
2. <strong>Add the custom TileSource to the map.</strong><br />
a. Add a new MapTileLayer instance to the map.<br />
b. Create an instance of your custom TileSource object.<br />
c. Add that TileSource to your MapTileLayer.<br />
d. Add the MapTileLayer to the Map&#8217;s children collection.<br />
Step 1. tasks happen in the .xaml.cs and Step 2. tasks are in the .xaml itself. There are many variations on this.</p>
<h4>Create a Custom TileSource</h4>
<p>GeoWebCache has exisiting request services in place just waiting to  scoop    up what you&#8217;re willing to give it to get your tiles. There&#8217;s a  couple of routes you can take   with this:<br />
1. the   <a href="http://geowebcache.org/trac/browser/branches/1.0.x/geowebcache/src/main/java/org/geowebcache/service/ve/VEConverter.java?rev=485" target="_blank">VEconverter</a> object   route which is more complex, but is informative, and potentially useful for other things.<br />
2. the more direct    <a href="http://geowebcache.org/trac/browser/branches/1.0.x/geowebcache/src/main/java/org/geowebcache/service/gmaps?rev=485" target="_blank">Gmaps</a> object route.    <strong>VEconverter route&#8217;s C# code in xaml.cs</strong></p>
<div>public class GWCtileSource : Microsoft.VirtualEarth.MapControl.TileSource<br />
{<br />
public GWCtileSource()<br />
:base(&#8220;http://localhost:8080/geoserver/gwc/service/ve?layers=topp:states&amp;format=image/png&amp;quadkey={0}&#8221;)<br />
{<br />
}<br />
public override Uri GetUri(int x, int y, int zoomLevel)<br />
{<br />
string veQuadStr = TileXYToQuadKey(x, y, zoomLevel);<br />
return new Uri(String.Format(this.UriFormat, veQuadStr));<br />
}<br />
public static string TileXYToQuadKey(int tileX, int tileY, int levelOfDetail)<br />
{<br />
StringBuilder quadKey = new StringBuilder();<br />
for (int i = levelOfDetail; i &gt; 0; i&#8211;)<br />
{<br />
char digit = &#8217;0&#8242;;<br />
int mask = 1 &lt;&lt; (i &#8211; 1);<br />
if ((tileX &amp; mask) != 0)<br />
{<br />
digit++;<br />
}<br />
if ((tileY &amp; mask) != 0)<br />
{<br />
digit++;<br />
digit++;<br />
}<br />
quadKey.Append(digit);<br />
}<br />
return quadKey.ToString();<br />
}<br />
}</div>
<p>As you can see in the first few lines of code, <em>GWCtileSource</em> inherits from the VE TileSource object. This is your custom TileSource now.<br />
In the constructor of your custom TileSource object, the <em>:base</em> allows us to replace our URI request with the  tile(s) we are going to  want to show. The request string you are looking at is a typical basic  GeoServer GeoWebCache request string <em>http://localhost:8080/geoserver/gwc/service</em>. The <em>ve?</em> tells us it&#8217;s a Virtual Earth request and the <em>topp:states</em> is a demo layer found in GeoServer. Much of this is explained in the configuration article mentioned above.  However the <em>quadkey=</em> part is different than the AJAX Virtual Earth client. You don&#8217;t have  anything sending the right quadkey list back over to GeoWebCache to get  the tiles. We, however, need to dig a little deeper with this  GeoWebCache route by using the x, y, and zoom levels in a different way.</p>
<div>public override Uri GetUri(int x, int y, int zoomLevel)<br />
{<br />
string veQuadStr = TileXYToQuadKey(x, y, zoomLevel);<br />
return new Uri(String.Format(this.UriFormat, veQuadStr));<br />
}</div>
<p>By overriding the GetUri method of the TileSource, we can grab the <em>x</em> tile location, <em>y</em> tile location and <em>zoomlevel</em> from this method, and push those into a Virtual Earth method to get the  quadkey(s) we need.  These keys are returned back to the TileSource,  and we&#8217;re in business. The explanation on the <em>TileXYToQuadKey</em> can be found at the Microsoft source mentioned at the top of the article.  <strong>Gmaps route&#8217;s C# code in xaml.cs</strong></p>
<div>public class GWCtileSource : Microsoft.VirtualEarth.MapControl.TileSource<br />
{<br />
public GWCtileSource()<br />
: base (&#8220;http://localhost:8080/geoserver/gwc/service/gmaps?layers=topp:states&amp;zoom={2}&amp;x={0}&amp;y={1}&#8221;)<br />
{<br />
}<br />
public override Uri GetUri(int x, int y, int zoomLevel)<br />
{<br />
return new Uri(String.Format(this.UriFormat, x, y, zoomLevel));<br />
}<br />
}</div>
<p>Your alternative approach is the above code. This was an approach I  was looking in to as being more direct to the  tiles, and Arne Kepp on  the GeoWebCache ListServ verified it. We essentially cut out the middle  man here, and use the Google Maps  request string to get the tiles. On  large requests, it may save you some processing overhead, but I think   its important to be aware of both routes.</p>
<h4>Add a new MapTileLayer instance to the map</h4>
<p>I&#8217;m going to move quickly through this last part as it&#8217;s easy squeezy. Here&#8217;s the xaml:</p>
<div>&lt;UserControl x:Class=&#8221;SilverlightTestApplication.MainPage&#8221;<br />
xmlns=&#8221;http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;<br />
xmlns:x=&#8221;http://schemas.microsoft.com/winfx/2006/xaml&#8221;<br />
xmlns:m=&#8221;clr-namespace:Microsoft.VirtualEarth.MapControl;<br />
assembly=Microsoft.VirtualEarth.MapControl&#8221;<br />
xmlns:local=&#8221;clr-namespace:SilverlightTestApplication&#8221;&gt;<br />
&lt;Grid x:Name=&#8221;LayoutRoot&#8221; Background=&#8221;White&#8221;&gt;<br />
&lt;m:Map Name=&#8221;MainMap&#8221; Mode=&#8221;Road&#8221; Center=&#8221;37.00,-109.4&#8243; ZoomLevel=&#8221;3&#8243; &gt;<br />
&lt;m:Map.Children&gt;<br />
&lt;m:MapTileLayer&gt;<br />
&lt;m:MapTileLayer.TileSources&gt;<br />
&lt;local:GWCtileSource&gt;&lt;/local:GWCtileSource&gt;<br />
&lt;/m:MapTileLayer.TileSources&gt;<br />
&lt;/m:MapTileLayer&gt;<br />
&lt;/m:Map.Children&gt;<br />
&lt;/m:Map&gt;<br />
&lt;/Grid&gt;<br />
&lt;/UserControl&gt;</div>
<p>So, the XAML is doing what could also be done on the C# side of things. We&#8217;ve done it here, though. You can see we have added a <em>MapTileLayer</em> to the <em> Map.Children</em> and created an instance of the TileSource(s)<em>GWCtileSource</em> we declared in the C# code. The TileSource is associated with the  TileLayer which is part of the map now.   That&#8217;s it in a nutshell. Best  of Luck.<br />
Copyright GeoLab 2009.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thegeolab.com/geoserver-geowebcache-virtual-earth-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to MapServer</title>
		<link>http://www.thegeolab.com/introduction-to-mapserver/</link>
		<comments>http://www.thegeolab.com/introduction-to-mapserver/#comments</comments>
		<pubDate>Sun, 20 Feb 2005 02:23:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[MapServer]]></category>

		<guid isPermaLink="false">http://www.thegeolab.com/dev/?p=48</guid>
		<description><![CDATA[What is Map Server? OpenSource development environment for constructing spatially enabled web sites. Originally developed in 1994 at the University of Minnesota &#38; funded by NASA ForNet project. Builds upon other popular OpenSource or freeware systems. e.g. Freetype, Proj4, GDAL/OGR Compiled as a CGI application. MapServer Development History 1994 – Web-based Arc/Info AML 1997 – [...]]]></description>
			<content:encoded><![CDATA[<p><strong>What is Map Server?</strong></p>
<ul>
<li>OpenSource development environment for constructing spatially enabled web sites.</li>
<li>Originally developed in 1994 at the University of Minnesota &amp; funded by NASA ForNet project.</li>
<li>Builds upon other popular OpenSource or freeware systems. e.g. Freetype, Proj4, GDAL/OGR</li>
<li>Compiled as a CGI application.</li>
</ul>
<p><strong>MapServer Development History</strong></p>
<ul>
<li>1994 – Web-based Arc/Info AML</li>
<li> 1997 – Version 1.0</li>
<li> 1998 – Version 2.0 (Release as ForNet MapServer)</li>
<li> 1999 – Version 3.0 (raster + truetype fonts added)</li>
<li> 2000 – Version 3.3 (MapScript, PROJ4)</li>
<li> 2001 – Version 3.5 (OGC, OGR, GDAL)</li>
<li> 2002 – Version 3.7 (24bit image support)</li>
<li> 2003 – Version 4.0 (Flash, PDF)</li>
<li> 2004 – Version 4.4 (WMS compliant)</li>
</ul>
<p><strong>MapServer Features:</strong></p>
<ul>
<li>Vector Support – Shapefiles, ArcSDE , Oracle Spatial, etc. *The OGR module supports many other formats.</li>
<li>Raster Support &#8211; TIFF/GeoTIFF, EPPL7, ECW, Erdas, etc. *The GDAL module supports over 30 formats.</li>
<li>TrueType font support.</li>
<li>Map configuration file is used to create the cartography.</li>
<li>Map element automation (scalebar, reference map, and legend).</li>
<li>On-the-fly projection.</li>
<li>Feature labeling including label collision mediation.</li>
<li>Feature selection by item/value, point, area or another feature.</li>
<li>Support for OGC – WMS, WFS, and WCS.</li>
<li>Mapscript provides a robust development environment.</li>
<li>Image output as GIF, PNG, and JPEG.</li>
<li>Spatial database support with tools such as PostGIS provide a means to do spatial analysis on the fly and present the results.</li>
<li>Can be compiled with Mapscript Module. (PHP, Perl, Java, Python)</li>
<li>Runs on Linux, Windows, Unix, and even Mac OS.</li>
<li>Maintained by twenty or more developers around the world.</li>
<li>http://mapserver.gis.umn.edu</li>
</ul>
<p><strong>MapServer Disadvantages:</strong></p>
<ul>
<li>No integrated Geocoder. Try Google contest winner Geocoder</li>
<li> No automated clean up routine inherent to the software. Must write or obtain one.</li>
<li>No installation program for Windows. It’s piece meal, but works. * Breaking News…There is one now. Windows Installer</li>
<li>Linux installations are not for the faint of heart, but once  accomplished opens up the potential for serious custom builds.</li>
<li>No inherent geoprocessing, but with a spatial DB one can run spatial SQL and present the results.</li>
<li>Hosting options are limited, but a minimal server is needed.</li>
<li>User base is weak in our neck of the woods here in AZ.</li>
</ul>
<p><strong>MapServer Windows Installation:</strong></p>
<ul>
<li>Get the latest binaries.</li>
<li> Read the README-Install.txt.</li>
<li> Copy package to C:\mapserver.</li>
<li> Copy mapserv.exe from &#8220;C:\MapServer\bin&#8221; to your web server&#8217;s cgi-bin directory.</li>
<li>Copy directory &#8220;Proj&#8221; to &#8220;C:\Proj” If you choose to put it somewhere else you will need a system variable.</li>
<li>Copy the dynamic link libraries (the files with .dll extensions) to your system directory. e.g. &#8220;C:\Windows\system32“</li>
<li>Restart your web server.</li>
<li>Test MapServer by typing &#8220;http://localhost/cgi-bin/mapserv.exe&#8221;on   your browser. Success =“No query information to decode. QUERY_STRING is   set, but empty.”</li>
<li>Get many other builds from DM Solutions including the PHP Module: Maptools</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.thegeolab.com/introduction-to-mapserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

