<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1743223945531919026</id><updated>2011-10-31T21:19:33.029-07:00</updated><category term='mobile'/><category term='GIS'/><category term='ArcIMS'/><category term='GisDevelopment'/><category term='styling'/><category term='stamen'/><category term='ski resorts'/><category term='model view controller'/><category term='localization'/><category term='www.flexmappers.com'/><category term='Where 2.0'/><category term='Flex 4'/><category term='actionscript 3'/><category term='events'/><category term='contracting'/><category term='open source'/><category term='resolution'/><category term='RIA'/><category term='Flex custom maps'/><category term='ArcMap Flex API'/><category term='Photoshop'/><category term='IPhone'/><category term='US government'/><category term='interactive map'/><category term='consumer mapping'/><category term='Flash'/><category term='Internet Explorer cannot display the webpage'/><category term='challenges'/><category term='AS#'/><category term='mapserver'/><category term='OpenScales'/><category term='WFS'/><category term='f;ash CS3'/><category term='consumer maps'/><category term='Everyblock'/><category term='wms'/><category term='web service'/><category term='Geowebcache'/><category term='Flex 3'/><category term='Flex'/><category term='custom maps'/><category term='flex api'/><category term='AMEE'/><category term='OpenLayers'/><category term='Modest Maps'/><category term='Flex modules'/><category term='Actionscript 2.0'/><category term='google maps'/><category term='maps. GIS'/><category term='Sensed Location'/><category term='tilecache'/><category term='geographic information systems'/><category term='ArcGIS API'/><category term='XML'/><category term='map zoom tool'/><category term='SnagIt  8'/><category term='gis mapping'/><category term='cgi configuration'/><category term='multiple providers'/><category term='mvc'/><category term='overlay issue'/><category term='Django'/><category term='IE8'/><category term='rich internet applications'/><category term='Flash CS3'/><category term='rich internet interactive maps'/><category term='configuration google earth'/><category term='vista'/><category term='business geographics'/><category term='3-D.'/><category term='set up'/><category term='DMSolutions'/><category term='openlayers example'/><category term='Flex component from Flash'/><category term='client'/><category term='headers'/><category term='geoweb'/><category term='crime spotting'/><category term='Geodjango'/><category term='public data'/><category term='template'/><category term='lat/long conversion to screen x'/><category term='local search'/><category term='map interfaces'/><category term='MapSherpa'/><category term='ESRI'/><category term='Flash builder 4'/><category term='interface'/><category term='problem solving'/><category term='layers'/><category term='MarineMap'/><category term='html 5'/><category term='Bing maps'/><category term='select features'/><category term='AlivePDF'/><category term='John Peel'/><category term='0'/><category term='Modets maps'/><category term='ESRI arcmap flex api'/><category term='debug'/><category term='carbon emmissions'/><category term='PostGIS'/><category term='Farallon Geographics'/><category term='y'/><category term='tutorial'/><category term='AS3'/><category term='ArcGIS'/><category term='web services'/><category term='transitionmanager'/><category term='United Maps'/><category term='widgets'/><category term='Yahoo maps'/><category term='mash up.'/><category term='Tour de Flex'/><category term='geospatial'/><category term='geoserver'/><category term='adobe flex'/><category term='article'/><category term='Ramsey'/><category term='maps'/><category term='Mapquest Flex API samples'/><category term='mapquest Flash API'/><category term='money'/><title type='text'>Rich Internet Mapping Applications</title><subtitle type='html'>A blog dedicated to building next generation mapping applications using Flex.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7057326067560299541</id><published>2010-08-19T11:54:00.000-07:00</published><updated>2010-08-25T10:08:45.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='GIS'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe flex'/><category scheme='http://www.blogger.com/atom/ns#' term='interface'/><category scheme='http://www.blogger.com/atom/ns#' term='geographic information systems'/><title type='text'>Adobe Flex Mapping Interfaces</title><content type='html'>An interesting article on Flex map interfaces written by a collegue of mine:&lt;br /&gt;&lt;br /&gt;http://www.webmapsolutions.com/building-perfect-flex-map-interface&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7057326067560299541?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7057326067560299541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7057326067560299541' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7057326067560299541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7057326067560299541'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2010/08/adobe-flex-mapping-interfaces.html' title='Adobe Flex Mapping Interfaces'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5526354904586691736</id><published>2010-08-02T06:38:00.000-07:00</published><updated>2010-08-02T07:00:45.982-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='select features'/><category scheme='http://www.blogger.com/atom/ns#' term='layers'/><category scheme='http://www.blogger.com/atom/ns#' term='wms'/><category scheme='http://www.blogger.com/atom/ns#' term='WFS'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenScales'/><title type='text'>Flex - Styling Interactive Maps 2</title><content type='html'>Just returning to my earlier post; using the Openscales API and combining WFS and WMS in one place. The goal was to use a styled map image (returned by a WMS call) and use Flex to draw the features on this image (via a WFS call), to give interactivity. One problem I found was that we needed to give the WFS drawn features a transparency of 0. This way we could get the interactivity (eg click on feature and get attributes pop up) but not see the drawn feature. But, suppose we want this selected feature highlighted in a different colour? Since the transparency is set to 0, the highlight will not be visible. How to get around this ....&lt;br /&gt;&lt;br /&gt;Remember the Openscales map is constructed with multiple layers (imagine looking down at multiple sheets of tracing paper, on one there is a road drawn, on another a river etc all lined up correctly geographically). Our WFS (selected) layer is on one of these sheets. So all points marking well, for example, are on this one sheet. But all the points on this sheet have a transparency of 0, so they are there, but invisible. Now it is the sheet or layer which is set to 0 transparency not individual points (polygons or lines) The solution to being able to highlight a selected point (WFS feature) &lt;br /&gt;......&lt;br /&gt;&lt;br /&gt;Set a blank map feature layer. Set the transparency to 1. When a point is selected copy this to the blank layer. Hey presto it appears, Make sure when you unselect the point you both copy the point back to its original layer and then clear the blank layer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5526354904586691736?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5526354904586691736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5526354904586691736' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5526354904586691736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5526354904586691736'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2010/08/flex-styling-interactive-maps-2.html' title='Flex - Styling Interactive Maps 2'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1537078328408983434</id><published>2010-07-27T08:40:00.000-07:00</published><updated>2010-07-27T08:48:11.192-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ArcMap Flex API'/><category scheme='http://www.blogger.com/atom/ns#' term='widgets'/><category scheme='http://www.blogger.com/atom/ns#' term='template'/><category scheme='http://www.blogger.com/atom/ns#' term='ArcGIS'/><category scheme='http://www.blogger.com/atom/ns#' term='ESRI'/><title type='text'>Advantages and Disadvantages of the Flex ArcGIS Template</title><content type='html'>Available for download from the ESRI Flex web site is the &lt;a href="http://resources.esri.com/arcgisserver/apis/flex/index.cfm?fa=codeGalleryDetails&amp;scriptId=15905"&gt;Flex template&lt;/a&gt;. The template and widgets are free. This provides out of the box basic and advanced Web ArcGIS functionality using Flex.  From zoom, and pan to address locator and query builder; there are a range of different widgets provided by ESRI and their user community. Build a Flex based ArcGIS web site in minutes. Well maybe.&lt;br /&gt;&lt;br /&gt;The biggest two main advantages of the template are fast development and the built in animation. The basic template comes with a core set of widgets or modules which are easily loaded into the template framework. Additional widgets are available for download. The framework has some nice built in animation when widgets are loaded and unloaded. &lt;br /&gt;&lt;br /&gt;From a development perspective, modules are easy to build and integrate into the framework.  So what then are the disadvantages? These are worth considering not only in deciding whether to use the template but also in planning and estimating. Often the time to develop a site using the template is longer than expected. So let us list out these disadvantages:&lt;br /&gt;&lt;br /&gt;- Inflexible UI - you will quickly recognise sites built from the template. Both the look and feel and animation are a give away. It is not easy to customise the UI to make it unique. &lt;br /&gt;&lt;br /&gt;- The need to customise widgets - widgets have usually been built for a specific purpose, particularly the more advanced widgets such as query builder. Often clients have their own specific needs, You may thus find yourself pulling the widget apart. This may prove more challenging than it appears. What seem simple modifications may actually take considerably longer. In some case it may be quicker to simply rebuild the widget from scratch.&lt;br /&gt;&lt;br /&gt;- Locked into ArcGIS - Not really a disadvantage, but worth noting; the template is only for use with ArcGIS. It is not a template which can be used to hook into other spatial servers. It would be nice if you could easily use this for interacting with other spatial servers, notably Geoserver or Mapserver. But it is an ESRI solution, so why allow access to the ‘competition’.&lt;br /&gt;&lt;br /&gt;Overall, the template is a nice solution for clients who have limited budgets and want standard functionality. But, more complexity and a custom look and feel will both be challenging and time consuming. Step back and look closely at client needs. If the requirement is very specific, think about building the application using the &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/samples/index.html"&gt;ArcGIS Flex API&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1537078328408983434?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1537078328408983434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1537078328408983434' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1537078328408983434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1537078328408983434'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2010/07/advantages-and-disadvantages-of-flex.html' title='Advantages and Disadvantages of the Flex ArcGIS Template'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1325540987814950148</id><published>2010-07-27T08:06:00.000-07:00</published><updated>2010-07-27T08:15:45.041-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wms'/><category scheme='http://www.blogger.com/atom/ns#' term='WFS'/><category scheme='http://www.blogger.com/atom/ns#' term='styling'/><category scheme='http://www.blogger.com/atom/ns#' term='geoserver'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenScales'/><title type='text'>Flex - Styling Interactive Maps</title><content type='html'>I had an interesting question recently. This was with regards building a mapping application using the open source mapping Flex library &lt;a href="http://openscales.org"&gt;Openscales&lt;/a&gt;. He wanted to improve the styling of the map layers, but still be able to click on a feature and return attributes. Now Openscales is nice since both WMS and WFS calls are easy. &lt;br /&gt;&lt;br /&gt;Let me step back quickly and explain the difference between WFS and WMS. Both involve calls to a spatial server, in this case to &lt;a href="http://geoserver.org"&gt;Geoserver&lt;/a&gt;. WFS returns the raw data. So Flex is able to draw the boundaries of features, making the feature interactive. The features attributes are also returned. Thus a click on a feature can return the features attributes without a additional server call. WMS simply returns an image. Getting the attributes for the latter would require both an additional server call and constructing a new query. &lt;br /&gt;&lt;br /&gt;It struck me after thinking about this for a while. Why not combine WFS with WMS. Thus request both a styled WMS image and draw on this the WFS features. Make the WFS feature fully transparent, thus only the WMS styling shows.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iFTA3A35vVc/TE74Av0OvrI/AAAAAAAAAD4/Wqdh42H4W7k/s1600/styling.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 305px;" src="http://1.bp.blogspot.com/_iFTA3A35vVc/TE74Av0OvrI/AAAAAAAAAD4/Wqdh42H4W7k/s400/styling.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5498604886785179314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After playing with this, the results were pleasingly good. The one thing I'm finding is challenging is the ability for a selected WFS feature to be highlighted when selected. Since it is fully transparent. &lt;br /&gt;&lt;br /&gt;I have a potential solution. And will share once I have tested&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1325540987814950148?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1325540987814950148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1325540987814950148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1325540987814950148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1325540987814950148'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2010/07/flex-styling-interactive-maps.html' title='Flex - Styling Interactive Maps'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iFTA3A35vVc/TE74Av0OvrI/AAAAAAAAAD4/Wqdh42H4W7k/s72-c/styling.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7440796534827695902</id><published>2009-12-15T10:31:00.000-08:00</published><updated>2009-12-17T10:11:31.311-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenScales'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='maps. GIS'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>OpenScales</title><content type='html'>I've been working for some time now with the Openscales AS3 library. Finally we have a Flex GIS client. The library is work in progress, but already offers really nice features and functions. At some point soon I will share some of my work and code. I've been busy customising core functional elements including adding Yahoo and Bing baselayers, restricting WFS rendering to scale, allowing WFS layers to be turned on and off, custom styling the interface and components. More to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7440796534827695902?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7440796534827695902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7440796534827695902' title='29 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7440796534827695902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7440796534827695902'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/12/openscales.html' title='OpenScales'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>29</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5401404949017576764</id><published>2009-12-15T10:28:00.001-08:00</published><updated>2009-12-15T10:30:50.766-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flex Web Services</title><content type='html'>I don't often use web services in Flex. But recetly found need to dip my toe in. The following I thought was an exellent simple example. taken from http://www.cflex.net/showFileDetails.cfm?ObjectID=582. Thanks Tracy.&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="*"&lt;br /&gt;    creationComplete="getWeather()" &amp;gt;&lt;br /&gt;&amp;lt;mx:Script&amp;gt;&lt;br /&gt;&amp;lt;![CDATA[&lt;br /&gt;  import mx.controls.dataGridClasses.DataGridColumn;&lt;br /&gt;  import mx.rpc.events.ResultEvent;&lt;br /&gt;  import mx.managers.CursorManager;&lt;br /&gt;  import mx.controls.Alert;&lt;br /&gt; &lt;br /&gt;  default xml namespace = "http://www.webservicex.net";  //necessary to access the xml elements easily&lt;br /&gt;&lt;br /&gt;  [Bindable]private var _xmlResult:XML;      //holds the result xml&lt;br /&gt;  [Bindable]private var _xlDayData:XMLList;  //dataProvider for the day weather dataGrid&lt;br /&gt;  [Bindable]private var _sPlace:String;&lt;br /&gt; &lt;br /&gt;  /** invokes the web service operation to get the weather */&lt;br /&gt;  private function getWeather():void&lt;br /&gt;  {&lt;br /&gt;    CursorManager.setBusyCursor();&lt;br /&gt;    WS.GetWeatherByZipCode.send();&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;  /** called by the WebService result event.  Sets the dataProviders as necessary */&lt;br /&gt;  private function onResult(oEvent:ResultEvent):void&lt;br /&gt;  {&lt;br /&gt;    _xmlResult = XML(oEvent.result);&lt;br /&gt;    var xmlResultNode:XML = _xmlResult.GetWeatherByZipCodeResult[0];&lt;br /&gt;    var xmlDetailsNode:XML = xmlResultNode.Details[0];&lt;br /&gt;    outputInfo.text = _xmlResult.toXMLString();&lt;br /&gt;    _sPlace = xmlResultNode.PlaceName.text() + ", " + xmlResultNode.StateCode.text();&lt;br /&gt;    _xlDayData = xmlDetailsNode.WeatherData;&lt;br /&gt;    CursorManager.removeBusyCursor();&lt;br /&gt;  }//onResult&lt;br /&gt; &lt;br /&gt;  /** labelFunction for DataGrid.  It seems that the namespace on the xml makes&lt;br /&gt;    * using the DataGridColumn dataField not work.  At least I couldn't get it to work. */&lt;br /&gt;  private function lfDayData(oItem:Object, dgc:DataGridColumn):String&lt;br /&gt;  {&lt;br /&gt;    var sReturn:String = "";&lt;br /&gt;    var xmlItem:XML = XML(oItem);              //get the item object cast as an xml object&lt;br /&gt;    var sHeaderText:String = dgc.headerText;    //get the header text for this column&lt;br /&gt;    switch (sHeaderText)                       //logic to determine which node to get the data from&lt;br /&gt;    {&lt;br /&gt;      case "Day":&lt;br /&gt;        sReturn = xmlItem.Day.text();&lt;br /&gt;        break;&lt;br /&gt;      case "High":&lt;br /&gt;        sReturn = xmlItem.MaxTemperatureF.text();&lt;br /&gt;        break;&lt;br /&gt;      case "Low":&lt;br /&gt;        sReturn = xmlItem.MinTemperatureF.text();&lt;br /&gt;        break;              &lt;br /&gt;    }&lt;br /&gt;  &lt;br /&gt;    return sReturn;&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/mx:Script&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;mx:WebService id="WS" wsdl="http://www.webservicex.net/WeatherForecast.asmx?WSDL"&lt;br /&gt;      useProxy="false"&lt;br /&gt;      fault="Alert.show(event.fault.faultString), 'Error'"&lt;br /&gt;      result="onResult(event)" &amp;gt;&lt;br /&gt; &lt;br /&gt;    &amp;lt;mx:operation name="GetWeatherByZipCode" resultFormat="e4x" &amp;gt;&lt;br /&gt;      &amp;lt;mx:request&amp;gt;&lt;br /&gt;        &amp;lt;ZipCode&amp;gt;{zipcode.text}&amp;lt;/ZipCode&amp;gt;&lt;br /&gt;      &amp;lt;/mx:request&amp;gt;&lt;br /&gt;    &amp;lt;/mx:operation&amp;gt;&lt;br /&gt;  &amp;lt;/mx:WebService&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;mx:Panel title="WebService Example" height="75%"&lt;br /&gt;      paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" id="myPanel"&amp;gt;&lt;br /&gt;  &amp;lt;mx:TextArea x="200" width="400" height="250" id="outputInfo" /&amp;gt;&lt;br /&gt;  &amp;lt;mx:HBox&amp;gt;&lt;br /&gt;    &amp;lt;mx:Label width="100%" color="blue"&lt;br /&gt;        text="Enter a zip code."/&amp;gt;&lt;br /&gt;    &amp;lt;mx:TextInput id="zipcode" text="30117"/&amp;gt;&lt;br /&gt;    &amp;lt;mx:Button label="Get weather" click="getWeather()"/&amp;gt;  &lt;br /&gt;  &amp;lt;/mx:HBox&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;mx:Text id="txtPlace" htmlText="{_sPlace}"/&amp;gt;&lt;br /&gt;  &amp;lt;mx:DataGrid dataProvider="{_xlDayData}" height="180"&amp;gt;&lt;br /&gt;    &amp;lt;mx:columns&amp;gt;&lt;br /&gt;      &amp;lt;mx:DataGridColumn labelFunction="lfDayData" headerText="Day" width="200" /&amp;gt;&lt;br /&gt;      &amp;lt;mx:DataGridColumn labelFunction="lfDayData" headerText="High" width="100" /&amp;gt;&lt;br /&gt;      &amp;lt;mx:DataGridColumn labelFunction="lfDayData" headerText="Low" width="100" /&amp;gt;&lt;br /&gt;    &amp;lt;/mx:columns&amp;gt;&lt;br /&gt;  &amp;lt;/mx:DataGrid&amp;gt;&lt;br /&gt; &lt;br /&gt;  &amp;lt;/mx:Panel&amp;gt;&lt;br /&gt;&amp;lt;/mx:Application&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5401404949017576764?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5401404949017576764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5401404949017576764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5401404949017576764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5401404949017576764'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/12/flex-web-services.html' title='Flex Web Services'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-4875923832409416667</id><published>2009-11-22T07:14:00.000-08:00</published><updated>2009-12-15T10:31:47.274-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='headers'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='web service'/><category scheme='http://www.blogger.com/atom/ns#' term='ESRI arcmap flex api'/><title type='text'>Flex and SOAP</title><content type='html'>Its always fun to work with Web service in Flex. Those pesky headers! Found a couple of terrific links on the subject. Now its easy :-)&lt;br /&gt;&lt;a href="http://www.actionscript.org/forums/showthread.php3?t=195916&amp;highlight=e4x+faq"&gt;http://www.actionscript.org/forums/showthread.php3?t=195916&amp;highlight=e4x+faq&lt;/a&gt;&lt;br /&gt;&lt;a href="http://craigkaminsky.blogspot.com/2009/05/flex-3-make-net-namespaces-in-soap-xml.html"&gt;http://craigkaminsky.blogspot.com/2009/05/flex-3-make-net-namespaces-in-soap-xml.html&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just to put some code behind this....&lt;br /&gt;&lt;br /&gt;Here is part of the feed:&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8" standalone="yes" ?&amp;gt; &lt;br /&gt; &amp;lt;feed xml:base="http://www.placespr.com/WebDataService1.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom"&amp;gt;&lt;br /&gt;  &amp;lt;title type="text"&amp;gt;ptg_categories&amp;lt;/title&amp;gt; &lt;br /&gt;  &amp;lt;id&amp;gt;http://www.placespr.com/webdataservice1.svc/ptg_categories&amp;lt;/id&amp;gt; &lt;br /&gt;  &amp;lt;updated&amp;gt;2009-11-22T15:26:36Z&amp;lt;/updated&amp;gt; &lt;br /&gt;  &amp;lt;link rel="self" title="ptg_categories" href="ptg_categories" /&amp;gt; &lt;br /&gt; &amp;lt;entry&amp;gt;&lt;br /&gt;  &amp;lt;id&amp;gt;http://www.placespr.com/WebDataService1.svc/ptg_categories(1)&amp;lt;/id&amp;gt; &lt;br /&gt;  &amp;lt;title type="text" /&amp;gt; &lt;br /&gt;  &amp;lt;updated&amp;gt;2009-11-22T15:26:36Z&amp;lt;/updated&amp;gt; &lt;br /&gt; &amp;lt;author&amp;gt;&lt;br /&gt;  &amp;lt;name /&amp;gt; &lt;br /&gt;  &amp;lt;/author&amp;gt;&lt;br /&gt;  &amp;lt;link rel="edit" title="ptg_categories" href="ptg_categories(1)" /&amp;gt; &lt;br /&gt;  &amp;lt;category term="ponce_1000Model.ptg_categories" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&amp;gt; &lt;br /&gt; &amp;lt;content type="application/xml"&amp;gt;&lt;br /&gt; &amp;lt;m:properties&amp;gt;&lt;br /&gt;  &amp;lt;d:cat_id m:type="Edm.Int32"&amp;gt;1&amp;lt;/d:cat_id&amp;gt; &lt;br /&gt;  &amp;lt;d:name m:null="true" /&amp;gt; &lt;br /&gt;  &amp;lt;d:service&amp;gt;hotels.asmx&amp;lt;/d:service&amp;gt; &lt;br /&gt;  &amp;lt;d:icon&amp;gt;/images/icons/hotels.gif&amp;lt;/d:icon&amp;gt; &lt;br /&gt;  &amp;lt;d:ordering m:type="Edm.Int32"&amp;gt;1&amp;lt;/d:ordering&amp;gt; &lt;br /&gt;  &amp;lt;d:counting m:type="Edm.Int32"&amp;gt;75&amp;lt;/d:counting&amp;gt; &lt;br /&gt;  &amp;lt;/m:properties&amp;gt;&lt;br /&gt;  &amp;lt;/content&amp;gt;&lt;br /&gt;  &amp;lt;/entry&amp;gt;&lt;br /&gt;  ......&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and here is the modified code from these excellent links:&lt;br /&gt;&lt;br /&gt;      private function getCategoriesResult(evt:ResultEvent):void {&lt;br /&gt;                var respXML:XML = evt.result as XML;&lt;br /&gt; &lt;br /&gt;      var xmlSource:String = respXML.toXMLString();   &lt;br /&gt;      //Strip off the headers&lt;br /&gt;     xmlSource = xmlSource.replace(/&amp;lt;[^!?]?[^&amp;gt;]+?&amp;gt;/g, removeNamspaces); // will invoke the function detailed below&lt;br /&gt;     var cleanXML:XML = XML(xmlSource);&lt;br /&gt;     for each( var item:XML in cleanXML.entry ) // looping over the reportHistory elements to act on them&lt;br /&gt;     {&lt;br /&gt;       trace( "name: " + item.content.properties.service);&lt;br /&gt;      }&lt;br /&gt;            }&lt;br /&gt;   &lt;br /&gt;   // Web service response cleaner function&lt;br /&gt;   private function removeNamspaces(...rest):String&lt;br /&gt;   {&lt;br /&gt;       rest[0] = rest[0].replace(/xmlns[^"]+\"[^"]+\"/g, "");&lt;br /&gt;       var attrs:Array = rest[0].match(/\"[^"]*\"/g);&lt;br /&gt;       rest[0] = rest[0].replace(/\"[^"]*\"/g, "%attribute value%");&lt;br /&gt;       rest[0] = rest[0].replace(/(&amp;lt;\/?|\s)\w+\:/g, "$1");&lt;br /&gt;       while (rest[0].indexOf("%attribute value%") &amp;gt; 0)&lt;br /&gt;       {&lt;br /&gt;           rest[0] = rest[0].replace("%attribute value%", attrs.shift());&lt;br /&gt;       }&lt;br /&gt;       return rest[0];&lt;br /&gt;   }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-4875923832409416667?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/4875923832409416667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=4875923832409416667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4875923832409416667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4875923832409416667'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/11/flex-and-web-services.html' title='Flex and SOAP'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8233369974702434986</id><published>2009-11-17T09:03:00.000-08:00</published><updated>2009-11-17T09:07:38.737-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet Explorer cannot display the webpage'/><title type='text'>IE8 Vista Problem</title><content type='html'>I'll not br rotten about Microsoft, since I develop on Windows .. but sometimes!!&lt;br /&gt;&lt;br /&gt;I found I could not open IE, out of the blue. Spent a frustrating couple of hours troubleshooting. All to do with security updates and IE settins. The solution which worked of me is as follows:&lt;br /&gt;&lt;br /&gt;Open internet explorer and go to menu TOOLS, than to INTERNET OPTIONS. Open the CONNECTION tab,and click on SETTINGS. You then uncheck the 'use of proxy server for this connection' and click ok .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8233369974702434986?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8233369974702434986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8233369974702434986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8233369974702434986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8233369974702434986'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/11/ie8-vista-problem.html' title='IE8 Vista Problem'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7807368755058205876</id><published>2009-11-15T14:30:00.000-08:00</published><updated>2009-11-15T14:36:48.880-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='ArcGIS API'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenScales'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='AlivePDF'/><title type='text'>AlivePDF</title><content type='html'>Its been a hectic time with project work. Much to share particularly with regards the ArcGIS Flex API and the open source OpenScales Flex library.&lt;br /&gt;&lt;br /&gt;Just a quick mention today on AlivePDF. Historically, I've had to generate PDF's in PHP. &lt;a href="http://alivepdf.bytearray.org/"&gt;AlivePDF&lt;/a&gt; is based on the PHP library FPDF. It makes generating PDF's from Flex very straighforward. Alex Britez has written a simple example &lt;a href="http://blog.unthinkmedia.com/?p=53"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7807368755058205876?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7807368755058205876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7807368755058205876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7807368755058205876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7807368755058205876'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/11/alivepdf.html' title='AlivePDF'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-3914473297914668002</id><published>2009-10-17T17:36:00.000-07:00</published><updated>2009-10-20T12:18:26.963-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenLayers'/><category scheme='http://www.blogger.com/atom/ns#' term='GIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Modest Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenScales'/><category scheme='http://www.blogger.com/atom/ns#' term='ESRI arcmap flex api'/><title type='text'>Open Source GIS Clients</title><content type='html'>I have had a number of companies recently approach me about open source GIS options. This has something to do with my recently published &lt;a href="http://flexmappers.com/about.html"&gt;articles&lt;/a&gt;. One interesting area has been an investigation into Flex GIS clients. Openlayers is the premier Web 2.0 GIS client; well supported, a rich library filled with an array of functionality .. but written in Javascript. Now I have nothing against Javascript, its free, has a big community behind it and runs in the browser. But I'm a Flex developer. I prefer it because .. it has an excellent IDE which makes for easy debugging, developing sophisticated interactive application is both quick and easy, applications run the same in all browsers, actionscript is object oriented. Actionscript is just nicer and easier to work with .. in my view.&lt;br /&gt;&lt;br /&gt;So enough. Anybody who argues against these opinions I would not oppose. Its just how I feel about it. Anyway, the whole Flex GIS open source client issue. I have worked with Modest Maps for sometime now to develop mostly consumer maps. Stop right there! Consumer maps? The world of online maps remains somewhat split. GIS maps and consumer maps. Consumer maps I define as the use of basemaps - tiles which are derived from satellite images or vector road maps for example - to build mash ups; video, imagery, text using, often, the addition of map markers for access (or clickable icons geospatially placed on the map). Here is a simple &lt;a href="http://www.flexmappers.com/myadvancedmodestmap/"&gt;example&lt;/a&gt;. Google, Yahoo, Bing, mapquest offer largely API's for developing consumer maps. &lt;br /&gt;&lt;br /&gt;So what are online GIS maps. A simple question? Well maybe. GIS has moved from the desktop to the Web. It was very much a niche market. Geography type nerds generating applications and analyses in large part for government (a generalisation but close to reality). The frustration for GIS vendors was how do they broaden the market. ESRI and the other key private vendors struggled to sell into the enterprise. They still do in fact.&lt;br /&gt;&lt;br /&gt;Suddenly google maps arrived on the scene. It shook the mapping industry to its core. Internet maps were everywhere. Its worth noting that Mapquest preceded Google, but the fanfare (and $) waited for Googles arrival. Suddenly the other GIS vendors needed to react. ESRI produced rival online products. But with a GIS twist. &lt;br /&gt;&lt;br /&gt;So here we are today. A plethora of consumer map APIs. And ESRI sitting in a somewhat awkward position offering free API's hooking easily into their own server product(s) ArcGIS (not so easily into other providers). Offering consumer and GIS API functionality. With a focus to sell their complete stack to those interested. Their purpose is to make money.&lt;br /&gt;&lt;br /&gt;So how about those of us wanting to build online GIS maps, but avoid the high cost of the private vendor solutions? The open source &lt;a href="http://www.flexmappers.com/POSITION_43_OpenSource_Sheehan.pdf"&gt;GIS stack&lt;/a&gt; is very mature. But how about Flex clients?&lt;br /&gt;&lt;br /&gt;I've spent some time looking at the options. Base requirements include:&lt;br /&gt;&lt;br /&gt;- Rendering both WFS and WMS in combination&lt;br /&gt;- Overlays of these services on various basemaps&lt;br /&gt;- Drawing tools for line point and polygons&lt;br /&gt;- Identify functionality&lt;br /&gt;&lt;br /&gt;I looked at both Modest Maps and OpenScales. Though not its focus there has been some work done on Modest Maps toward some level of interaction with spatial servers. I added a WMS layer at:&lt;br /&gt;&lt;a href="http://www.flexmappers.com/mapserving/mapservingWMS/"&gt;&lt;br /&gt;http://www.flexmappers.com/mapserving/mapservingWMS/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note, I had to make some tweeks to the WMS provider, provided with the library.&lt;br /&gt;&lt;br /&gt;Openscales is less mature. But very impressive for how long development has been underway. I built the following map application: &lt;br /&gt;&lt;a href="http://www.flexmappers.com/mapserving/openscales.html"&gt;http://www.flexmappers.com/mapserving/openscales.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;It supplies much of the base functionality I was looking to include. WMS is proving a little challenging (but i suspect a style tag is mssing from  the tile request) and the map interaction is not a smooth as Modest maps. Only openstreetmap is provided, but I am looking to port code from Modest maps to add this functionality. &lt;br /&gt;&lt;br /&gt;Ultimately Flex should simply be rendering the points, lines, and polygons supplied by the server.&lt;br /&gt;&lt;br /&gt;I am interested to see how easy it might be to port from one library to the other. Either way, Openscales is a very interesting project. One well worth supporting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-3914473297914668002?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/3914473297914668002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=3914473297914668002' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3914473297914668002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3914473297914668002'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/10/open-source-gis-clients.html' title='Open Source GIS Clients'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8897706495149944965</id><published>2009-10-11T18:54:00.001-07:00</published><updated>2009-10-11T18:59:44.363-07:00</updated><title type='text'>Flex and PHP POST</title><content type='html'>I always forget the syntax when trying to get around the Flex sandbox and use PHP. On the Flex side we need the following:&lt;br /&gt;&lt;br /&gt;[Bindable]private var pr_url:String;&lt;br /&gt;&lt;br /&gt;..&lt;br /&gt;private function init():void&lt;br /&gt;{  &lt;br /&gt; ..&lt;br /&gt; pr_url = "url to SOAP service for example";&lt;br /&gt; pr.send();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;..&lt;br /&gt;&lt;br /&gt;&amp;lt;mx:HTTPService id="pr" resultFormat="e4x" result="getMonths_result(event);" fault="getMonths_fault(event);" method="POST" url="http://www.flexmappers.com/puertorico/test.php"&amp;gt;&lt;br /&gt; &amp;lt;mx:request xmlns=""&amp;gt;&lt;br /&gt;  &amp;lt;url&amp;gt;&lt;br /&gt;   {pr_url}&lt;br /&gt;  &amp;lt;/url&amp;gt;&lt;br /&gt; &amp;lt;/mx:request&amp;gt;&lt;br /&gt;&amp;lt;/mx:HTTPService&amp;gt;&lt;br /&gt;&lt;br /&gt;On the PHP side:&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;   header('Content-Type: text/xml');&lt;br /&gt;   $url = $_POST["url"];&lt;br /&gt;&lt;br /&gt;   $data = file_get_contents($url);&lt;br /&gt;    echo $data;&lt;br /&gt;?&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8897706495149944965?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8897706495149944965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8897706495149944965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8897706495149944965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8897706495149944965'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/10/flex-and-php-post.html' title='Flex and PHP POST'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8772198568363730810</id><published>2009-09-22T07:29:00.000-07:00</published><updated>2009-09-24T07:00:27.384-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenScales'/><title type='text'>OpenScales</title><content type='html'>While becoming increasingly more impressed with Openlayers I came across &lt;a href="http://openscales.org/"&gt;OpenScales&lt;/a&gt;. A porting of sorts of Openlayers to Actionscript 3.0. Some key links below:&lt;br /&gt;&lt;br /&gt;My OpenStreetmap, WMS, WFS Test&lt;br /&gt;&lt;a href="http://www.flexmappers.com/openscales"&gt;http://www.flexmappers.com/openscales&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Code Examples&lt;br /&gt;&lt;a href="http://openscales.org/svn/openscales/trunk/openscales-fx-examples/src/main/flex/"&gt;http://openscales.org/svn/openscales/trunk/openscales-fx-examples/src/main/flex/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Demo&lt;br /&gt;&lt;a href="http://openscales.org/openscales.swf"&gt;http://openscales.org/openscales.swf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;api&lt;br /&gt;&lt;a href="http://openscales.org/mvn-site/"&gt;http://openscales.org/mvn-site/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://openscales.org/mvn-site/openscales-core/asdoc/index.html"&gt;http://openscales.org/mvn-site/openscales-core/asdoc/index.html&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;GetCapabilities Test&lt;br /&gt;&lt;a href="http://openscales.org/proxy.php?url=http://sigma.openplans.org/geoserver/ows?service=WFS%26request%3DGetCapabilities"&gt;http://openscales.org/proxy.php?url=http://sigma.openplans.org/geoserver/ows?service=WFS%26request%3DGetCapabilities&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8772198568363730810?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8772198568363730810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8772198568363730810' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8772198568363730810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8772198568363730810'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/openscales.html' title='OpenScales'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-6997618046039393399</id><published>2009-09-20T12:19:00.000-07:00</published><updated>2009-09-24T07:01:53.864-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostGIS'/><title type='text'>PostGIS</title><content type='html'>Here is an &lt;a href="http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgis_tut01"&gt;excellent guide&lt;/a&gt; to working with PostGIS. Some of my additional notes:&lt;br /&gt;&lt;br /&gt;Load Shapefile to PostGIS &lt;br /&gt;&lt;br /&gt;a) DB Connect:&lt;br /&gt;psql -d gisdb -h localhost -U matt&lt;br /&gt;&lt;br /&gt;b) Generate sql file from shapefile:&lt;br /&gt;&lt;br /&gt;C:\Program files\PostgreSQL\8.2\bin&gt;shp2pgsql.exe data\states &gt; states.sql&lt;br /&gt;&lt;br /&gt;c) Use pgAdmin to ru sql (tools -&gt; query tool. In query tool open-&gt;go to the states.sql&lt;br /&gt;&lt;br /&gt;Paul Ramsey wrote PostGIS. I recently shared some emails with him. Thought part of the discussion worth reprinting:&lt;br /&gt;&lt;br /&gt;Q. What is the difference between PostGIS and ArcSDE?&lt;br /&gt;&lt;br /&gt;A. At a very high level (or perhaps this is a very low level), PostGIS /&lt;br /&gt;PostgreSQL is a database, and ArcSDE is not. ArcSDE is a "spatial&lt;br /&gt;middleware", it runs as a separate process and talks to the real&lt;br /&gt;database below it.  PostGIS is a "dynamically loadable runtime" inside&lt;br /&gt;the PostgreSQL process -- it runs inside the same address space as&lt;br /&gt;PostgreSQL, from the point of view of the computer, it's the all the&lt;br /&gt;same program.&lt;br /&gt;&lt;br /&gt;PostGIS should be viewed in exactly the same way relative to&lt;br /&gt;PostgreSQL as Oracle Spatial should vis-a-vis Oracle, SQL Server&lt;br /&gt;Spatial vis-a-vis SQL Server, Informix Spatial Extender vis-a-vis&lt;br /&gt;Informix, etc, etc, etc. It works exactly the same way as all those&lt;br /&gt;other in-process spatial type extensions to relational databases. So,&lt;br /&gt;call it an "extension", a "spatial type", a "data blade", etc.&lt;br /&gt;Unfortunately, years of marketing by various vendors have muddied the&lt;br /&gt;terminological water surrounding type extension mechanisms.&lt;br /&gt;&lt;br /&gt;The most important functional differences with SDE have nothing to do&lt;br /&gt;with spatial database functionality and everything to do with ESRI&lt;br /&gt;product placement and marketing. You'll find that ESRI products talk&lt;br /&gt;more directly to ArcSDE than they do to PostGIS (or Oracle Spatial or&lt;br /&gt;SQL Server Spatial, for that matter) because ESRI is interested in&lt;br /&gt;selling their whole stack (desktop + server + web apps) to their&lt;br /&gt;clients, not just the ArcGIS component.  It's a non-trivial benefit for a customer that (a) already has a lot of ESRI software and (b) can afford the maintenance overhead in dollars, time and expertise that ArcSDE extracts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-6997618046039393399?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/6997618046039393399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=6997618046039393399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6997618046039393399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6997618046039393399'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/postgis.html' title='PostGIS'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-4131242451720878061</id><published>2009-09-20T11:11:00.000-07:00</published><updated>2009-09-20T11:33:36.156-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Django'/><category scheme='http://www.blogger.com/atom/ns#' term='Geodjango'/><title type='text'>GeoDjango</title><content type='html'>Wikipedia defines Django as follows:&lt;br /&gt;&lt;br /&gt;"Django's primary goal is to ease the creation of complex, database-driven websites. Django emphasizes reusability and "pluggability" of components, rapid development, and the principle of DRY (Don't Repeat Yourself). Python is used throughout, even for settings, files, and data models."&lt;br /&gt;&lt;br /&gt;The two key links for GeoDjango:&lt;br /&gt;&lt;a href="http://geodjango.org/docs/tutorial.html#introduction"&gt;&lt;br /&gt;GeoDjango Online Docs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.djangoproject.com/en/dev/intro/tutorial01/#intro-tutorial01"&gt;Django Docs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-4131242451720878061?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/4131242451720878061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=4131242451720878061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4131242451720878061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4131242451720878061'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/geodjango.html' title='GeoDjango'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-2618020575705645944</id><published>2009-09-20T06:25:00.000-07:00</published><updated>2009-09-20T06:41:12.299-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wms'/><category scheme='http://www.blogger.com/atom/ns#' term='overlay issue'/><category scheme='http://www.blogger.com/atom/ns#' term='Bing maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo maps'/><title type='text'>WMS and Bing/Yahoo Basemap Overlays</title><content type='html'>Here is an interesting issue I found today with WMS overlay. When WMS layers are created in either Mapserver or Geoserver then added as overlays to Yahoo or Bing their alignment is wrong.&lt;br /&gt;&lt;br /&gt;Let me step back. As mentioned in earlier posts. One can create a WMS layer in geoserver and through the excellent config interface add this as a layer to Google earth.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iFTA3A35vVc/SrYvGvUNILI/AAAAAAAAADg/257qwjTaXFY/s1600-h/google_earth.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 352px;" src="http://4.bp.blogspot.com/_iFTA3A35vVc/SrYvGvUNILI/AAAAAAAAADg/257qwjTaXFY/s400/google_earth.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5383542197394940082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All align perfectly. Now adding the same WMS to Modest Maps and overlaying it on Yahoo shows the WMS misaligned:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iFTA3A35vVc/SrYvys9HMwI/AAAAAAAAADo/NodBHH_68Tc/s1600-h/modest_wms_issue.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 277px;" src="http://2.bp.blogspot.com/_iFTA3A35vVc/SrYvys9HMwI/AAAAAAAAADo/NodBHH_68Tc/s400/modest_wms_issue.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5383542952675455746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Turning to Openlayers, I find the same problem:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iFTA3A35vVc/SrYwFaio6eI/AAAAAAAAADw/GVsNnqXJteM/s1600-h/openlayers_wms_issue.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_iFTA3A35vVc/SrYwFaio6eI/AAAAAAAAADw/GVsNnqXJteM/s400/openlayers_wms_issue.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5383543274150095330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In each of the latter cases the WMS layer also looks stretched. I'll find the fix and post it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-2618020575705645944?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/2618020575705645944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=2618020575705645944' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2618020575705645944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2618020575705645944'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/wms-and-bingyahoo-basemap-overlays.html' title='WMS and Bing/Yahoo Basemap Overlays'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iFTA3A35vVc/SrYvGvUNILI/AAAAAAAAADg/257qwjTaXFY/s72-c/google_earth.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5508308637621520233</id><published>2009-09-19T07:24:00.000-07:00</published><updated>2009-09-21T07:51:37.446-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mapquest Flash API'/><category scheme='http://www.blogger.com/atom/ns#' term='ArcIMS'/><category scheme='http://www.blogger.com/atom/ns#' term='geoserver'/><category scheme='http://www.blogger.com/atom/ns#' term='PostGIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Modest Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Geodjango'/><category scheme='http://www.blogger.com/atom/ns#' term='Geowebcache'/><category scheme='http://www.blogger.com/atom/ns#' term='mapserver'/><category scheme='http://www.blogger.com/atom/ns#' term='flex api'/><category scheme='http://www.blogger.com/atom/ns#' term='ESRI'/><title type='text'>Map Technology Overview</title><content type='html'>I've been on a technology review of late. Mostly driven by client requests. I never cease to be amazed by what is now available. So far my thoughts in brief:&lt;br /&gt;&lt;br /&gt;Mapserver is a pain to configure. Manually writing mapfiles, takes me back to the days of ArcIMS and axl files. Geoserver is far easier in every respect. It has a terrific admin interface. Setting up basic map services, WMS, WFS is easy. Exporting in formats read by google maps etc is also a piece of cake. If it were not for the need of a full application server, the choice of geospatial server would be easy. Geoserver also allows for easy generation of Georss, KML and viewing of map layers in openlayers.&lt;br /&gt;&lt;br /&gt;Caching and tiling is another area which favours Geoserver. Geowebcache is integrated into geoserver. No need for additional work. The config screen allows for easy seeding. Mapserver works with tilecache. From the work I have done so far you tile mapserver by calling tilecache and passing the mapserver url. &lt;br /&gt;&lt;br /&gt;I'm still working with openlayers but am so far very impressed. One thing I already notice is how much is there. I really like the Modest Maps Flex library. But with a smaller community, it does not have the same depth of code. I'm still playing here, so more feedback later.&lt;br /&gt;&lt;br /&gt;I'd like to know one of the big fours - mapquest, MSN, Yahoo and Google - API's. I lean towards mapquest, largely due to the feedback I have read and my impressions from conferences. I recently signed up for their developer account. A couple of people were soon emailing me with contact info. On one side I thought this great, since support might be more forthcoming. On the other side, money reared its ugly head. Use of this service beyond local testing has a price tag! Reminds me why I so favour open source.&lt;br /&gt;&lt;br /&gt;Other areas on my radar at the moment beyond testing the mapquest API include:&lt;br /&gt;- Geodjango testing&lt;br /&gt;- PostGIS and shapefile write up&lt;br /&gt;- Javascript to Flex/Flash communication&lt;br /&gt;&lt;br /&gt;I'll write more on this in due course. I asked Paul Ramsey (OpenGeo and PostGIS author) his thoughts on Geoserver versus Mapserver. Here is his repy:&lt;br /&gt;&lt;br /&gt;If you are deep into OGC standards, Geoserver has a big advantage in&lt;br /&gt;completeness of implementations of things like SLD and WFS. (Less on&lt;br /&gt;WMS).&lt;br /&gt;&lt;br /&gt;I did a talk last year which, though tongue-in-cheek addresses the&lt;br /&gt;more important differences. Which are philosophical more than anything&lt;br /&gt;else. Scriptable web rendering engine vs complete spatial web&lt;br /&gt;environment.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s3.cleverelephant.ca/geoweb-mapserver.pdf"&gt;http://s3.cleverelephant.ca/geoweb-mapserver.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Most of the speed differences are gone at this point, they perform&lt;br /&gt;very comparably for common use cases.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5508308637621520233?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5508308637621520233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5508308637621520233' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5508308637621520233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5508308637621520233'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/map-technology-overview.html' title='Map Technology Overview'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1764847699732249135</id><published>2009-09-19T07:00:00.000-07:00</published><updated>2009-09-24T07:03:25.684-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openlayers example'/><title type='text'>Openlayers</title><content type='html'>The openlayers community seems to be becoming ever larger. Though I'm predominantly a Flex developer, its time I checked out Openlayers. On my recent WMS kick, I know combining WMS with other basemaps is well supported. Looking at the online docs I found this terrific &lt;a href="http://openlayers.org/dev/examples/"&gt;examples page.&lt;/a&gt;&lt;br /&gt;As a newbie I took out a few code examples:&lt;br /&gt;1) Basic map&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;OpenLayers Example&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;script&lt;br /&gt;    src="http://openlayers.org/api/OpenLayers.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;    &amp;lt;/head&amp;gt;&lt;br /&gt;    &amp;lt;body&amp;gt;&lt;br /&gt;      &amp;lt;div style="width:100%; height:100%" id="map"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;      &amp;lt;script defer="defer" type="text/javascript"&amp;gt;&lt;br /&gt;        var map = new OpenLayers.Map('map');&lt;br /&gt;        var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",&lt;br /&gt;            "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );&lt;br /&gt;        map.addLayer(wms);&lt;br /&gt;        map.zoomToMaxExtent();&lt;br /&gt;      &amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;   &lt;br /&gt;&lt;br /&gt;2) WMS map&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;OpenLayers Example&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;script&lt;br /&gt;    src="http://openlayers.org/api/OpenLayers.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;    &amp;lt;/head&amp;gt;&lt;br /&gt;    &amp;lt;body&amp;gt;&lt;br /&gt;      &amp;lt;div style="width:100%; height:100%" id="map"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;      &amp;lt;script defer="defer" type="text/javascript"&amp;gt;&lt;br /&gt;        var map = new OpenLayers.Map('map');&lt;br /&gt;        var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",&lt;br /&gt;            "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );&lt;br /&gt;        map.addLayer(wms);&lt;br /&gt;        map.zoomToMaxExtent();&lt;br /&gt;      &amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;3) Locally running WMS&lt;br /&gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;    &amp;lt;script&lt;br /&gt;    src="http://openlayers.org/api/OpenLayers.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;    &amp;lt;/head&amp;gt;&lt;br /&gt;    &amp;lt;body&amp;gt;&lt;br /&gt;      &amp;lt;div style="width:100%; height:100%" id="map"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;      &amp;lt;script defer="defer" type="text/javascript"&amp;gt;&lt;br /&gt;        var map = new OpenLayers.Map('map');&lt;br /&gt;        var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",&lt;br /&gt;            "http://localhost:8080/geoserver/wms", {layers: 'topp:states_ugl'} );&lt;br /&gt;        map.addLayer(wms);&lt;br /&gt;        map.zoomToMaxExtent();&lt;br /&gt;      &amp;lt;/script&amp;gt;&lt;br /&gt;      &amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;4) Local WMS with Bing (note you will need to copy the OpenLayers.js file from&lt;br /&gt;&lt;a href="http://openlayers.org/dev/OpenLayers.js"&gt;http://openlayers.org/dev/OpenLayers.js&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;  &amp;lt;head&amp;gt;&lt;br /&gt;    &amp;lt;title&amp;gt;OpenLayers Bing Example&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;link rel="stylesheet" href="../theme/default/style.css" type="text/css" /&amp;gt;&lt;br /&gt;    &amp;lt;link rel="stylesheet" href="style.css" type="text/css" /&amp;gt;&lt;br /&gt;    &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;&lt;br /&gt;    &amp;lt;script src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&amp;mkt=en-us"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;script src="OpenLayers.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;script&amp;gt;&lt;br /&gt;&lt;br /&gt;        var map;&lt;br /&gt;&lt;br /&gt;        function init(){&lt;br /&gt;            map = new OpenLayers.Map("map");&lt;br /&gt;            map.addControl(new OpenLayers.Control.LayerSwitcher());&lt;br /&gt;&lt;br /&gt;            var shaded = new OpenLayers.Layer.VirtualEarth("Shaded", {&lt;br /&gt;                type: VEMapStyle.Shaded&lt;br /&gt;            });&lt;br /&gt;            var hybrid = new OpenLayers.Layer.VirtualEarth("Hybrid", {&lt;br /&gt;                type: VEMapStyle.Hybrid&lt;br /&gt;            });&lt;br /&gt;            var aerial = new OpenLayers.Layer.VirtualEarth("Aerial", {&lt;br /&gt;                type: VEMapStyle.Aerial&lt;br /&gt;            });&lt;br /&gt;&lt;br /&gt;            var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",&lt;br /&gt;   "http://localhost:8080/geoserver/wms", {layers: 'topp:states_ugl'},&lt;br /&gt;    {&lt;br /&gt;                    'opacity': 0.4, visibility: true,&lt;br /&gt;                    'isBaseLayer': false,'wrapDateLine': true&lt;br /&gt;                }&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;            map.addLayers([wms,shaded, hybrid, aerial]);&lt;br /&gt;&lt;br /&gt;            map.setCenter(new OpenLayers.LonLat(-110, 45), 3);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    &amp;lt;/script&amp;gt;&lt;br /&gt;  &amp;lt;/head&amp;gt;&lt;br /&gt;  &amp;lt;body onload="init()"&amp;gt;&lt;br /&gt;    &amp;lt;h1 id="title"&amp;gt;Bing Example&amp;lt;/h1&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;div id="tags"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;p id="shortdesc"&amp;gt;&lt;br /&gt;        Demonstrates the use of Bing layers.&lt;br /&gt;    &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;div id="map" class="smallmap"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;div id="docs"&amp;gt;This example demonstrates the ability to create layers using tiles from Bing maps.&amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;4) Openlayers controls&lt;br /&gt;&lt;br /&gt;For this example you'll need three files &lt;a href="http://flexmappers.com/openlayers/OpenLayers.js"&gt;openlayers.js&lt;/a&gt;, &lt;a href="http://flexmappers.com/openlayers/style.css"&gt;style.css&lt;/a&gt; and &lt;a href="http://flexmappers.com/openlayers/theme/style.css"&gt;theme/style.css&lt;/a&gt;. You'll need to create a theme directory for the latter. Note in theme/style.css the icons will need adding to a img directory. I have not done this here, so map icon will not appear.&lt;br /&gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;    &amp;lt;head&amp;gt;&lt;br /&gt;        &amp;lt;title&amp;gt;OpenLayers Map Controls Example&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;link rel="stylesheet" href="theme/style.css" type="text/css" /&amp;gt;&lt;br /&gt;        &amp;lt;link rel="stylesheet" href="style.css" type="text/css" /&amp;gt;&lt;br /&gt;        &amp;lt;script src="OpenLayers.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;        &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;            var map;&lt;br /&gt;            function init(){&lt;br /&gt;                map = new OpenLayers.Map('map', {&lt;br /&gt;                    controls: [&lt;br /&gt;                        new OpenLayers.Control.Navigation(),&lt;br /&gt;                        new OpenLayers.Control.PanZoomBar(),&lt;br /&gt;                        new OpenLayers.Control.LayerSwitcher({'ascending':false}),&lt;br /&gt;                        new OpenLayers.Control.Permalink(),&lt;br /&gt;                        new OpenLayers.Control.ScaleLine(),&lt;br /&gt;                        new OpenLayers.Control.Permalink('permalink'),&lt;br /&gt;                        new OpenLayers.Control.MousePosition(),&lt;br /&gt;                        new OpenLayers.Control.OverviewMap(),&lt;br /&gt;                        new OpenLayers.Control.KeyboardDefaults()&lt;br /&gt;                    ],&lt;br /&gt;                    numZoomLevels: 6&lt;br /&gt;&lt;br /&gt;                });&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",&lt;br /&gt;                    "http://labs.metacarta.com/wms/vmap0",&lt;br /&gt;                    {layers: 'basic'} );&lt;br /&gt;                var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",&lt;br /&gt;                    "http://t1.hypercube.telascience.org/cgi-bin/landsat7",&lt;br /&gt;                    {layers: "landsat7"});&lt;br /&gt;                var dm_wms = new OpenLayers.Layer.WMS( "DM Solutions Demo",&lt;br /&gt;                    "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",&lt;br /&gt;                    {layers: "bathymetry,land_fn,park,drain_fn,drainage," +&lt;br /&gt;                             "prov_bound,fedlimit,rail,road,popplace",&lt;br /&gt;                     transparent: "true", format: "image/png" });&lt;br /&gt;&lt;br /&gt;                jpl_wms.setVisibility(false);&lt;br /&gt;                dm_wms.setVisibility(false);&lt;br /&gt;&lt;br /&gt;                map.addLayers([ol_wms, jpl_wms, dm_wms]);&lt;br /&gt;                if (!map.getCenter()) map.zoomToMaxExtent();&lt;br /&gt;            }&lt;br /&gt;        &amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/head&amp;gt;&lt;br /&gt;    &amp;lt;body onload="init()"&amp;gt;&lt;br /&gt;        &amp;lt;h1 id="title"&amp;gt;Map Controls Example&amp;lt;/h1&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;div id="tags"&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;p id="shortdesc"&amp;gt;&lt;br /&gt;            Attach zooming, panning, layer switcher, overview map, and permalink map controls to an OpenLayers window.&lt;br /&gt;        &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;a style="float:right" href="" id="permalink"&amp;gt;Permalink&amp;lt;/a&amp;gt;&lt;br /&gt;        &amp;lt;div id="map" class="smallmap"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;div id="docs"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;5) Georss&lt;br /&gt;&lt;br /&gt;For this example you'll need to download this &lt;a href="http://flexmappers.com/openlayers/georss.xml"&gt;georss.xml&lt;/a&gt; feed (just copy source in your browser)&lt;br /&gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;  &amp;lt;head&amp;gt;&lt;br /&gt;    &amp;lt;title&amp;gt;OpenLayers GeoRSS Example&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;link rel="stylesheet" href="theme/style.css" type="text/css" /&amp;gt;&lt;br /&gt;    &amp;lt;link rel="stylesheet" href="style.css" type="text/css" /&amp;gt;&lt;br /&gt;    &amp;lt;script src="OpenLayers.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;    &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;        var map, layer;&lt;br /&gt;&lt;br /&gt;        OpenLayers.ProxyHost = "/proxy/?url=";&lt;br /&gt;        function init(){&lt;br /&gt;            map = new OpenLayers.Map('map', {maxResolution:'auto'});&lt;br /&gt;            layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",&lt;br /&gt;                "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );&lt;br /&gt;            map.addLayer(layer);&lt;br /&gt;            map.setCenter(new OpenLayers.LonLat(0, 0), 0);&lt;br /&gt;            map.addControl(new OpenLayers.Control.LayerSwitcher());&lt;br /&gt;        }&lt;br /&gt;        function addUrl() {&lt;br /&gt;            var urlObj = OpenLayers.Util.getElement('url');&lt;br /&gt;            var value = urlObj.value;&lt;br /&gt;            var parts = value.split("/");&lt;br /&gt;                var newl = new OpenLayers.Layer.GeoRSS( parts[parts.length-1], value);&lt;br /&gt;                map.addLayer(newl);&lt;br /&gt;            urlObj.value = "";&lt;br /&gt;        }&lt;br /&gt;    &amp;lt;/script&amp;gt;&lt;br /&gt;  &amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;body onload="init()"&amp;gt;&lt;br /&gt;    &amp;lt;h1 id="title"&amp;gt;GeoRSS Example&amp;lt;/h1&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;div id="tags"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;p id="shortdesc"&amp;gt;&lt;br /&gt;        Display a couple of locally cached georss feeds on an a basemap.&lt;br /&gt;    &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;div id="map" class="smallmap"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;div id="docs"&amp;gt;&lt;br /&gt;        &amp;lt;p&amp;gt;This demo uses the OpenLayers GeoRSS parser, which supports GeoRSS Simple and W3C GeoRSS. Only points are&lt;br /&gt;        currently supported.  The OpenLayers GeoRSS parser will automatically connect an information bubble to the map&lt;br /&gt;        markers, similar to Google maps.  In addition, the parser can use custom PNG icons for markers.  A sample GeoRSS&lt;br /&gt;        file (georss.xml) is included.&lt;br /&gt;&lt;br /&gt;        &amp;lt;form onsubmit="return false;"&amp;gt;&lt;br /&gt;               GeoRSS URL: &amp;lt;input type="text" id="url" size="50" value="georss.xml" /&amp;gt;&lt;br /&gt;               &amp;lt;input type="submit" onclick="addUrl(); return false;" value="Load Feed" onsubmit="addUrl(); return false;" /&amp;gt;&lt;br /&gt;        &amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;p&amp;gt;The above input box allows the input of a URL to a GeoRSS feed. This feed can be local to the HTML page --&lt;br /&gt;        for example, entering 'georss.xml' will work by default, because there is a local file in the directory called&lt;br /&gt;        georss.xml -- or, with a properly set up ProxyHost variable (as is used here), it will be able to load any&lt;br /&gt;        HTTP URL which contains GeoRSS and display it. Anything else will simply have no effect.&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;There are so many examples online. I walked through some, here is  a list of just some of the functionality:&lt;br /&gt;&lt;br /&gt;Openlayers&lt;br /&gt;&lt;br /&gt;Overview map&lt;br /&gt;Random pan&lt;br /&gt;Layers on off tab&lt;br /&gt;Arcgis restful call&lt;br /&gt;Arcims combine&lt;br /&gt;Bing layers&lt;br /&gt;Add box to map&lt;br /&gt;Buffer how many tiles are included outside the view area&lt;br /&gt;Map click events&lt;br /&gt;Draggable rectangle&lt;br /&gt;Fractional zoom (rectangle zoom)&lt;br /&gt;Adding points, lines and polygons&lt;br /&gt;Toolbar - points, lines and polygons&lt;br /&gt;Digitising&lt;br /&gt;Eventing&lt;br /&gt;GeoRSS – Flickr, marker&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1764847699732249135?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1764847699732249135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1764847699732249135' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1764847699732249135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1764847699732249135'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/openlayers.html' title='Openlayers'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8175043366537005263</id><published>2009-09-16T16:16:00.000-07:00</published><updated>2009-09-16T16:18:55.165-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tilecache'/><category scheme='http://www.blogger.com/atom/ns#' term='mapserver'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>TileCache and Google Maps</title><content type='html'>Found the following &lt;a href="http://crschmidt.net/blog/archives/311/using-tilecache-with-google-maps-and-virtual-earth/"&gt;excellent entry&lt;/a&gt; from Christopher Schmidt blog. I'll give it a whirl and post my results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8175043366537005263?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8175043366537005263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8175043366537005263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8175043366537005263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8175043366537005263'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/tilecache-and-google-maps.html' title='TileCache and Google Maps'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-9009285245461521798</id><published>2009-09-16T15:52:00.000-07:00</published><updated>2009-09-16T16:06:26.056-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tilecache'/><category scheme='http://www.blogger.com/atom/ns#' term='cgi configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='mapserver'/><title type='text'>MapServer and TileCache</title><content type='html'>Spent some time today looking at using TileCache with MapServer. I used in part these &lt;a href="http://oegeo.wordpress.com/2008/03/08/the-5-minute-guide-to-setting-up-tilecache-on-windows/"&gt;docs&lt;/a&gt;. Other useful docs are &lt;a href="http://tilecache.org/readme.html"&gt;here from Metacarta&lt;/a&gt;. I walked through the following (note I am using my work with Mapserver described in an earlier post):&lt;br /&gt;&lt;br /&gt;1) Installed &lt;a href="http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi"&gt;Python&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2) Downloaded &lt;a href="http://tilecache.org/tilecache-2.0.tar.gz"&gt;TileCache &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3) Unzipped the TileCache directory, ran the setup executable and copied the contents under the directory into C:\ms4w\Apache\cgi-bin&lt;br /&gt;&lt;br /&gt;4) Opened C:\ms4w\Apache\cgi-bin\tilecache.cgi and changed the top line to:&lt;br /&gt;&lt;br /&gt;    #!C:/Python25/python.exe -u&lt;br /&gt;&lt;br /&gt;5) I added the following to the C:\ms4w\Apache\cgi-bin\tilecache.cfg file&lt;br /&gt;&lt;br /&gt;[mapserver]&lt;br /&gt;type=WMS&lt;br /&gt;url=http://localhost:81/cgi-bin/mapserv.exe?map=/ms4w/Apache/htdocs/wms_mapserver/data/ms_wms.map&lt;br /&gt;extension=png&lt;br /&gt;layers=states_ugl&lt;br /&gt;SRS=EPSG:4326&lt;br /&gt;bbox=-97.6169,39.9179,-81.745,51.0875&lt;br /&gt;&lt;br /&gt;6) Running the following:&lt;br /&gt;&lt;br /&gt;http://localhost:81/cgi-bin/tilecache.cgi?layers=mapserver&amp;service=WMS&amp;version=1.1.1&amp;request=GetMap&amp;srs=EPSG:4326&amp;bbox=-97.6169,39.9179,-81.745,51.0875&amp;format=image/png&amp;width=400&amp;height=300&lt;br /&gt;&lt;br /&gt;gives the map image served by MapServer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-9009285245461521798?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/9009285245461521798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=9009285245461521798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/9009285245461521798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/9009285245461521798'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/mapserver-and-tilecache.html' title='MapServer and TileCache'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7286539487510961364</id><published>2009-09-16T13:44:00.000-07:00</published><updated>2009-09-16T13:48:28.738-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consumer mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='Tour de Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Mapquest Flex API samples'/><title type='text'>MapQuest Flex API Samples</title><content type='html'>Now leaning towards the Mapquest Flex api. I spied the following &lt;a href="http://developer.mapquest.com/content/codeSamples/532/Samples/Samples.html"&gt;demo applications&lt;/a&gt;. This demonstrates with source code, some of the core functionality.&lt;br /&gt;&lt;br /&gt;On a side note. The AIR application &lt;a href="http://www.adobe.com/devnet/flex/tourdeflex/"&gt;Tour de Flex&lt;/a&gt; is well worth installing if you  build Flex apps. From a mapping perspective they demo a number of the main mapping API's.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7286539487510961364?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7286539487510961364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7286539487510961364' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7286539487510961364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7286539487510961364'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/mapquest-flex-api-samples.html' title='MapQuest Flex API Samples'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5693017185812716745</id><published>2009-09-15T15:14:00.001-07:00</published><updated>2009-09-16T13:49:02.422-07:00</updated><title type='text'>Flex Developer List</title><content type='html'>Sometimes useful people to ask for solutions for those hard to solve problems. Here is one persons &lt;a href="http://seantheflexguy.com/blog/2009/08/11/50-important-flash-platform-developers/"&gt;experts list&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5693017185812716745?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5693017185812716745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5693017185812716745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5693017185812716745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5693017185812716745'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/flex-developer-list.html' title='Flex Developer List'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-9126349778710537129</id><published>2009-09-15T14:55:00.001-07:00</published><updated>2009-09-15T15:03:50.292-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mapquest Flash API'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo maps'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><category scheme='http://www.blogger.com/atom/ns#' term='ESRI arcmap flex api'/><title type='text'>Mapping API's</title><content type='html'>I'll admit to being somewhat locked into the Modest Maps Flex API. As recent blog entries suggest, I've started looking at combining WMS and WFS data - served from MapeServer or Geoserver - with basemaps. I've had a number of people approach me about this combination, plus I've wanted the excuse the exlpore further.&lt;br /&gt;&lt;br /&gt;Another area which I have started investigating are other Flex/Flash mapping API's. The main four are ESRI ArcMap, Google maps, Yahoo and Mapquest. I came across the following &lt;a href="http://blog.kevinhoyt.org/?p=187"&gt;article  &lt;/a&gt; written by Kevin Hoyt of Adobe. He compared the Google, Yahoo and Mapquest last year. Finding Mapquest the richest and best supported. He did a &lt;a href="http://chrisgriffith.files.wordpress.com/2008/08/mappingtalk.pdf"&gt;presentation &lt;/a&gt;which included Modest maps and ESRI's API. Its worth a read.&lt;br /&gt;&lt;br /&gt;For me, after chatting with Mapquest at Where 2.0 this year, and based on what I have read, I'll turn my attention here first.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-9126349778710537129?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/9126349778710537129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=9126349778710537129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/9126349778710537129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/9126349778710537129'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/mapping-apis.html' title='Mapping API&apos;s'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-2079686188700067618</id><published>2009-09-13T14:34:00.000-07:00</published><updated>2009-09-21T07:27:49.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wms'/><category scheme='http://www.blogger.com/atom/ns#' term='multiple providers'/><category scheme='http://www.blogger.com/atom/ns#' term='Modest Maps'/><title type='text'>Modest Maps, WMS and Overview</title><content type='html'>Looking at the docs on wms and multiple providers the following proved a useful link:&lt;br /&gt;&lt;br /&gt;http://getsatisfaction.com/modestmaps/topics/how_to_layer_two_maps_with_different_providers_for_blending_alpha_transparency_etc&lt;br /&gt;&lt;br /&gt;I'll post my code in due course.&lt;br /&gt;&lt;br /&gt;On a related note, here is a URL for an overview map with Modest maps&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.modestmaps.com/2008/11/hello-world/"&gt;http://blog.modestmaps.com/2008/11/hello-world/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-2079686188700067618?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/2079686188700067618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=2079686188700067618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2079686188700067618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2079686188700067618'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/modest-maps-and-wms.html' title='Modest Maps, WMS and Overview'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7812683760526824109</id><published>2009-09-13T12:40:00.001-07:00</published><updated>2009-09-14T05:42:46.248-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geoserver'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration google earth'/><title type='text'>GeoServer and WMS</title><content type='html'>Geoserver is a truly fabulous open source geospatial server. Much easier to set and configure than Mapserver. The documentation provided is extremely comprehensive. See:&lt;br /&gt;&lt;br /&gt;http://docs.geoserver.org/1.7.6/user/getting-started/web-admin-quickstart/index.html&lt;br /&gt; &lt;br /&gt;Here are the notes I made as I walked through setting things up.&lt;br /&gt;&lt;br /&gt;a) Setting up geoserver&lt;br /&gt;&lt;br /&gt;I am using the portable gis control panel (see earlier blog entry). Once installed it sits directly under c:/.When you open it you have the option (under web modules) to start Geoserver. &lt;br /&gt;Access Geoserver via:&lt;br /&gt;&lt;br /&gt;http://localhost:8080/geoserver&lt;br /&gt;&lt;br /&gt;admin/password are the default credentials. If you need to change them look at:&lt;br /&gt;&lt;br /&gt;C:\Program Files\GeoServer 1.7.6\data_dir\security\user.properties&lt;br /&gt;&lt;br /&gt;b) Adding shapefile&lt;br /&gt;&lt;br /&gt;Under the data directory for geoserver add some new data in the data directory:&lt;br /&gt;&lt;br /&gt;C:\Program Files\GeoServer 1.7.6\data_dir\data\ &lt;br /&gt;&lt;br /&gt;In the web interface click on data -&gt; datastores -&gt; new. Add name and type. Next screen add path to data and data name eg. nyc_roads.shp. Now click submit. The next screen should be the featuretype editor. Now from drop down select the type eg. line add the srs, then click generate. Now click submit and finally apply. Note these two steps in this order are critical in the process.&lt;br /&gt;&lt;br /&gt;In the web interface under data-&gt;datastores you should now see your new data&lt;br /&gt;&lt;br /&gt;You can view the data in welcome-&gt;demo-&gt;map preview&lt;br /&gt;&lt;br /&gt;c) WMS&lt;br /&gt;&lt;br /&gt;In config screen choose wms. Next choose contents and add the layer you just created in this screen. You can get the SRS info from the featuretype editor under data&lt;br /&gt;&lt;br /&gt;One of the amazingly cool things about geoserver is the demos page in the web interface. From here you can view the results of various requests. Choose sample requests to see these options; wms, wfs etc. Also from here you can select map preview. From here you can see your newly loaded data. Another terrific thing about geoserver is the integration of openlayers. Data can be viewed directly in the geoserver interface with openlayers&lt;br /&gt;&lt;br /&gt;d) Geowebcache&lt;br /&gt;&lt;br /&gt;Another terrific part of geoserver is the integration of geowebcache. There is a nice guide to this here:&lt;br /&gt;http://geoserver.org/display/GEOSDOC/GeoServer+GeoWebCache+Configuration&lt;br /&gt;&lt;br /&gt;Key directory is C:\Program Files\GeoServer 1.7.6\data_dir\gwc. Go to:&lt;br /&gt;&lt;br /&gt;http://localhost:8080/geoserver/gwc/demo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here you can see all of your layers and ‘seed this layer’. Seeding is generating tiles. When you select seed this layer you will see under the gwc directory your newly generated tiles.&lt;br /&gt;If you go to the demo page and view your data. In openlayers you have the option to view the data as a single image or tiled. The latter will show your newly generated tiles. &lt;br /&gt;&lt;br /&gt;If you wish to see the data in google earth. Open Google earth, choose add-&gt;network link. Add a name and the url below to the pop up. &lt;br /&gt;&lt;br /&gt;http://localhost:8080/geoserver/gwc/service/kml/topp:nyc_roads.png.kml&lt;br /&gt;&lt;br /&gt;By selecting the named link in google earth (under my places) you should see your data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7812683760526824109?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7812683760526824109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7812683760526824109' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7812683760526824109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7812683760526824109'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/geosserver-and-wms.html' title='GeoServer and WMS'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1143901503161693065</id><published>2009-09-11T06:24:00.000-07:00</published><updated>2009-09-11T07:18:46.451-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wms'/><category scheme='http://www.blogger.com/atom/ns#' term='set up'/><category scheme='http://www.blogger.com/atom/ns#' term='mapserver'/><title type='text'>WMS and MapServer</title><content type='html'>I'm in the process of setting up Mapserver to serve up maps via WMS. It has been a while. The steps I went through are as follows:&lt;br /&gt;&lt;br /&gt;1) Download &lt;a href="http://www.maptools.org/ms4w/"&gt;MS4W &lt;/a&gt;. This is a package which bundles Mapserver with PHP and Apache. Saves time on configuration. I set the Apache port to 81, since I already have another version running on 80. The default location of all installed files is c:/ms4w. &lt;br /&gt;&lt;br /&gt;2) Installed Quantum GIS. Again you can use another &lt;a href="http://www.archaeogeek.com/blog/2009/09/01/portable-gis-version-2-released/"&gt;bundled package&lt;/a&gt; which includes geoserver and many other open source tools. Alternatively you can get the software direct.&lt;br /&gt;&lt;br /&gt;3) Quantum GIS contains a nifty plug in for generating .map or mapfiles for Mapserver (the alternative is to write them by hand which can be a major pain). This can be done via the plugin menu option. Once installed, this is the plug in window: &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iFTA3A35vVc/SqpSYlA8AqI/AAAAAAAAADY/h6RZfdOZ68c/s1600-h/quantum.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 274px;" src="http://3.bp.blogspot.com/_iFTA3A35vVc/SqpSYlA8AqI/AAAAAAAAADY/h6RZfdOZ68c/s400/quantum.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5380203287053861538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Two things to remember. First, create an empty .map file in your favourite text editor. In the plug in interface, you need to point to an existing .map file. The Quantum plug in will overwrite this file. Second, I found it easier to put the .map file and shapefiles (at least for this initial trial) in the same directory.  &lt;br /&gt;&lt;br /&gt;You should now have a working mapfile. Now for WMS. You will need to edit the generated mapfile to add additional parameters. This and the required url parameters are a pain. After much searching I found these two links very useful:&lt;br /&gt;&lt;br /&gt;http://www.mapserver.org/ogc/wms_server.html#table-of-contents&lt;br /&gt;http://ms.gis.umn.edu:8081/ms_plone/docs/howto/mapcontext&lt;br /&gt;&lt;br /&gt;I'll not walk too much through the additions, but they mostly involve adding elements under the METADATA tag. Here is my working mapfile:&lt;br /&gt;&lt;br /&gt;# Map file created from QGIS project file C:/matts/generatefile/test.qgs&lt;br /&gt;# Edit this file to customize for your map interface&lt;br /&gt;# (Created with PyQgis MapServer Export plugin)&lt;br /&gt;MAP&lt;br /&gt;  NAME test&lt;br /&gt;  # Map image size&lt;br /&gt;  SIZE  400 300&lt;br /&gt;  #UNITS meters&lt;br /&gt;&lt;br /&gt;  EXTENT -97.616877 39.917875 -81.745000 51.087523&lt;br /&gt;  PROJECTION&lt;br /&gt;    'proj=longlat'&lt;br /&gt;    'ellps=WGS84'&lt;br /&gt;    'datum=WGS84'&lt;br /&gt;    'no_defs'&lt;br /&gt;    ''&lt;br /&gt;  END&lt;br /&gt;&lt;br /&gt;  # Background color for the map canvas -- change as desired&lt;br /&gt; # IMAGECOLOR 192 192 192&lt;br /&gt;  #IMAGEQUALITY 95&lt;br /&gt;  IMAGETYPE png&lt;br /&gt;  OUTPUTFORMAT&lt;br /&gt;    NAME png&lt;br /&gt;    DRIVER "GD/PNG"&lt;br /&gt;    MIMETYPE "image/png"&lt;br /&gt;    IMAGEMODE RGB&lt;br /&gt;    EXTENSION "png"&lt;br /&gt;    FORMATOPTION "INTERLACE=OFF"&lt;br /&gt;  END&lt;br /&gt;  # Legend&lt;br /&gt;  LEGEND&lt;br /&gt;      IMAGECOLOR 255 255 255&lt;br /&gt;    STATUS ON&lt;br /&gt;    KEYSIZE 18 12&lt;br /&gt;    LABEL&lt;br /&gt;      TYPE BITMAP&lt;br /&gt;      SIZE MEDIUM&lt;br /&gt;      COLOR 0 0 89&lt;br /&gt;    END&lt;br /&gt;  END&lt;br /&gt;&lt;br /&gt;  # Web interface definition. Only the template parameter&lt;br /&gt;  # is required to display a map. See MapServer documentation&lt;br /&gt;  WEB&lt;br /&gt;    # Set IMAGEPATH to the path where MapServer should&lt;br /&gt;    # write its output.&lt;br /&gt;    IMAGEPATH '/tmp/'&lt;br /&gt;&lt;br /&gt;    # Set IMAGEURL to the url that points to IMAGEPATH&lt;br /&gt;    # as defined in your web server configuration&lt;br /&gt;    IMAGEURL 'http://localhost:81/wms_mapserver/tmp'&lt;br /&gt;&lt;br /&gt;    # WMS server settings&lt;br /&gt;    METADATA&lt;br /&gt;      'wms_title'           'test'&lt;br /&gt;      'wms_onlineresource'  'http://localhost:81/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/wms_mapserver/data/ms_wms.map&amp;'&lt;br /&gt;      'wms_srs'             'EPSG:4326'&lt;br /&gt;      "wms_extent" "201621.496941 -294488.285333 1425518.020722 498254.511514"&lt;br /&gt;      #"wfs_title"            "test WFS Demo Server"  ## REQUIRED&lt;br /&gt;    END&lt;br /&gt;&lt;br /&gt;    #Scale range at which web interface will operate&lt;br /&gt;    # Template and header/footer settings&lt;br /&gt;    # Only the template parameter is required to display a map. See MapServer documentation&lt;br /&gt;  END&lt;br /&gt;&lt;br /&gt;  LAYER&lt;br /&gt;    NAME 'states_ugl'&lt;br /&gt;    TYPE POLYGON&lt;br /&gt;    DATA 'C:/ms4w/Apache/htdocs/wms_mapserver/data/states_ugl.shp'&lt;br /&gt;    METADATA&lt;br /&gt;     "wms_name" "states"&lt;br /&gt;     "wms_server_version" "1.1.1"&lt;br /&gt;     "wms_format"  "image/png"&lt;br /&gt;     "wms_srs"  "EPSG:4326"   &lt;br /&gt;     "wms_title" "States" ##required&lt;br /&gt;     "wms_extent" "201621.496941 -294488.285333 1425518.020722 498254.511514"&lt;br /&gt;     "wms_onlineresource" "http://localhost:81/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/wms_mapserver/data/ms_wms.map?"&lt;br /&gt;     #"wfs_version" "1.1.0"&lt;br /&gt;     # "wfs_srs" "EPSG:4326"&lt;br /&gt;     # "wfs_typename" "statefs"&lt;br /&gt;     # "wfs_request_method" "GET"&lt;br /&gt;     # "wfs_service" "WFS"&lt;br /&gt;     #"wfs_title"    "statefs" ## REQUIRED&lt;br /&gt;     #"gml_featureid" "ID" ## REQUIRED&lt;br /&gt;     #"gml_include_items" "all"  ## Optional (serves all attributes for layer)&lt;br /&gt;    END&lt;br /&gt;    #CONNECTIONTYPE WMS&lt;br /&gt;    STATUS ON&lt;br /&gt;    TRANSPARENCY 100&lt;br /&gt;    PROJECTION&lt;br /&gt;    'proj=longlat'&lt;br /&gt;    'ellps=WGS84'&lt;br /&gt;    'datum=WGS84'&lt;br /&gt;    'no_defs'&lt;br /&gt;    ''&lt;br /&gt;    END&lt;br /&gt;    CLASS&lt;br /&gt;       NAME 'states_ugl' &lt;br /&gt;       STYLE&lt;br /&gt;         SYMBOL 0 &lt;br /&gt;         SIZE 2 &lt;br /&gt;         OUTLINECOLOR 0 0 0&lt;br /&gt;         COLOR 144 50 207&lt;br /&gt;       END&lt;br /&gt;    END&lt;br /&gt;  END&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As you can see this sits in the following directory with my shapefile:&lt;br /&gt;&lt;br /&gt;C:/ms4w/Apache/htdocs/wms_mapserver/data&lt;br /&gt;&lt;br /&gt;I did my testing using Internet Explorer. As mentioned, the required url parameters are a pain. Here are the two key calls; getCapabilities:&lt;br /&gt;&lt;br /&gt;http://localhost:81/cgi-bin/mapserv.exe?map=/ms4w/Apache/htdocs/wms_mapserver/data/ms_wms.map&amp;SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetCapabilities&lt;br /&gt;&lt;br /&gt;and getMap. Note all parameters except styles are required:&lt;br /&gt;&lt;br /&gt;http://localhost:81/cgi-bin/mapserv.exe?map=/ms4w/Apache/htdocs/wms_mapserver/data/ms_wms.map&amp;service=WMS&amp;version=1.1.1&amp;request=GetMap&amp;layers=states_ugl&amp;srs=EPSG:4326&amp;bbox=-97.6169,39.9179,-81.745,51.0875&amp;format=image/png&amp;width=400&amp;height=300&amp;styles=default&lt;br /&gt;&lt;br /&gt;I struggled for a while on the getMap call. One problem I realised was the BBox parameters you need to get from getCapabilities (I grabbed it directly from the mapfile). I also initially added connectiontype "wms" for the layer in the mapfile which broke everything - actually i could not generate an image. As soon as that was removed bingo.&lt;br /&gt;&lt;br /&gt;Grab this &lt;a href="http://www.flexmappers.com/wms_mapserver.rar"&gt;source&lt;/a&gt;, unrar and place in your C:/ms4w/Apache/htdocs. You should now be able to run the above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1143901503161693065?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1143901503161693065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1143901503161693065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1143901503161693065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1143901503161693065'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/09/wms-and-mapserver.html' title='WMS and MapServer'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iFTA3A35vVc/SqpSYlA8AqI/AAAAAAAAADY/h6RZfdOZ68c/s72-c/quantum.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5379929439857081139</id><published>2009-08-26T14:36:00.000-07:00</published><updated>2009-08-26T14:51:24.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex component from Flash'/><title type='text'>Flash Flex Components</title><content type='html'>The integration of Flash and Flex remains somewhat challenging. They both continue to live in separate worlds (Catalyst seems as though it is a step towards bridging this gap). The integration is not seemless. One way I have mentioned before is to load a Flash swf in Flex then using eventing to communicate back and forth. I just came across the following &lt;a href="http://www.webkitchen.be/2008/12/12/video-tutorial-make-flex-components-with-flash-cs4/"&gt;video &lt;/a&gt; which explains how to convert a Flash application to a Flex component. It proved a little tricky at first, but when you have it working it is an excellent solution. The main steps are:&lt;br /&gt;&lt;br /&gt;1) Download the &lt;a href="http://www.webkitchen.be/2008/12/12/video-tutorial-make-flex-components-with-flash-cs4/"&gt;Flex Component kit &lt;/a&gt;from Adobe.&lt;br /&gt;&lt;br /&gt;2) Inside of Flash the applications class should be written:&lt;br /&gt;&lt;br /&gt;package {&lt;br /&gt; import mx.flash.UIMovieClip;&lt;br /&gt; &lt;br /&gt; public dynamic class lessonNavigation extends UIMovieClip &lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;3) In the Flash IDE menu select Commands -&gt; Convert Symbol to Flex component. This generates a SWC&lt;br /&gt;&lt;br /&gt;4) Copy this to your Flex project and add the swc to the projects library path.&lt;br /&gt;&lt;br /&gt;5) You should now be able to access the component from Flex.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5379929439857081139?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5379929439857081139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5379929439857081139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5379929439857081139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5379929439857081139'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/08/flash-flex-components.html' title='Flash Flex Components'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7348627472941666462</id><published>2009-08-07T12:22:00.000-07:00</published><updated>2009-08-07T12:28:35.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenLayers'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><title type='text'>OpenLayers</title><content type='html'>OpenLayers is a great open source mapping client. I've not worked with it directly, since I'm focused on building mapping RIA's using Flex and Flash. But I've seen some terrific sites built using OpenLayers. &lt;a href="http://map.veloland.ch/"&gt;Cycling Switzerland&lt;/a&gt; is such an example. I really like the design. Only downside is if you uncheck a checkbox within a group eg. hiking, all routes reload as against turning off just this subset&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7348627472941666462?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7348627472941666462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7348627472941666462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7348627472941666462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7348627472941666462'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/08/openlayers.html' title='OpenLayers'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8966681136685695720</id><published>2009-08-05T09:57:00.000-07:00</published><updated>2009-08-05T09:59:07.487-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex 3'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><title type='text'>Building RIA maps</title><content type='html'>It took a while but my article for Adobe on building RIA maps in Flex has been &lt;a href="http://www.adobe.com/devnet/flex/articles/interactive_maps.html"&gt;published&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8966681136685695720?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8966681136685695720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8966681136685695720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8966681136685695720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8966681136685695720'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/08/building-ria-maps.html' title='Building RIA maps'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-3347952278857584961</id><published>2009-07-30T12:49:00.000-07:00</published><updated>2009-07-30T21:02:35.407-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='map interfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='localization'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex modules'/><category scheme='http://www.blogger.com/atom/ns#' term='consumer maps'/><title type='text'>Loading Modules in Flex</title><content type='html'>I have in the works an article on map interfaces. Its challenging to provide the map and metadata on, say, a point clicked on the map. Maybe its a marker for a house for sale. I click on the marker, where do I display the price, images, descriptions etc? Pop up, draggable boxes, open a new page. Lots of choices, some better than others. Flex actually increases the possible cool options here. &lt;br /&gt;&lt;br /&gt;My article was driven by a new local search application I am writing. I'm debating whether to load modules within the application. With this in mind, I have built a &lt;a href="http://flexmappers.com/modloader/"&gt;demo&lt;/a&gt;. Right click and you can view the code. This does the following:&lt;br /&gt;1) Loads modules on the fly based on user button click; next or previous(note the use of an interface)&lt;br /&gt;2) Allows the main application to call methods in the loaded module.&lt;br /&gt;3) The modules listen to events fired from the main application&lt;br /&gt;4) The text in the main application is localised; so button labels can be switched from English to Spanish.&lt;br /&gt;&lt;br /&gt;Take a look at the code or download it to test. In the project properties -&gt;flex modules, you will need to have the two modules included. So they are compiled with the application.&lt;br /&gt;&lt;br /&gt;The demo is potentially a base for building mapping applications. Or applications which include a mapping module.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-3347952278857584961?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/3347952278857584961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=3347952278857584961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3347952278857584961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3347952278857584961'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/loading-modules-in-flex.html' title='Loading Modules in Flex'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1616890490808528137</id><published>2009-07-30T11:29:00.000-07:00</published><updated>2009-07-30T11:41:50.064-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='John Peel'/><title type='text'>John Peel and Redwoods</title><content type='html'>Just back from vacation in Bay area, California. Those redwood forests are wonderlands to me. To think the place was once filled with such trees. How could we let loggers cut them all down .... I digress.&lt;br /&gt;&lt;br /&gt;Plenty to write about on the conference scene. With vacations and work I have had to follow The ESRI business and GeoWeb conferences via twitter and blogs. Still I'll gather peoples feedback in my next post and add some comment.&lt;br /&gt;&lt;br /&gt;With vacation thoughts still in  mind. I'm a big music fan. Mostly my interest is in new bands, from all genres. One of my heroes (if I can use such a nonsense term) was John Peel. A unique radio DJ and person. His shows were broadcast on BBC radio 1 from his home near Ipswich in England. Often he would begin his introduction to "the new song by Extreme Noise Terror", by describing the antics of the wasps outside his window. His two hour show was one of life's pleasures. Like many I miss his wit and observations (he passed away while on vacation in Peru in 2004). Anyway, a &lt;a href="http://www.amazon.com/Olivetti-Chronicles-John-Peel/dp/059306061X/ref=sr_1_7?ie=UTF8&amp;qid=1248978084&amp;sr=8-7"&gt;book&lt;/a&gt; of his music reviews was released at the end of last year. There is one review of the book on Amazon by Richard Fudge, I felt it needed reprinting. Not only for how beautifully it is written but its content:&lt;br /&gt;&lt;br /&gt;As far as I can tell, John Peel was a fine human being and as avid and influential a music fan as ever existed. This collection of columns published in various British magazines from the 1970s till his death in 2004 shows what an amazingly good writer he was too. I haven't enjoyed a music book this much in I don't know how long--chiefly because his wry sense of humor and nimble wordcraft are hilarious. As I read the book, I would share occasional columns with my wife--and there were times when we laughed so hard we gasped for breath.&lt;br /&gt;As a DJ, Peel was eager to share any music that he found interesting or exciting, and as a result listeners to his radio show could potentially hear anything from anywhere by anybody. There are elements of the unusual in the book, but for the most part Peel deals with mainstream music and culture (certainly mainstream if you're an indie or World music fan) and this book works somewhat as a one-man overview of music from the last half of the 20th century. Having said that, Peel is indelibly British and his columns are therefore packed with references to British life and culture; as an ex-pat I enjoyed this greatly, but someone not so acquainted with UK life will certainly feel left out at times. Don't let this scare you away. Peel's reflections on the musicians who dazzled him (and his derision of the performers and music-industry types who had little going on but a well-marketed pose) are fascinating and insightful, and they resonate with the enthusiasm that was so much of Peel's radio demeanor.&lt;br /&gt;Music writing can too often be pompously self-important. Peel, always self-effacing, is serious, intelligent, articulate, analytical, informed, and so on--but he steers well clear of the pompous.&lt;br /&gt;What is also gratifying about Peel's outlook on life is his appreciation of the decency of human kindness, and his frequently practiced understanding that a few beers can greatly enhance the human experience. I imagine he would have been a great guy to hang out with--and reading this book was a good deal like hanging out with a great guy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1616890490808528137?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1616890490808528137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1616890490808528137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1616890490808528137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1616890490808528137'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/john-peel-and-redwoods.html' title='John Peel and Redwoods'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5349860867263500408</id><published>2009-07-20T15:30:00.000-07:00</published><updated>2009-07-20T15:44:08.132-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex 3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Flex Flash Maps</title><content type='html'>I mentioned in an earlier post my Flash revisit. The Flash map applications in the London Guardian have always impressed me. I thought I could use Flex as the framework and eventing manager and build a series of flash maps. So a Flex Flash combo. Modularity was also something I wanted to explore. The large Flash applications built by some of the flash mapping companies seem unnecessary. Anyway, the application in its base form is available &lt;a href="http://flexmappers.com/flashframes/"&gt;here&lt;/a&gt;. Right click to view the code and/or download.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iFTA3A35vVc/SmTzINx0TiI/AAAAAAAAADQ/jqA0giu-dnY/s1600-h/flexflash.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 181px;" src="http://3.bp.blogspot.com/_iFTA3A35vVc/SmTzINx0TiI/AAAAAAAAADQ/jqA0giu-dnY/s400/flexflash.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5360676778940845602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: In the right pane you can zoom in and out by selecting a tool and clicking. Alternatively you can simply use the mouse wheel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5349860867263500408?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5349860867263500408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5349860867263500408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5349860867263500408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5349860867263500408'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/flex-flash-maps.html' title='Flex Flash Maps'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iFTA3A35vVc/SmTzINx0TiI/AAAAAAAAADQ/jqA0giu-dnY/s72-c/flexflash.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5058556030950260595</id><published>2009-07-20T13:51:00.000-07:00</published><updated>2009-07-20T13:54:12.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mvc'/><category scheme='http://www.blogger.com/atom/ns#' term='consumer maps'/><title type='text'>Simple MVC</title><content type='html'>I have just &lt;a href="http://www.flexmappers.com/simpleMVC"&gt;posted the code&lt;/a&gt; for a very simple MVC. Right click and you can see the code and download it. Its very simple. This should give you a feel for the guts of the MVC architecture. Should make understanding Cairngorm and the rest a little easier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5058556030950260595?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5058556030950260595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5058556030950260595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5058556030950260595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5058556030950260595'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/simple-mvc.html' title='Simple MVC'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7521306023470131270</id><published>2009-07-16T17:18:00.000-07:00</published><updated>2009-07-20T13:54:45.792-07:00</updated><title type='text'>Location Intelligence</title><content type='html'>Introduction&lt;br /&gt;&lt;br /&gt;We are in the midst of a geospatial revolution. Geo what I hear you saying? Is this geography; maybe maps? Both and more. Specifically we are talking about location. Location in space; how it is visualized and analyzed. In this article we will introduce the new landscape that is geospatial. We will see how we got to today, define terms, compare platforms and segments. Ultimately, we will help you better understand location and its importance to your business.&lt;br /&gt;&lt;br /&gt;Let's start at the Beginning&lt;br /&gt;&lt;br /&gt;So what is location? At its most basic we are talking about a point in space; you, me, a house, a store, a sale, maybe a delivery. All entities and events have a location. Every business operates in this space.&lt;br /&gt;&lt;br /&gt;So we are talking maps then. Yes and no. Maps are simply a way to visualize space. They have context. So driving maps, show roads and settlements. On thematic maps voting patterns across the US may be represented. Changes in city boundaries over time can be shown on temporal maps. More accurately, we are talking about elements or activities which exist or take place respectively in space. A map is merely the representation of these elements or activities, together or in isolation, in space. Maps are images. Humans are wired to best understand information when it is presented in images. Thus maps are a wonderful way to present complex information in understandable ways.&lt;br /&gt;&lt;br /&gt;What is Geospatial&lt;br /&gt;&lt;br /&gt;Geo is a prefix for any word dealing in some way with the earth. Spatial is from the word space or the boundless, three-dimensional extent in which objects and events occur with relative position and direction. Geospatial is the visualization and analysis of terrestrial geographic datasets. If “geo” is so important to understanding physical assets and the location of people - two critical components to the commerce of goods and services, and therefore business decisions - why has location been an untapped dimension of business? Why has GIS been in the closet for 25 years?  And, so why suddenly has its profile been raised? A brief history might be in order.&lt;br /&gt;&lt;br /&gt;Proprietary Software v. Spatial Thinking&lt;br /&gt;Geospatial has been dominated by geographic information systems (GIS) for 25 years. GIS was a specialized niche. Desktop applications like ESRI’s ARC/INFO and ArcView allowed users to display points, lines and polygons stored in spatially enabled databases as maps, and to perform spatial analysis on this data. Thus if a store wished to build a new branch it could use a GIS to analyze proposed areas in terms of maybe demographics; we want a high percentage of families with a certain household income within a 5 mile radius of our new store.&lt;br /&gt;&lt;br /&gt;The Role of Money&lt;br /&gt;In 1996 Mapquest became the first mapping Internet site, enabling users to turn to the Web for driving directions.  ESRI released its IMS product line; MapObjects IMS and ArcView IMS, in 1997. Giving developers tools to build online GIS applications. Though these were key developments it was not until 2005 with the launch of Google Maps that the geospatial revolution truly began. So why was Googles entry into geospatial so impactful? For a number of reasons. First was the amount of money put behind the launch. Take hardware for example, it is thought Google now stores many thousands of terrabytes of spatial data. At the time theis level of spending was unprecedented. Second, they introduced the idea of slippy maps. No longer did users need to wait for a map to load. Maps were tiled and provided a seamless experience. Third they took advantage of AJAX and rich Internet applications (RIA). Google maps was more like a desktop experience. Fourth, they made their API public. Thus it became easy for anybody to add a map to their personal Web site. Lastly, they pulled together and provided in one place a range of different spatial data - roads, satellite, birds eye panoramas - all for free.&lt;br /&gt;&lt;br /&gt;Microsoft and Yahoo soon followed Google into the geospatial market. Microsoft have become known for their work with 3-D, birds eye and oblique views. And, like Google, they have put considerable resources behind their geospatial offerings.&lt;br /&gt;&lt;br /&gt;The Current Landscape&lt;br /&gt;&lt;br /&gt;The last few years have seen dramatic changes in the geospatial landscape. What exactly do we mean by this landscape? Historically, geospatial applications were confined to the desktop and limited to trained GIS programmers and analyst. The geospatial industry has become more than just GIS. It is now part of the Web and mobile experience. Maps are everywhere. There has been a proliferation of business tools enabling the inclusion and analysis of location. Thus we are talking about changes in both the breadth and depth of geospatial. For the technical, a background in geography is no longer a prerequisite. The business professional now has a wealth of new additional tools available to help better understand customers, and organize their business.&lt;br /&gt;&lt;br /&gt;Growth within the industry continues at an astonishing rate. Microsoft, Google, Yahoo and Mapquest continue to extend the services they are offering. ESRI, historically dominating the GIS market, have extended their range of products. Many small companies also have entered the geospatial market with more specialized niche products and services.&lt;br /&gt;&lt;br /&gt;For both the technical and less technical it is worth exploring how this landscape is changing. The different areas which have emerged, and some of the tools now available.&lt;br /&gt;&lt;br /&gt;The Web Dynamic&lt;br /&gt;As mentioned, maps have increasingly become part of the Web experience. A range of so called consumer mapping and map mash ups have emerged. Markers have been added to maps, displaying points of interest (POI’s). Maps have also become more than just points and lines; georeferenced multimedia has been added to the mix. Flickr, for example, have made sharing georeferenced photos popular. Currently around one hundred thousand photos are uploaded to Flickr each day. This has been aided by the fact that many mobile phones now have built in cameras. Consumers, businesses and government agencies have been making use of these services.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iFTA3A35vVc/Sl_D-eXG-sI/AAAAAAAAACQ/lbDdRhemTPI/s1600-h/flakefinder.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 268px;" src="http://1.bp.blogspot.com/_iFTA3A35vVc/Sl_D-eXG-sI/AAAAAAAAACQ/lbDdRhemTPI/s320/flakefinder.png" alt="" id="BLOGGER_PHOTO_ID_5359217559663475394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Figure 1: The FlakeFinder Web site and example of a ski resort mash up&lt;br /&gt;&lt;br /&gt;Desktop or browser plugs-ins like Google Earth and MSN’s Virtual Earth are now popular. These have enabled 3-D maps, views from oblique angles, street level views, flight simulators and non terrestrial views.&lt;br /&gt;&lt;br /&gt;GeoSocial Networking&lt;br /&gt;Social networking has recently become very popular; services like Twitter, Facebook and MySpace. The proliferation of mobile devices with built in GPS, has added a new platform for this form of networking. The goal of geosocial networking is to discover places, things, people and events nearby. Thus, for example, when shopping in a mall, your mobile can notify you of others in your network nearby. It can also let you know about sales or special events in real time. Geospatial companies are very active in this space. Examples include Platial which is focused on ‘who and what are nearby’ on the Web. Buzzd and Pelago use Web services like Facebook Connect to share personal networks using mobile devices.&lt;br /&gt;&lt;br /&gt;Navigation&lt;br /&gt;Route and network analysis has seen dramatic recent growth. Vehicles increasingly have built in route guide systems like Tom-Tom. These systems can audibly guide you to your destination. They are often networked, thus can provide real time information on congestion, road works and other key network data. On the Web Mapquest have added local information to the existing route and network services they offer.&lt;br /&gt;&lt;br /&gt;Mobility&lt;br /&gt;With the popularity of mobile devices, a wide range of geospatial applications have been produced. The IPhone is very notable, with a range of Google map based applications now available. Other mobile providers are following suite, most notably Nokia with its OVI launch.&lt;br /&gt;&lt;br /&gt;Tools&lt;br /&gt;The geospatial community is highly active. There many open source tools available. Open source geospatial servers include MapServer and Geoserver. OpenLayers and Modest maps are excellent libraries for building mapping interfaces, while PostGIS extends the Postgres database to be able to handle spatial data.&lt;br /&gt;&lt;br /&gt;Rich Internet mapping applications (RIA’s) are an important part of the new geospatial experience. With the adoption of technologies like AJAX and Adobe Flex, increasingly Web applications resemble those running on the desktop. Sophisticated interfaces, which avoid full screen refreshes, are ever more common. Providing users a rich Web geospatial experience.&lt;br /&gt;&lt;br /&gt;Data&lt;br /&gt;There has been a proliferation of spatial data sources. Citizens have increasingly become important as providers of this data. During Hurricane Katrina, key location information was provided and mapped by citizens. OpenStreetMap is a highly accurate free base map, built by volunteers. The proliferation of video cameras and sensors, tracking things like local weather conditions, are providing much new data to geospatial systems.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iFTA3A35vVc/Sl_EZgDdtJI/AAAAAAAAACY/_UFZIm6wZDw/s1600-h/openstreetmap.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 268px;" src="http://1.bp.blogspot.com/_iFTA3A35vVc/Sl_EZgDdtJI/AAAAAAAAACY/_UFZIm6wZDw/s400/openstreetmap.png" alt="" id="BLOGGER_PHOTO_ID_5359218023974417554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Figure 2: OpenStreetMap data displayed using OpenLayers&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Business Intelligence&lt;br /&gt;&lt;br /&gt;So how should business professionals be thinking about “geo”? We have discussed the new tools and data now available, but not how these are being directly utilized by businesses.&lt;br /&gt;&lt;br /&gt;GIS&lt;br /&gt;From the recent ESRI Business conference GIS summit a number of key business GIS areas were defined:&lt;br /&gt; a) Asset Management&lt;br /&gt; - Oil and Gas - monitoring and managing pipelines&lt;br /&gt; b) Planning &amp;amp; Analysis&lt;br /&gt;- Retail - market analysis and optimizing store distribution; eliminate poor performers and adding new locations.&lt;br /&gt; - Insurance – evaluating risk and determining accurate pricings for the specific location.&lt;br /&gt; - Emergency Services - damage assessment (eg. flooding)&lt;br /&gt; - Land - land developers assessing parcel/land value&lt;br /&gt;c) Field Mobility&lt;br /&gt; - Trucking and delivery - optimum routes and delivery vehicle management.&lt;br /&gt;d) Operational Awareness - asset utilization and supply chain efficiency.&lt;br /&gt;&lt;br /&gt;Mash ups&lt;br /&gt;There are a wide range of examples in this category. These include:&lt;br /&gt; - State promotion - geolocated photos, video and images used to promote a state.&lt;br /&gt; - Retail advertising - adding store locations to maps using markers.&lt;br /&gt;- Real estate – homes for sale eg. http://snapshot.trulia.com/.&lt;br /&gt;- Travel/tourism - destination guide and planning tools eg. http://www.flexmappers.com/videomaps&lt;br /&gt; - Emergency services - geolocated data and photos eg. hurricane Katrina&lt;br /&gt; - Business intelligence - news by location http://www.metacarta .com&lt;br /&gt; - Financial sector - location based news and data.&lt;br /&gt;- Insurance - weather forecasting eg. http://www.weather.com&lt;br /&gt;- Entertainment - book or band tours eg. http://www.thetourmap.com/&lt;br /&gt; - Emergency planning - toxic spills&lt;br /&gt;- Health and medicine - tracking the spread of disease eg. http://www.healthmap.org/swineflu&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iFTA3A35vVc/Sl_FOkXjm9I/AAAAAAAAACg/oHNe--rOO4M/s1600-h/swine-flu-diffusion.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 221px;" src="http://3.bp.blogspot.com/_iFTA3A35vVc/Sl_FOkXjm9I/AAAAAAAAACg/oHNe--rOO4M/s400/swine-flu-diffusion.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5359218935665499090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Figure 3 – Mapping the diffusion of swine flu&lt;br /&gt;&lt;br /&gt; - Travel industry planning – flight data eg. http://maker.geocommons.com/maps/4884&lt;br /&gt;&lt;br /&gt;Mobile&lt;br /&gt;This includes stand-alone maps or geodata downloaded from the Web&lt;br /&gt; - Travel/Tourism and Federal State Agencies - local transportation information&lt;br /&gt; - Trucking - fleet management&lt;br /&gt;- Planning - parking information; availability by pricing zones&lt;br /&gt;- Travel/Tourism - guided walks, creating routes eg. http://unitedmaps.net&lt;br /&gt; - Travel - directions, traffic congestion eg. http://www.tomtom.com&lt;br /&gt;- Retail - shopping alerts eg. http://www.nearbynow.com/ &lt;br /&gt;- Emergency services - evacuation and disaster management&lt;br /&gt;- Retail – guiding drivers to low cost gasoline stations eg. http://www.dash.net&lt;br /&gt; &lt;br /&gt;Navigation&lt;br /&gt;Web based driving and route mapping services.&lt;br /&gt; - Delivery - shortest path eg. http:/www.mapquest.com&lt;br /&gt; - Sales – planning client  visits&lt;br /&gt;&lt;br /&gt;Geosocial Networking&lt;br /&gt; - Retail advertising - are friends in my network nearby?&lt;br /&gt; - Non profit - sharing ideas/creating community by locations&lt;br /&gt;- Hazards and Disaster Planning – sharing information by location eg. http://en.wikipedia.org/wiki/Collaborative_mapping&lt;br /&gt;- Promotion - geotagged imagery or video eg. http://www.flickr.com&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iFTA3A35vVc/Sl_FcA1JiGI/AAAAAAAAACo/jAanPCUcMwQ/s1600-h/flickr.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 223px;" src="http://3.bp.blogspot.com/_iFTA3A35vVc/Sl_FcA1JiGI/AAAAAAAAACo/jAanPCUcMwQ/s400/flickr.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5359219166644111458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Figure 4 – Geotagged photos mapped in flickr&lt;br /&gt;&lt;br /&gt;Other&lt;br /&gt;&lt;br /&gt;- Promotion/announcement – location driven announcements using geocoded addresses&lt;br /&gt;- Publishing – interactive flash maps to support articles eg. http://www.guardian.co.uk/flash/0,,1807749,00.html&lt;br /&gt;- Local advertising – finding user locations from computer IP eg. http://www.hostip.info/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Summary&lt;br /&gt;&lt;br /&gt;Much of the current business focus is on the why and when of customer behavior; the where remains under explored. Location intelligence is the analysis of the space in which a business operates. It takes in sales, marketing, the supply chain, operations. Maps are the presentation of this spatial data, maybe in combination with spreadsheets and charts. They serve to help both with pattern recognition and as spatial indexes; displaying related data.The recent changes in the geospatial industry has provided additional tools, and data to businesses. Allowing where to be included as a part of business intelligence. In this article, we have focused on the changing geospatial landscape. We have attempted to demystify a rapidly growing industry. And, hopefully demonstrate the importance of location intelligence in the success of any business.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7521306023470131270?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7521306023470131270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7521306023470131270' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7521306023470131270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7521306023470131270'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/location-intelligemce.html' title='Location Intelligence'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iFTA3A35vVc/Sl_D-eXG-sI/AAAAAAAAACQ/lbDdRhemTPI/s72-c/flakefinder.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7836171867406828346</id><published>2009-07-16T07:57:00.000-07:00</published><updated>2009-07-16T08:00:41.655-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contracting'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='consumer maps'/><title type='text'>Twitter and Contracting</title><content type='html'>I follow Jesse wardens blog. He is an ace Flash and Flex developer. Though not an RIA map developer, he has lots of useful tips and tricks on general RIA development. I particularly liked his &lt;a href="http://jessewarden.com/2009/07/twitter-is-how-i-obtain-job-opportunities.html"&gt;most recent entry&lt;/a&gt; on contracting and twitter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7836171867406828346?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7836171867406828346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7836171867406828346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7836171867406828346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7836171867406828346'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/twitter-and-contracting.html' title='Twitter and Contracting'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1010938854934137368</id><published>2009-07-15T09:08:00.000-07:00</published><updated>2009-07-15T09:28:53.583-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='mvc'/><category scheme='http://www.blogger.com/atom/ns#' term='model view controller'/><title type='text'>Mapping and MVC</title><content type='html'>I found &lt;a href="http://www.russback.com/adobe-flex/binding-selectedchild-of-a-viewstack-in-mvc.html"&gt;here &lt;/a&gt;a nice article on the Model-View-Control design architecture/pattern. Its a useful pattern to know about and this article lays things out nicely.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1010938854934137368?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1010938854934137368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1010938854934137368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1010938854934137368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1010938854934137368'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/mapping-and-mvc.html' title='Mapping and MVC'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-6201634915047214471</id><published>2009-07-15T08:53:00.000-07:00</published><updated>2009-07-16T12:06:24.002-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business geographics'/><category scheme='http://www.blogger.com/atom/ns#' term='geospatial'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solving'/><title type='text'>Geospatial Thoughts</title><content type='html'>I started out as a Physical Geographer. The early days of the Internet coincided with my move from England to the US. The possibilities of a geospatial Web led me to GIS in the mid 1990's. I took a Masters degree and dipped my toe into geospatial programming. Over 10 years later I'm still programming. The early geospatial efforts I worked with - MapObjects IMS, ArcIMS and Viewers - were a start. But somewhat unfulfilling for a user; waiting for new map images to reload after pans and zooms was a pain. I always wondered about how the user experience could be improved. This led me to Flash and now Flex or rich internet mapping applications. &lt;br /&gt;&lt;br /&gt;My working life is spent surrounded by computer scientists. But, I remain first a geographer second a programmer. People have asked me what that means. I usually reply that I think about my work geospatially. "You mean in terms of maps?" is often the response. It struck me, this is how many think of geography and geospatial. &lt;br /&gt;&lt;br /&gt;I'm writing an article for the new &lt;a href="http://www.lbxjournal.com/"&gt;LBx Journal&lt;/a&gt;. Its aimed at business executives. I'll post it on the blog when I am done. It deals in more depth with this issue. This may form the first in a series exploring geospatial and business. At a basic level how can business take advantage of geospatial? Increasingly I view my work from a business angle. The geospatial community seems focused on the 'building and they will come' approach. If geospatial becomes an integrated part of business, and not separate as it is today, we need to start demonstrating its power to solve business problems. I attend too many geospatial conferences where 'how can we make money' is a central topic. Let's start looking through the lens of a business executive. Understand their perspective, then take our knowledge of geospatial and provide them with solutions. Focus on understanding the problem and monetizing solutions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-6201634915047214471?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/6201634915047214471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=6201634915047214471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6201634915047214471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6201634915047214471'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/maps-and-mvc.html' title='Geospatial Thoughts'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7455002343767120594</id><published>2009-07-15T05:44:00.000-07:00</published><updated>2009-07-15T05:55:35.813-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sensed Location'/><title type='text'>Mapping and Sensed Location</title><content type='html'>Thinking about geospatial, many people focus only on maps. But maps are simply a tool to visualise spatial data. I've recently become interested in sensed locations, or knowing where a user is from GPS or IP geolocation. The latter is fascinating. Taking a best guess at where a user is based on their IP address. There is more on this at the following &lt;a href="http://www.slideshare.net/rsarver/where-20-2009-location-on-the-web"&gt;slideshow&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Though there are obviously privacy issues here. Knowing, for example, where a user is when accessing your web site, can help tune the experience. Maybe allowing developers to provide more relevant content.&lt;br /&gt; &lt;br /&gt;Local data and search are my current areas of focus. This is very relevant. More on this in subsequent posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7455002343767120594?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7455002343767120594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7455002343767120594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7455002343767120594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7455002343767120594'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/mapping-and-sensed-location.html' title='Mapping and Sensed Location'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-9140102628690841514</id><published>2009-07-02T07:58:00.000-07:00</published><updated>2009-07-02T08:06:04.755-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='Everyblock'/><title type='text'>Everyblock Code Open Sourced</title><content type='html'>The source code for Everyblock has been open sourced. You can now &lt;a href="http://www.everyblock.com/code/"&gt;access all source code &lt;/a&gt;. It is a nice application. Their dilemma has been much discussed; how to make money when the code is required to be open sourced. Reading the blurb in the code release page, one feels there is some degree of resentment about having to go open source. One has to sympathise, but when they agreed on their financing they knew this to be the arrangement. Its odd they did not plan on this when they built their business plan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-9140102628690841514?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/9140102628690841514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=9140102628690841514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/9140102628690841514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/9140102628690841514'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/everyblock-code-open-sourced.html' title='Everyblock Code Open Sourced'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-6052575723115209364</id><published>2009-07-02T06:24:00.000-07:00</published><updated>2009-07-02T06:52:58.459-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash CS3'/><category scheme='http://www.blogger.com/atom/ns#' term='0'/><category scheme='http://www.blogger.com/atom/ns#' term='consumer maps'/><title type='text'>Flash CS3 Map Evolution</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iFTA3A35vVc/Sky3xf7P9MI/AAAAAAAAABU/qhag6appuac/s1600-h/flashmap.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 140px;" src="http://3.bp.blogspot.com/_iFTA3A35vVc/Sky3xf7P9MI/AAAAAAAAABU/qhag6appuac/s320/flashmap.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5353856118048158914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://flexmappers.com/flashmap/"&gt;Flash CS maps&lt;/a&gt; I have been building using AS3 is moving along slowly. I shared a link in an earlier blog entry to the first phase. Most of the time here was spent assembling the assets ie. movieclips of each continent/country/state and supporting XML. The XML is tied to the movieclip via a number - &amp;lt;id&amp;gt;1&amp;lt;/id&amp;gt;, sprite 1. Thus I have an all continents swf and individual continents eg. northamerica.swf. These are made up of individual country/state movieclips. Clicking on a continent, loads the individual continent swf. Since Flex is the glue for the swf's, I have used eventing to communicate between each of the swf's; flash to flex, flex to flash. The eventing code I used was an adaptation of code shared by &lt;a href="http://flash.fincanon.com/archives/152"&gt;Jason Fincanon&lt;/a&gt;. The code is as follows:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The next phase of the map I have also now &lt;a href="http://flexmappers.com/flexflashmap/"&gt;posted&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iFTA3A35vVc/Sky5dn4HbRI/AAAAAAAAABc/4mG0xwcglIg/s1600-h/flexflashmap.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 201px;" src="http://4.bp.blogspot.com/_iFTA3A35vVc/Sky5dn4HbRI/AAAAAAAAABc/4mG0xwcglIg/s320/flexflashmap.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5353857975608372498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here I have integrated the zoom functionality from Peter Organa (see earlier post). Thus the zoom.swf provided by Peter now listens to which continent was selected and loads the appropriate swf. Now a selected continent can be panned, zoomed into and out. This will allow, in the next phase, geolocated pins to be added to the map.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-6052575723115209364?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/6052575723115209364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=6052575723115209364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6052575723115209364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6052575723115209364'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/flash-cs3-map-evolution.html' title='Flash CS3 Map Evolution'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iFTA3A35vVc/Sky3xf7P9MI/AAAAAAAAABU/qhag6appuac/s72-c/flashmap.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7169477346984200139</id><published>2009-07-01T05:52:00.000-07:00</published><updated>2009-07-01T05:56:40.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='IPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='ArcGIS'/><category scheme='http://www.blogger.com/atom/ns#' term='ESRI'/><title type='text'>ArcGIS and the IPhone</title><content type='html'>I took the following from James Fee's blog:&lt;br /&gt;&lt;br /&gt;Q: Will ESRI support the iPhone?&lt;br /&gt;&lt;br /&gt;Yes, we will support the iPhone as a mobile platform to get maps from ArcGIS Server and do queries and edits on data from ArcGIS Server.  We plan on releasing an application for the iPhone later this year and then adding additional capability as part of our 9.4 release.  In addition developers can build their own solutions for the iPhone using the REST APIs available from ArcGIS Server.&lt;br /&gt;&lt;br /&gt;I didn't think this would be too far away. &lt;br /&gt;&lt;br /&gt;On another mobile note. I'm in line for beta testing the Nokia OVI API. Its an interesting process. Nokia have a limited number of beta slots. Once considered you then need to explain the mobile application you plan to build and whether you can get it done in 2 months.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7169477346984200139?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7169477346984200139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7169477346984200139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7169477346984200139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7169477346984200139'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/07/arcgis-and-iphone.html' title='ArcGIS and the IPhone'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-4888618835803279413</id><published>2009-06-27T10:49:00.001-07:00</published><updated>2009-06-27T10:53:07.095-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS#'/><category scheme='http://www.blogger.com/atom/ns#' term='transitionmanager'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash CS3'/><title type='text'>Flash Transitions</title><content type='html'>Came across a couple of really useful sites for transitions in Flash. The &lt;a href="http://www.hoomanr.com/Demos/Transition/index.shtml"&gt;first &lt;/a&gt;allows you to try each of the transitions in CS3. The &lt;a href="http://flashexplained.com/"&gt;second&lt;/a&gt;, I have come across many times before. It is a more general site but gives some great Flash tutorials. Hopefully more AS3 examples will be added.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-4888618835803279413?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/4888618835803279413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=4888618835803279413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4888618835803279413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4888618835803279413'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/flash-transitions.html' title='Flash Transitions'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5660353680670917417</id><published>2009-06-26T16:03:00.000-07:00</published><updated>2009-06-26T16:06:47.756-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='y'/><category scheme='http://www.blogger.com/atom/ns#' term='lat/long conversion to screen x'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash CS3'/><title type='text'>Flash Map Convert lat/long to x,y</title><content type='html'>I need to add pins to the flash map I'm working on. They are geo-located based on lat/long stored in a loaded XML. I was wondering how to do the conversion from lat/long to screen x,y. Found this &lt;a href="http://board.flashkit.com/board/archive/index.php/t-666832.html"&gt;thread&lt;/a&gt;. I'll give feedback on the solution I finally implemented in due course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5660353680670917417?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5660353680670917417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5660353680670917417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5660353680670917417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5660353680670917417'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/flash-map-convert-latlong-to-xy.html' title='Flash Map Convert lat/long to x,y'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1979991143874647921</id><published>2009-06-26T15:41:00.000-07:00</published><updated>2009-06-26T15:53:52.461-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='map zoom tool'/><category scheme='http://www.blogger.com/atom/ns#' term='consumer mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash CS3'/><title type='text'>Flash CS3 Map Zoom</title><content type='html'>I've been building a Flash CS3 map mentioned earlier in the blog. The next thing to be done was zoom. From past experience this is always a tricky business. I wondered if anybody might have shared their solution. Eureka! &lt;a href="http://blog.organa.ca/?p=16"&gt;Peter Organa&lt;/a&gt; to the rescue. He has written just the best zoom and pan tool. Scroll wheel even works. Best of all its in AS3 and Peter has shared the source. Made my day!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1979991143874647921?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1979991143874647921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1979991143874647921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1979991143874647921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1979991143874647921'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/flash-cs3-map-zoom.html' title='Flash CS3 Map Zoom'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-6028917270307246572</id><published>2009-06-25T18:03:00.000-07:00</published><updated>2009-06-26T10:25:42.262-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html 5'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='rich internet applications'/><title type='text'>HTML 5</title><content type='html'>I came across this discussion on &lt;a href="http://www.spatiallyadjusted.com/"&gt;James Fees blog&lt;/a&gt; about HTML 5. So is there a future for Flash and Silverlight? I'm inclined to think so. The great thing is more ways to develop RIA. Here is a link to the &lt;a href="http://tech.yahoo.com/news/infoworld/20090616/tc_infoworld/79291"&gt;article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-6028917270307246572?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/6028917270307246572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=6028917270307246572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6028917270307246572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6028917270307246572'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/html-5.html' title='HTML 5'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7888617830096193041</id><published>2009-06-25T17:38:00.000-07:00</published><updated>2009-06-26T10:25:13.385-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Modest Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash builder 4'/><title type='text'>Flash Builder 4</title><content type='html'>The full release of &lt;a href="http://labs.adobe.com/technologies/flashbuilder4/"&gt;Flash Builder 4&lt;/a&gt; is scheduled sometime in July, replacing Flex Builder 3. I thought I'd take a look at what is different. Using the Modest Maps API I built a demo mapping application. I thought I'd post a brief snippet of that code. The first is the code in Flex 3:&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"&lt;br /&gt; minWidth="1024" minHeight="768" creationComplete="init()"&amp;gt;&lt;br /&gt; &amp;lt;mx:Script&amp;gt;&lt;br /&gt; &amp;lt;![CDATA[&lt;br /&gt;&lt;br /&gt;  import mx.core.UIComponent;&lt;br /&gt;  import com.modestmaps.TweenMap; &lt;br /&gt;  import com.modestmaps.mapproviders.OpenStreetMapProvider;&lt;br /&gt;  import com.modestmaps.geo.Location;&lt;br /&gt;&lt;br /&gt;  private function init():void&lt;br /&gt;  {&lt;br /&gt;  }&lt;br /&gt;  ]]&amp;gt;&lt;br /&gt; &amp;lt;/mx:Script&amp;gt;&lt;br /&gt; &amp;lt;mx:Canvas id="mappanel" width="100%" height="97%"/&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;/mx:Application&amp;gt;&lt;br /&gt;&lt;br /&gt;This second is the same code using Flash Builder 4:&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" &lt;br /&gt; minWidth="1024" minHeight="768" creationComplete="init()"&amp;gt;&lt;br /&gt; &amp;lt;fx:Script&amp;gt;&lt;br /&gt;  &amp;lt;![CDATA[&lt;br /&gt;&lt;br /&gt;  import mx.core.UIComponent;&lt;br /&gt;  import com.modestmaps.TweenMap; &lt;br /&gt;  import com.modestmaps.mapproviders.OpenStreetMapProvider;&lt;br /&gt;  import com.modestmaps.geo.Location;&lt;br /&gt;&lt;br /&gt;  private function init():void&lt;br /&gt;  {&lt;br /&gt;  }&lt;br /&gt;  ]]&amp;gt;&lt;br /&gt; &amp;lt;/fx:Script&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;mx:Canvas id="mappanel" width="100%" height="97%"/&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;/s:Application&amp;gt;&lt;br /&gt;&lt;br /&gt;There are some interesting differences. I had expected to be able simply to extend my existing Flex 3 apps. Not so. I'll blog more on this when I have more time to poke around.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7888617830096193041?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7888617830096193041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7888617830096193041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7888617830096193041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7888617830096193041'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/flex-flash-eventing.html' title='Flash Builder 4'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5959998010717642049</id><published>2009-06-25T13:30:00.000-07:00</published><updated>2009-06-25T13:34:10.899-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MapSherpa'/><title type='text'>MapSherpa</title><content type='html'>I've been sharing emails with Dave McIlhagga at DMSolutions. The are about the launch &lt;a href="http://www.mapsherpa.com/"&gt;MapSherpa&lt;/a&gt;. An easy way to generate stunning maps. The beta test should begin soon. Worth signing up for me thinks. Full release will be sometime in July. I'm looking forward to testing it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5959998010717642049?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5959998010717642049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5959998010717642049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5959998010717642049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5959998010717642049'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/mapsherpa.html' title='MapSherpa'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-2969745795016912245</id><published>2009-06-25T13:19:00.000-07:00</published><updated>2009-06-30T19:48:55.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consumer mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='GisDevelopment'/><category scheme='http://www.blogger.com/atom/ns#' term='gis mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='www.flexmappers.com'/><title type='text'>Geo-Spatial Solutions in Challenging Economic Times</title><content type='html'>Introduction&lt;br /&gt;&lt;br /&gt;The landscape of the geo-spatial industry is undergoing rapid changes. Some suggest a geo-revolution is underway. The range of products and platforms is broadening. Existing boundaries are blurring. In parallel, the world is experiencing an unprecedented economic downturn. Start-ups and established businesses are increasingly looking for low cost solutions. This article will look at the current state of the geo-spatial industry. It will discuss some of the software and base map sources given tightening budgets. &lt;br /&gt; &lt;br /&gt;Is Google Maps GIS?&lt;br /&gt;&lt;br /&gt;Google maps was launched in November 2005. Thus began the rapid expansion of the geo-industry. Yahoo and Microsoft soon entered the market. Mapquest extended its offering and ESRI broadened their business. All made public their mapping API’s. Slippy tiled base maps became easy to add to any web sites. But are these consumer maps, often described as mash ups, GIS? This has been much discussed on the Web (http://highearthorbit.com/is-googlemaps-gis/). Though there are many differing opinions, the general agreement is that the boundaries are rapidly blurring. It might be worth for this discussion, to include these new, currently free tools.  &lt;br /&gt;&lt;br /&gt;The GIS Stack&lt;br /&gt;&lt;br /&gt;The classic GIS stack is usually discussed in terms of the client, server and database. We will add an additional category, that of tools for tiling and caching.&lt;br /&gt;&lt;br /&gt;Client&lt;br /&gt;Increasingly geo-companies are focused on building rich Internet mapping applications (RIA). That is, applications which more closely resemble those running on the desktop. Two technologies dominate; those applications which run in the Flash player, and those built using AJAX. The Flash player is an Adobe product, which runs on over 90% of all Web browsers. Applications which run in the player can be written in Adobe Flash or Flex using the Actionscript programming language. Actionscript 3.0 (AS3) is the current version, and the one discussed here. The Flash and Flex SDK’s are free, though their respective IDE’s will need purchasing. AJAX is built on Javascript. It is completely open source, and supported by a large user community. One more RIA technology is worth mentioning. Microsoft recently released Silverlight, in direct competition with Flex. Like Flex, the SDK is free, but not the Visual Studio IDE.&lt;br /&gt; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iFTA3A35vVc/SkPceO70EuI/AAAAAAAAAA0/NPr4E4X6JVw/s1600-h/Figure1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 208px;" src="http://2.bp.blogspot.com/_iFTA3A35vVc/SkPceO70EuI/AAAAAAAAAA0/NPr4E4X6JVw/s320/Figure1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5351363194209440482" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Figure 1 – Some of the wide array of options for building an &lt;a href="http://www.flexmappers.com/mapstutorial/"&gt;open source GIS stack&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The first two options in the client layer we will discuss are pure open source. They are both the most accessible and flexible solutions. OpenLayers (http://openlayers.org) was developed by MetaCarta (http://www.metacarta.com/) and is a Javascript library. Modest Maps is an AS3 mapping library. Developed in part by Stamen Design (http://stamen.com/), Modest Maps has a sizeable user community, which provides excellent support. Both of these solutions provide full access to the base code. This allows developers to customize at their own discretion. In each case, these clients can access a wide range of different base maps. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iFTA3A35vVc/SkPc4GyqnBI/AAAAAAAAAA8/U3OY3W7In4g/s1600-h/flakefinder.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 162px;" src="http://4.bp.blogspot.com/_iFTA3A35vVc/SkPc4GyqnBI/AAAAAAAAAA8/U3OY3W7In4g/s320/flakefinder.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5351363638700186642" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Figure 2 – FlakeFinder a ski resort mash up using Modest Maps&lt;br /&gt;&lt;br /&gt;Less open but still free are the mapping API’s from Google, Microsoft (MSN), Yahoo, Mapquest and ESRI. They break down as follows:&lt;br /&gt;&lt;br /&gt;Google API’s – (http://code.google.com/apis/maps/documentation/index.html) - AS3, Javascript &lt;br /&gt;&lt;br /&gt;MSN API’s – AJAX, .NET&lt;br /&gt;&lt;br /&gt;Mapquest API’s (http://developer.mapquest.com/) – AS3, Javascript, C++, Java, .NET&lt;br /&gt;&lt;br /&gt;Yahoo API’s (http://developer.yahoo.com/maps/) – AJAX, AS3&lt;br /&gt;&lt;br /&gt;ESRI API’s (http://resources.esri.com/arcgisserver/index.cfm?fa=applications) – AS3, Silverlight, .NET, Java&lt;br /&gt;&lt;br /&gt;The use of each API requires a free key. They provide a range of services including marker overlay, routing, styling and geocoding, The ESRI API’s provide the broadest range of GIS tools. They can also access many different map services including Google, MSN and the GeoWebCache/Geoserver and TileCache/MapServer combinations. Recently added to the ESRI offering is an API for Silverlight.&lt;br /&gt; &lt;br /&gt;Tiling and Caching&lt;br /&gt;Geoserver will generate tiles for maps automatically, or use seeding to pre-generate tiles, Mapserver relies on ka-Map for tile generation and viewing.&lt;br /&gt;&lt;br /&gt;There are two main caching solutions. Each dramatically improves the performance of any mapping application. TileCache (http://tilecache.org/) is another MetaCarta open source product. It is Python based and supports multiple different rendering backends, most notably MapServer. GeoWebCache (http://geowebcache.org/trac) is written in Java. It caches map tiles as they are requested, in effect acting as a proxy between client and server. Based on the request, if no pre-rendered tiles are found, it calls the server to render new tiles. GeoWebCache works with GeoServer, or any WMS-compliant server.&lt;br /&gt;&lt;br /&gt;Map Servers&lt;br /&gt;There are many map server solutions. But, two low cost solutions stand out. First there is MapServer (http://mapserver.org/). This is a very popular open source solution. It runs under the Apache Web Server and is supported by an excellent PHP based scripting language called Mapscript. MapServer is a Web map rendering engine. GeoServer (http://geoserver.org) is the second open source spatial server. Built in Java, it is a complete spatial Web environment, often classified both as a rendering engine and application framework.&lt;br /&gt;&lt;br /&gt;MapServer and Geoserver can be integrated easily with maps from Google, MSN and Yahoo. They both compare favorably in terms of performance. Geoserver comes with a management interface, this makes set up and configuration somewhat easier than for MapServer. But the lack of need for an application server and the excellent Mapscript, are among the many attractions of MapServer.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iFTA3A35vVc/SkPdIZGy_8I/AAAAAAAAABE/oLZ45W_DjH4/s1600-h/farallon_openlayers.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 150px;" src="http://1.bp.blogspot.com/_iFTA3A35vVc/SkPdIZGy_8I/AAAAAAAAABE/oLZ45W_DjH4/s320/farallon_openlayers.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5351363918494367682" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Figure 3 – MarineMap is an RIA which uses OpenLayers and Google base maps.&lt;br /&gt;&lt;br /&gt;Databases&lt;br /&gt;Arguably, the most robust spatial open source database solution is the PostGIS/Postgres combination. PostGIS was developed by Paul Ramsey. He provides excellent documentation and support via his blog (http://blog.cleverelephant.ca/). PostGIS is an extension of Postgres. Like ESRI’s ArcSDE is allows relational databases to work with spatial data. Technically though they are quite different, PostGIS is part of the database while ArcSDE is spatial middleware, running as a separate process. &lt;br /&gt;&lt;br /&gt;Mobile Platform&lt;br /&gt;&lt;br /&gt;The majority of mobile mapping applications currently run on the IPhone. Most have been built using the Google maps Javascript (version 3) API. Maps have been much the focus in the mobile space recently.  Nokia have just launched OVI Maps and are in the process of exposing the Javascript API to developers. The AS2 version of Modest Maps allows Flash Lite development, which will run on any handset with the Flash player installed.&lt;br /&gt;&lt;br /&gt;Summary&lt;br /&gt;&lt;br /&gt;There are many low cost solutions available for building geo-spatial applications. This article walked through the GIS stack, discussing some of these options. Increasingly, as budgets tighten, companies are turning to these open source development tools. Often they are surprised by what they find.&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;http://geoserver.org/display/GEOSDOC/Google+Maps - Geoserver and Google maps integration&lt;br /&gt;http://www.rvaidya.com/blog/gis/2009/02/12/mapserver-using-google-maps-with-php-mapscript/ - MapServer and Google maps integration&lt;br /&gt;http://kelsocartography.com/blog/?p=2257 - Marine Maps discussion&lt;br /&gt;http://spatialhorizons.com/2007/11/14/using-mapserver-2-generating-map-tiles/ - generating map tiles for MapServer using ka-Map.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-2969745795016912245?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/2969745795016912245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=2969745795016912245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2969745795016912245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2969745795016912245'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/gisdevelopment-article.html' title='Geo-Spatial Solutions in Challenging Economic Times'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iFTA3A35vVc/SkPceO70EuI/AAAAAAAAAA0/NPr4E4X6JVw/s72-c/Figure1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-2898149086557446032</id><published>2009-06-25T13:05:00.001-07:00</published><updated>2009-06-25T13:18:40.621-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MarineMap'/><category scheme='http://www.blogger.com/atom/ns#' term='geoweb'/><category scheme='http://www.blogger.com/atom/ns#' term='Farallon Geographics'/><title type='text'>MarineMap Decision Support Tool</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iFTA3A35vVc/SkPbGGOfOJI/AAAAAAAAAAs/4lweW-Ee0rc/s1600-h/marinemapsupporttool.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://1.bp.blogspot.com/_iFTA3A35vVc/SkPbGGOfOJI/AAAAAAAAAAs/4lweW-Ee0rc/s320/marinemapsupporttool.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5351361680043358354" /&gt;&lt;/a&gt;&lt;br /&gt;I came across the Marine maps application while looking at the Farallon Geographics Web site. Dennis Wuthrich CEO of Farallon, was at Where 2.0, so I had a chance to ask him about it. You can link to it at &lt;a href="http://www.marinemap.org/marinemap/"&gt;MarineMap Viewer&lt;/a&gt;&lt;br /&gt;This is a classic example of a Web 2.0 mapping application. It is so well designed, with transitions, drag and drop and combines metadata and the interactive map in such a well designed manner. I'm a huge fan. I'm writing another article, this one for gisdevelopment.net (see next post). While researching the article I came upon an interview on the development of MarineMap at the following link &lt;a href="http://kelsocartography.com/blog/?p=2257 "&gt;MarineMap Discussion&lt;/a&gt;. It is well worth a read.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-2898149086557446032?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/2898149086557446032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=2898149086557446032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2898149086557446032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2898149086557446032'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/marinemap-decision-support-tool.html' title='MarineMap Decision Support Tool'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iFTA3A35vVc/SkPbGGOfOJI/AAAAAAAAAAs/4lweW-Ee0rc/s72-c/marinemapsupporttool.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-3440840303321555158</id><published>2009-06-25T10:48:00.000-07:00</published><updated>2009-06-25T11:00:51.309-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex custom maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Actionscript 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash CS3'/><title type='text'>Flash CS3 Actionscript 3 and Maps</title><content type='html'>It has been a long while since I worked with the Flash IDE. Going back to Flash MX in fact. I'm approached quite often about Flash jobs. Often they ask for Actionscript 2.0 which I often find a little odd. Must be a good reason. Anyway, I enjoy working with AS3 in Flex so thought it time to return to Flash. I mentioned in an earlier post that I was using both the Flash CS3 IDE and Flex Builder. It took a little getting used to but I'm beginning to get comfortable. I've been building a vector based Flash map application:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flexmappers.com/flashmap/"&gt;Flash CS3 AS3 Map&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll admit to being rather wrapped up in it. The continents/countries/states are individual movieclips. Metadata is loaded from XML. Flex is being used to tie the main 'all continents' swf to individual continents. There are 8 swf's in all. Its a cool little app I think. Rather than building one honking big swf, break everything into smaller pieces and use Flex as the glue. I have a list of things to do. Adding zoom to the right pane, and overlaying pins (from a lat/long conversion) using loaded XML will make it a really functional application. &lt;br /&gt;I've avoided mentioning animation. I'll admit i'm very interested. In AS2 I avoided it like the plague. In CS3 AS3 it seems easier. I've played somewhat and found it all pretty straighforward. I plan to add a little cool animation to this app...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-3440840303321555158?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/3440840303321555158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=3440840303321555158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3440840303321555158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3440840303321555158'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/flash-cs3-actionscript-3-and-maps.html' title='Flash CS3 Actionscript 3 and Maps'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8539313502716946199</id><published>2009-06-23T18:21:00.000-07:00</published><updated>2009-06-23T18:34:34.922-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex 3'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='f;ash CS3'/><title type='text'>Using FlexBuilder 3 to Debug Flash C3 Projects</title><content type='html'>So I have finally, after a long hiatus, ventured back to Flash. Flash MX started me on this RIA map adventure. Then onto Flex 2, now Flex 3 and soon Flash Builder (Flex 4!?).&lt;br /&gt;In the day I had little need for animation, so all interactive AS2 development. Flash CS3 is quite different to the MX IDE. Had a yikes moment when I opened it. Slowly it is becoming familiar. I have become so used to the Flex IDE, tips and all that. That editing .as files in Flash seems very awkward. It has taken a minute to get the two working together nicely. One thing which has caused me consternation is the inability to debug a flash .as file in flex. Finally found the solution:&lt;br /&gt;&lt;a href="http://www.themorphicgroup.com/blog/2008/05/16/10/"&gt;Debug Flash CS3&lt;/a&gt;&lt;br /&gt;Joy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8539313502716946199?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8539313502716946199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8539313502716946199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8539313502716946199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8539313502716946199'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/using-flexbuilder-3-to-c3-projects.html' title='Using FlexBuilder 3 to Debug Flash C3 Projects'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-6907595130617767195</id><published>2009-06-23T11:09:00.001-07:00</published><updated>2009-06-23T18:36:55.507-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SnagIt  8'/><category scheme='http://www.blogger.com/atom/ns#' term='resolution'/><category scheme='http://www.blogger.com/atom/ns#' term='Photoshop'/><title type='text'>Screen Capture and Resolution</title><content type='html'>I've been recently both capturing and uploading images to my website. Only just realised the benefits of file-&gt; save for web menu item in Photoshop. The tweeks you can make to an image before saving as an optimised web image are wonderful.   &lt;br /&gt;For image capture I use SnagIt 8. A great tool. But the resolution of captured images, DPI and ppi, has always confused me. This terrific article helped to lift the fog:&lt;br /&gt;&lt;a href="http://www.webdevelopersjournal.com/columns/ajs_resolution.html"&gt;Resolution DeMystified&lt;/a&gt;&lt;br /&gt;It also shows how Photoshop can be used to alter images captured from the Web to be published in print.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-6907595130617767195?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/6907595130617767195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=6907595130617767195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6907595130617767195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6907595130617767195'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/screen-capture-and-images.html' title='Screen Capture and Resolution'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5117501799163457647</id><published>2009-06-23T09:58:00.000-07:00</published><updated>2009-06-25T13:28:07.038-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GIS'/><category scheme='http://www.blogger.com/atom/ns#' term='consumer mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Google Maps and GIS</title><content type='html'>I've been busy writing articles for a number of online and offline geospatial publications. In doing the research for a GIS article, I came across the following interesting debate:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://highearthorbit.com/is-googlemaps-gis/"&gt;Andrew Turner - Is GoogleMaps GIS?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.fortiusone.com/2008/06/18/is-google-maps-gis-is-excel-sasspssstata-is-gis-in-the-cloud-the-answer/"&gt;Sean Gorman - Comment&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A good discussion. For those of us who remember the pre-Google 90's. A world dominated by desktop GIS. Things have dramatically changed. Its refreshing. The landscape is so different and, as these articles discuss, the boundaries have blurred between gis mapping and consumer mapping (GeoWeb). At the end of the day, I have always regarded myself as an interactive map developer, regardless of labels.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5117501799163457647?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5117501799163457647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5117501799163457647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5117501799163457647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5117501799163457647'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/google-maps-and-gis.html' title='Google Maps and GIS'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-2468105637550343767</id><published>2009-06-16T12:52:00.000-07:00</published><updated>2009-06-23T10:16:19.984-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rich internet interactive maps'/><title type='text'>So you want to start a Geo-Business - Demystifying the Landscape</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 9"&gt;&lt;meta name="Originator" content="Microsoft Word 9"&gt;&lt;link rel="File-List" href="file:///C:/Users/matt/AppData/Local/Temp/msoclip1/01/clip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:donotoptimizeforbrowser/&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */ @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:LegacySans-Book; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:"Arial Black"; 	panose-1:2 11 10 4 2 1 2 2 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:647 0 0 0 159 0;}  /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h1 	{mso-style-next:Normal; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:none; 	page-break-after:avoid; 	mso-outline-level:1; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:10.0pt; 	font-family:Arial; 	mso-font-kerning:0pt; 	font-weight:normal; 	text-decoration:underline; 	text-underline:single;} h2 	{mso-style-next:Normal; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:none; 	page-break-after:avoid; 	mso-outline-level:2; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:10.0pt; 	font-family:Arial; 	text-decoration:underline; 	text-underline:single;} h3 	{mso-style-next:Normal; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:none; 	page-break-after:avoid; 	mso-outline-level:3; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:10.0pt; 	font-family:Arial;} p.MsoBodyText, li.MsoBodyText, div.MsoBodyText 	{margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:9.0pt; 	font-family:"Arial Black"; 	mso-fareast-font-family:"Times New Roman"; 	mso-bidi-font-family:"Times New Roman";} p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2 	{margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:10.0pt; 	mso-bidi-font-size:9.0pt; 	font-family:Arial; 	mso-fareast-font-family:"Times New Roman";} a:link, span.MsoHyperlink 	{color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{color:purple; 	text-decoration:underline; 	text-underline:single;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */ @list l0 	{mso-list-id:90052274; 	mso-list-type:hybrid; 	mso-list-template-ids:1863866194 711769906 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l0:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l1 	{mso-list-id:640620039; 	mso-list-type:hybrid; 	mso-list-template-ids:761804078 -1883081718 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l2 	{mso-list-id:681931355; 	mso-list-type:hybrid; 	mso-list-template-ids:785397732 174084048 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l2:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l3 	{mso-list-id:1038117864; 	mso-list-type:hybrid; 	mso-list-template-ids:1366195658 1597285230 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l3:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l3:level2 	{mso-level-number-format:bullet; 	mso-level-text:o; 	mso-level-tab-stop:1.0in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Courier New"; 	mso-bidi-font-family:"Times New Roman";} @list l4 	{mso-list-id:1227955363; 	mso-list-type:hybrid; 	mso-list-template-ids:-2026991308 -381546154 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l4:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l5 	{mso-list-id:1241909603; 	mso-list-type:hybrid; 	mso-list-template-ids:1475876956 1074417516 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l5:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l6 	{mso-list-id:1845121611; 	mso-list-type:hybrid; 	mso-list-template-ids:-412605774 -1769974224 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l6:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l7 	{mso-list-id:2011714911; 	mso-list-type:hybrid; 	mso-list-template-ids:-1210551720 1356384666 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l7:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l8 	{mso-list-id:2067951798; 	mso-list-type:hybrid; 	mso-list-template-ids:-604576348 1195133510 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l8:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:78.0pt; 	mso-level-number-position:left; 	margin-left:78.0pt; 	text-indent:-42.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;  &lt;h1&gt;&lt;b&gt;&lt;span style="text-decoration: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h1&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;The foundations of some articles I am currently working on:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;u&gt;Introduction&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;It starts with a good idea, moves forward with research, a business plan, maybe financing. Then coding, testing, sales and marketing. Bingo success! &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Not so fast. Let's look a little closer. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Historically, the geo-spatial industry has been dominated by a few large companies. The majority focused on geographic information systems (GIS). With the launch of Google maps, back in November 2005, all that changed. The sleeping geo giant awoke. Suddenly slippy tiled base maps were all the rage. Clever programmers learned how to extend Googles map offering, which encouraged Google to make their API's public. Suddenly, we could all easily add maps to our web sites. Customising these maps to include markers for our favorite restaurants, places of business. Overlaying our running, cycling, hiking routes. Yahoo and Microsoft also entered the market. Mapquest extended its offering. ESRI dusted itself off and broadened its business. A revolution was under way. New geo-spatial companies suddenly started appearing. Geo-communities and conferences were enthusiastically launched. Great things were written about the future of the geo-spatial industry; growth, potential avenues of development, the expanding geo-workforce.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Geographers finally felt vindicated. No longer perceived as only 'knowers of capitals of the world'. We had made our mark. Our importance could be demonstrated. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;So the geo-revolution is here. Back to our geo-spatial business. Let's plan it here and now. See what we find.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;The Idea &lt;/h3&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;So what is our idea? Maybe we should choose something from the current hot topics and refine from there; local search, mobile, data mining. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Let’s consider the current state of play. The common consensus is that, in terms of revenue, GIS amounts to 20% of the market. Consumer mapping applications now dominate. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Let’s presume we have a really great idea (we’ll have one or two later in the article fear not). So have others had the same idea? Time for a little research.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;The Research &lt;/h3&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;We need to look at what others are doing. Maybe we can learn from them. Certainly we can see if others are doing what we propose. Define what makes us, or could make us, unique over our competition. Much of this will feed into the business plan. It may also drive us back to the drawing board. Dig deep here. Much can be learned. Time and money saved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;The Business Plan &lt;/h3&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;No need not dwell for too long here. You’ll find a multitude of resources. We will discuss two of the more important sections later. Writing a good business plan is the single most important part of building our geo-spatial business. It is the blueprint. This will guide all work as we move forward. Get advice, don’t rush, be thorough, refine where needed. A poor business plan often leads to a poor business. Start with this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;“Can you describe the business in one sentence and have others understand?”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;  &lt;h3&gt;Making Money &lt;/h3&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Hmm, making money. Why worry about this now? The ‘build it and they will come’ approach is so much easier. Leading usually to business failure! &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;This topic should take pride of place in the business plan. In the geo-space, it is a particularly well visited topic. Reviewing opinions and looking at how our (successful) competitors are making money, might prove rewarding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Three of the most common revenue models are; advertising, charging licensing fees and payment for services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;The Application &lt;/h3&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Fantastic. We have done our due diligence. A thorough pan is in place. No stone has been left unturned. At last its time to code.&lt;/span&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;But wait! The geo-technology landscape has broadened. Many choices are now available to us. We need to base our technical decisions on both requirements and cost. Development will be our most expensive pre-launch expense. So think carefully before jumping.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Let’s discuss some of the areas we need to consider. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Rich internet applications (RIA)&lt;/span&gt;&lt;/u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt; – Much referenced, but not well understood. Think about the difference between applications which run on a desktop and those which have traditionally run in a browser. Browsers can be thought of as an operating systems, far more limited and limiting than that running your PC. RIA’s bridge this gap. They extend what can be done by browser applications. From asynchronous calls to drag and drop. So what technologies are we talking about here? Best known are those which run in the Flash player - developed in Flash or Flex - and AJAX (a web standard supported by Javascript).&lt;span style=""&gt;  &lt;/span&gt;So do we wish to build an RIA mapping client?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Open source verses proprietary&lt;/span&gt;&lt;/u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt; – We’ve all probably read about the pros and cons. Certainly both have their benefits and drawbacks. Usually discussions center around cost, documentation and support. We need to consider our options carefully, not only in terms of client and server technology, but data. For GIS do we go with the ESRI ArcGIS stack or maybe look for a pure open source option? Maybe even a combination. Consumer maps could be built using the Google, Microsoft, Mapquest or Yahoo API’s or possibly Modest Maps.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;The Data&lt;/span&gt;&lt;/u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt; – We have no application without good data. But what form does that data take, where is it stored and what is the source? GIS applications usually rely on shapefiles and geodatabases. Mash ups will use a variety of sources RSS/GeoRSS, maybe RESTful calls to Flickr or Trulia. Is the data free? Do we need to gather and generate it? Where will we get our base map?&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Mobile verses Web&lt;/span&gt;&lt;/u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt; – with the launch of the IPhone, mobile application development has taken off. Most mobiles now have built in GPS. Thus the potential for mapping applications is considerable. Should we also be considering mobile as a potential platform for our application? Will our mobile application mirror our web application, or be complementary?&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;At this point we could look in more depth at the many options possible from the above discussion. To avoid this potentially long laundry list, see the following web page:&lt;br /&gt;&lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;br /&gt;&lt;span style="text-decoration: none;"&gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;a href="http://www.flexmappers.com/mapstutorial/"&gt;http://www.flexmappers.com/mapstutorial/&lt;/a&gt;&lt;span style="text-decoration: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;This walks you through some of the options.&lt;/span&gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/p&gt;  &lt;h1&gt;&lt;span style="text-decoration: none;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Getting Noticed&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;We have arrived. Under budget and proud of our, oh so useful mapping application. Now for the exciting launch and promotion. Back to our business plan, under promotion an empty space! One hopes not. Without great marketing good ideas die and great products disappear. Let’s cover briefly some of the options. Traditional promotion remains important, but here we will focus mostly on online advertising. We can break things down as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Search Engine Optimization (SEO)&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;“your goal is to rank for free within the organic search results for target keywords related to your Web site”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText2"&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 9"&gt;&lt;meta name="Originator" content="Microsoft Word 9"&gt;&lt;link rel="File-List" href="file:///C:/Users/matt/AppData/Local/Temp/msoclip1/01/clip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:donotoptimizeforbrowser/&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */ @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Arial Black"; 	panose-1:2 11 10 4 2 1 2 2 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:647 0 0 0 159 0;}  /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h1 	{mso-style-next:Normal; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:none; 	page-break-after:avoid; 	mso-outline-level:1; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:10.0pt; 	font-family:Arial; 	mso-font-kerning:0pt; 	font-weight:normal; 	text-decoration:underline; 	text-underline:single;} h2 	{mso-style-next:Normal; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:none; 	page-break-after:avoid; 	mso-outline-level:2; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:10.0pt; 	font-family:Arial; 	text-decoration:underline; 	text-underline:single;} h3 	{mso-style-next:Normal; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:none; 	page-break-after:avoid; 	mso-outline-level:3; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:10.0pt; 	font-family:Arial;} p.MsoBodyText, li.MsoBodyText, div.MsoBodyText 	{margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:9.0pt; 	font-family:"Arial Black"; 	mso-fareast-font-family:"Times New Roman"; 	mso-bidi-font-family:"Times New Roman";} p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2 	{margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	mso-layout-grid-align:none; 	text-autospace:none; 	font-size:10.0pt; 	mso-bidi-font-size:9.0pt; 	font-family:Arial; 	mso-fareast-font-family:"Times New Roman";} a:link, span.MsoHyperlink 	{color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{color:purple; 	text-decoration:underline; 	text-underline:single;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */ @list l0 	{mso-list-id:90052274; 	mso-list-type:hybrid; 	mso-list-template-ids:1863866194 711769906 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l0:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l1 	{mso-list-id:640620039; 	mso-list-type:hybrid; 	mso-list-template-ids:761804078 -1883081718 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l2 	{mso-list-id:681931355; 	mso-list-type:hybrid; 	mso-list-template-ids:785397732 174084048 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l2:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l3 	{mso-list-id:1038117864; 	mso-list-type:hybrid; 	mso-list-template-ids:1366195658 1597285230 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l3:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l3:level2 	{mso-level-number-format:bullet; 	mso-level-text:o; 	mso-level-tab-stop:1.0in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Courier New"; 	mso-bidi-font-family:"Times New Roman";} @list l4 	{mso-list-id:1227955363; 	mso-list-type:hybrid; 	mso-list-template-ids:-2026991308 -381546154 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l4:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l5 	{mso-list-id:1241909603; 	mso-list-type:hybrid; 	mso-list-template-ids:1475876956 1074417516 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l5:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l6 	{mso-list-id:1845121611; 	mso-list-type:hybrid; 	mso-list-template-ids:-412605774 -1769974224 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l6:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l7 	{mso-list-id:2011714911; 	mso-list-type:hybrid; 	mso-list-template-ids:-1210551720 1356384666 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l7:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @list l8 	{mso-list-id:2067951798; 	mso-list-type:hybrid; 	mso-list-template-ids:-604576348 1195133510 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l8:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:-; 	mso-level-tab-stop:78.0pt; 	mso-level-number-position:left; 	margin-left:78.0pt; 	text-indent:-42.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;  &lt;/p&gt;&lt;p class="MsoBodyText2"&gt;&lt;span style=""&gt;Ranking means we appear high up in a search engines listings, after a relevant keyword search. Put simply SEO is about business relevant web page content, good metadata and back links. Time need be spent generating not only a memorable business web site, but one that is optimized. Choosing appropriate keywords is a critical part of this process. There are a range of good tools to measure SEO. Google provide analytics and a toolbar, which includes the all important PageRank. There are also a variety of useful browser plug- ins including SEO for Firefox. Many write their own tools, tracking for example server and database statistics. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Social Media Optimization (SMO)&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;“&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;a form of marketing that focuses on generating traffic and buzz by participation in various social media Web sites”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;SMO is really an extension of SEO. It involves joining social networking communities. The most popular sites are as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Facebook - &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;interact with current and prospective business associates.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;MySpace – a vehicle to manage reputation, build brand recognition and promote products.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;StumbleUpon – includes a toolbar to discover and rate web pages, videos, photos. Getting your Web assets submitted to StumbleUpon is an effective way to generate traffic, and build backlinks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;MyBlogLog - &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;installed on your blog or content Web site. Shows your visitors the most recent MyBlogLog members who have accessed your Web site.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Twitter – micro-blogging or ubiquitous text messaging.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;LinkedIn – &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;business-oriented social networking&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Del.icio.us - a popular social bookmarking Web site. Allowing users to browse the bookmarks of other people with similar tastes&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;YouTube – Video posting service. &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Uploading interesting videos here can help share company information and generate interest.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Digg – news stories are submitted, then voted on, and maybe promoted to the front page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Phinn – similar to Digg but aimed at interactive marketing professionals.&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Search Engine Marketing (SEM)&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;u&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;“your goal is to pay for placement by competing with other advertisers for ranking within the sponsored results section of search results.”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText2"&gt;SEM includes pay per click (PPC) campaigns. Many suggest this is a vital part of any online promotional effort. Google AdWords is the largest and most popular PPC advertising platform. How it works is that you bid on a group of carefully chosen words. If you are successful you then generate an ad, which is carefully worded using your keywords. When a user conducts a search using any of these keywords, your ad appears on the page.&lt;span style=""&gt;  &lt;/span&gt;Each time a user clicks the ad you pay Google the fee agreed in the bid. You can target your ads in various ways. The most common form is geo-targeting, which relates nicely to our discussion. One more point. Make sure the landing page from an ad click is well constructed, contains our keywords and the text relates to the ad copy.&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoBodyText2"&gt;Other areas to consider under SEM are indexed images in Google Images and optimizing your site for the EBay and Craiglist search engines.&lt;span style=";font-family:LegacySans-Book;font-size:9;"  &gt;&lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Additional Promotional Tools&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Blogs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Blogs are a great way to share announcements, technical information, thoughts and news. Most popular blogging tools are Googles Blogger and WordPress. The goal of our company blog is to generate content that is so interesting and useful that others link to our Web site. Remember to always write search engine optimized posts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Technorati is a popular search engine for searching blogs. If you can get your blog to rank well on Technorati, you can gain considerable exposure and traffic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:LegacySans-Book;font-size:9;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Conferences&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;There are an increasing number of international geo-spatial conferences. Where relevant, you should attend as many as possible. They are great way to network, stay up to date on new developments and assess the competition. Maybe present, set up a booth, sponsor an event.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Other&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;We touched on only a few key promotional tools. There are many others; starting online forums, writing articles, to name but a few.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Pulling It all Together&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Let’s be bold. From our discussion let’s discuss starting that geo-business. For the sake of our discussion we will talk about two potential businesses; GeoCommunities, a local data consumer mapping offering and the GIS based MapMyWalk. In each case we will presume a very limited budget.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;GeoCommunities&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Our focus; the consumer market. We are thinking in terms of a local data mash up.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Our competition includes Mapquest, Google, Yahoo on a big scale. And smaller companies like Everyblock. So how are they making money and what makes our offering unqiue?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Everyblock is in an interesting position. They have built a hyperlocal search site providing news and other relevant local data. Their revenue model is still be decided, but likely to be ad based. Their code base will open sourced in June 2009.&lt;span style=""&gt;  &lt;/span&gt;A potentially challenging event. The search based companies use purely ad driven revenue models. They include ads within their search page. Thus opening local search in Mapquest will show ads intermingled with search content. Increasingly these companies are looking to make ads relevant to a users search. Thus a restaurant search in San Jose will also show ads for local ATMs and movie theaters. Maybe we should look more closely here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Let’s focus on our own local market. The place we know best. Can we provide data that will be useful to the local community? Maybe data we gather, or that out of the reach of the big search engines. We might encourage our growing user base to provide data on local events, recommendations, concerns. Let’s go with an ad based revenue model for our business. But focus on local ads combined with local content. Thus a search for preschools, will map all in the defined area, and include ads for select paid preschool advertisers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;We want the application to be as user friendly as possible. A rich Internet mapping application is our first choice. Thus we will be using Adobe Flex 4 to build our user interface, purely based on familiarity. Given our budget we favor open source. The Flex SDK is open source, though the IDE is not. Modest Maps will be our Flex mapping library. For our base maps we will use roads data provided by Open StreetMap. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;It’s worth mentioning the API’s provided by the likes of Google. These provide excellent tools, making development quick and easy. There are two problems though. Their API is locked. Meaning customization is impossible. Also, and of greater significance, their (free) data may at some future date carry advertising. Thus zooming to a point of interest may also reveal markers for ‘the best pizza joint in town’! Potentially a big turn off for users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Much of our overlay data will be pulled from RSS/GeoRSS feeds and RESTful calls. But we will need to store and update data in a database. Again turning to open source, we will use MySQL. There are other options, notably Postgres. Since we will be using PHP in the server layer, running on Apache, this integrates well with MySQL. PHP will both help overcome some of the security issues we encounter with the Flash player, and will interact with the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;So the coding begins. A test application is built:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;a href="http://www.flexmappers.com/myadvancedmodestmap/"&gt;http://www.flexmappers.com/myadvancedmodestmap/&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Note, a tutorial on how to start building a mapping application using the architecture proposed here is available via the Adobe Flex Developers Center or the flexmappers blog.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;MapMyWalk&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Our second company will be built using GIS. The company specializes in route mapping, but aimed at pedestrians. For example, a tourist visiting an unfamiliar city, wishing to see some of the historical city buildings. Our service will allow users to either map a route themselves or select from a list. Points of interest (POI) on routes will be included. Routes stored in our web application will also be available via a mobile device.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;How will we make money? We will use a subscription model. Thus, when visiting our Web site, users will be able to create routes and view a subset of predefined routes for free. A subscription will give them every predefined route for available cities and, most importantly, the ability to save ‘myroutes’. Accessing these routes via their mobiles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Let’s look at our competition. Schmap are doing something similar to what we are proposing. So how will we be unique? In a number of ways. First we will actually map (shortest) routes and not just simply add map markers. Second, our UI will be richer and more interactive. Third, we will use a highly detailed base map.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Let’s jump ahead. So we’ve written our comprehensive business plan. Included a thorough promotional campaign. It’s time to think about the application. The ESRI ArcGIS stack is certainly an option we should seriously consider. ESRI have written excellent RIA API’s and ArcGIS can handle all our routing needs. But, since we are tight on budget, we will first look at our open source options. One of the more popular open source GIS stacks has been constructed using Openlayers, Geoserver, GeoWebCache, PostGIS and Postgres. Data is a key consideration. One of the factors which makes us stand out is our detailed base maps. It’s likely we will need to buy this data. Companies like UnitedMaps provide data with this level of detail. We will need to budget for this expense.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;There is a very active community using the various open source components in this stack. A number of the core developers for GeoServer and PostGIS work for a group called OpenGeo, and provide excellent support. We will need to work a little harder to get our stack capable of providing our routing needs. For example, the use of the pg_routing extension for Postgres.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;We would need another article to walk through these development steps in more detail. One last thing to add. Mapping options on mobiles remain somewhat limited. Phonegap is an open source project of potential use. The Actionscript 2.0 library of Modest Maps can be developed in Flash Lite and runs on any phone which has the Flash player installed. Lastly, Nokia are about to release a mapping component within OVI. This may also prove useful, as long as we can access our server components. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Promotion, of course, will be crucial to the success of both companies. After all, we won’t have a highly paid sales team. A key component will be attracting visitors to out web site. That’s where our carefully planned SEO, SMO and SEM campaigns will be essential.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Summary&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;This article has walked you through setting up a geo-business. The market has broadened. Offering opportunity and increased complexity. Hopefully, this discussion has helped demystify the current landscape.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;references&gt;&lt;/references&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;References&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;http://www.flexmappers.com/mapstutorial&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-2468105637550343767?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/2468105637550343767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=2468105637550343767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2468105637550343767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2468105637550343767'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/normal-0-so-you-want-to-start-geo.html' title='So you want to start a Geo-Business - Demystifying the Landscape'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-4010120700122365798</id><published>2009-06-10T15:16:00.000-07:00</published><updated>2009-06-13T07:57:56.798-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AMEE'/><category scheme='http://www.blogger.com/atom/ns#' term='carbon emmissions'/><category scheme='http://www.blogger.com/atom/ns#' term='custom maps'/><category scheme='http://www.blogger.com/atom/ns#' term='DMSolutions'/><title type='text'>Interesting API's</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iFTA3A35vVc/SjAzbHXQg4I/AAAAAAAAAAc/yWY2nF_Crus/s1600-h/mapsherpa.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 274px;" src="http://3.bp.blogspot.com/_iFTA3A35vVc/SjAzbHXQg4I/AAAAAAAAAAc/yWY2nF_Crus/s320/mapsherpa.png" alt="" id="BLOGGER_PHOTO_ID_5345829298614862722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I came across a couple of interesting pieces of work today. The first is by those great folks at DMSolutions. They are the core maintainers of MapServer, do some great work in their own right and have the coolest CEO in Dave McIlhagga. They are about to launch &lt;a href="http://www.mapsherpa.com/"&gt;MapSherpa&lt;/a&gt;, a nice new way to create custom maps online. They are opening the API to developers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amee.com/"&gt;AMEE&lt;/a&gt;, a British based company, also have an open API. Their aim:&lt;br /&gt;&lt;br /&gt;"to map, measure and track all the carbon and energy data on Earth"&lt;br /&gt;&lt;br /&gt;I will be taking a look at each. Maybe hooking a Flex client on the front end. Some interesting possibilities ..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-4010120700122365798?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/4010120700122365798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=4010120700122365798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4010120700122365798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4010120700122365798'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/potentially-interesting-apis.html' title='Interesting API&apos;s'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iFTA3A35vVc/SjAzbHXQg4I/AAAAAAAAAAc/yWY2nF_Crus/s72-c/mapsherpa.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-6849406418266182989</id><published>2009-06-10T06:25:00.001-07:00</published><updated>2009-06-10T06:26:38.569-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='US government'/><category scheme='http://www.blogger.com/atom/ns#' term='public data'/><title type='text'>US Govt and Geospatial</title><content type='html'>Pulled the following from Ed Parson blog:&lt;br /&gt;&lt;br /&gt;From the FAQ of the Obama administrations new website data.gov launched today..&lt;br /&gt;&lt;br /&gt;“What are some resources for viewing geospatial datasets?&lt;br /&gt;&lt;br /&gt;The geospatial datasets available on Data.gov are provided in up to three open file formats: Keyhole Markup Language (KML), Compressed Keyhole Markup Language (KMZ) and ESRI Shapefile. These datasets are all viewable in many commercial and freely available applications. More information about Geographic Information System (GIS) software can be found by doing a web search.”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-6849406418266182989?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/6849406418266182989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=6849406418266182989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6849406418266182989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6849406418266182989'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/us-govt-and-geospatial.html' title='US Govt and Geospatial'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-2849576991201411268</id><published>2009-06-09T16:44:00.000-07:00</published><updated>2009-06-09T16:56:51.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='money'/><category scheme='http://www.blogger.com/atom/ns#' term='mash up.'/><category scheme='http://www.blogger.com/atom/ns#' term='challenges'/><title type='text'>Making Money from Map Mash Ups</title><content type='html'>Oh, the so often discussed Where 2.0 topic. I found an interesting article on this subject on CNet. Its a little dated, but worth reading:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.cnet.com/Mashups-for-fun--and-profit/2100-1032_3-6062563.html?tag=st.prev"&gt;Mashups for fun and profit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Stand out quotes:&lt;br /&gt;&lt;br /&gt;"they're fairly easy to create, and it's not that difficult for someone to duplicate the more successful ones ... You are in fact a reseller of that (mashed up) content."&lt;br /&gt;&lt;br /&gt;"visualizing houses or jobs on an online map is merely a feature. But if a Web site shows home values in low-crime areas within a certain price range and with high-scoring elementary schools within 30 minutes of a workplace, then that is an application that could conceivably be monetized"&lt;br /&gt;&lt;br /&gt;"The challenge with a mashup is it may not fully hold its own destiny. They are somewhat at the mercy of the open components that the Googles, Yahoos and Microsofts have provided"&lt;br /&gt;&lt;br /&gt;Hmmm, worth mulling over me thinks...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-2849576991201411268?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/2849576991201411268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=2849576991201411268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2849576991201411268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2849576991201411268'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/making-money-from-map-mash-ups.html' title='Making Money from Map Mash Ups'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8260707069632109706</id><published>2009-06-09T14:11:00.001-07:00</published><updated>2009-06-09T16:30:13.434-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='United Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Modets maps'/><category scheme='http://www.blogger.com/atom/ns#' term='ArcGIS'/><title type='text'>Modest Maps and ArcGIS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iFTA3A35vVc/Si7QuHSIMZI/AAAAAAAAAAU/HDIBBV3yxnk/s1600-h/unitedmaps.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 181px;" src="http://1.bp.blogspot.com/_iFTA3A35vVc/Si7QuHSIMZI/AAAAAAAAAAU/HDIBBV3yxnk/s320/unitedmaps.png" alt="" id="BLOGGER_PHOTO_ID_5345439298382999954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I've been looking into hooking the Modest maps Flex client to ArcGIS. Just finished a basic demo for United maps.&lt;br /&gt;&lt;br /&gt;I edited a dataprovider.as posted on the modest maps discussion board. Here is the code:&lt;br /&gt;&lt;br /&gt;package com.modestmaps.mapproviders&lt;br /&gt;{&lt;br /&gt;import com.modestmaps.core.Coordinate;&lt;br /&gt;import com.modestmaps.mapproviders.AbstractMapProvider;&lt;br /&gt;import com.modestmaps.mapproviders.IMapProvider;&lt;br /&gt;import com.modestmaps.geo.LinearProjection;&lt;br /&gt;import com.modestmaps.geo.Transformation;&lt;br /&gt;&lt;br /&gt;public class EsriMapProvider extends AbstractMapProvider implements IMapProvider&lt;br /&gt;{&lt;br /&gt;public function EsriMapProvider(minZoom:int=MIN_ZOOM, maxZoom:int=MAX_ZOOM)&lt;br /&gt;{&lt;br /&gt; super(minZoom, Math.min(20, maxZoom));&lt;br /&gt;&lt;br /&gt;  var t:Transformation = new Transformation(0.3183098861837907, 0, 1, 0, -0.3183098861837907, 0.5);&lt;br /&gt; __projection = new LinearProjection(0, t);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; override public function sourceCoordinate(coord:Coordinate):Coordinate&lt;br /&gt;{&lt;br /&gt; var tilesWide:int = Math.pow(2, coord.zoom+1);&lt;br /&gt;&lt;br /&gt; var wrappedColumn:Number = coord.column % tilesWide;&lt;br /&gt;&lt;br /&gt; while (wrappedColumn &lt; 0)&lt;br /&gt; {&lt;br /&gt;  wrappedColumn += tilesWide;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;return new Coordinate(coord.row, wrappedColumn, coord.zoom);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public function toString():String&lt;br /&gt;{&lt;br /&gt; return "ESRI";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public function getTileUrls(coord:Coordinate):Array&lt;br /&gt;{&lt;br /&gt; //return [ "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer/tile/" + getZoomString(sourceCoordinate(coord)) ];&lt;br /&gt; return [ "http://..../ArcGIS/rest/services/MUC_Basemap/MapServer/tile/" + getZoomString(sourceCoordinate(coord)) ];&lt;br /&gt; //return [ "http://..../umapserver/mapdijits/config/proxy.ashx?http://..../ArcGIS/rest/services/MUC_Basemap/MapServer/tile/" + getZoomString(sourceCoordinate(coord)) ];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected function getZoomString( coord : Coordinate ) : String&lt;br /&gt;{&lt;br /&gt; var sourceCoord:Coordinate = sourceCoordinate(coord)&lt;br /&gt; return (sourceCoord.zoom) + "/" + (sourceCoord.row) + "/" +(sourceCoord.column) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8260707069632109706?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8260707069632109706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8260707069632109706' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8260707069632109706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8260707069632109706'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/modest-maps-and-arcgis.html' title='Modest Maps and ArcGIS'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iFTA3A35vVc/Si7QuHSIMZI/AAAAAAAAAAU/HDIBBV3yxnk/s72-c/unitedmaps.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1751052060636052748</id><published>2009-06-09T13:44:00.001-07:00</published><updated>2009-06-09T14:11:08.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='local search'/><category scheme='http://www.blogger.com/atom/ns#' term='Where 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='3-D.'/><title type='text'>Where 2.0 Thoughts 2</title><content type='html'>Still mulling over the conference. Local search and mobile stick in my mind most. As Paul Ramsey (see earlier entry) mentioned, money and maps remains foremost in peoples minds. It still feels as though people are scratching around for good ideas. The big boys continue to lead the way. With but a few upstarts joining the exclusives party. For me chatting with attendees was my highlight. Half the expected number attended this year (500 I believe), which made for easier conversations and a more personal atmosphere. &lt;br /&gt;&lt;br /&gt;I was surprised by the number of non-geo people there. There is certainly a wide appeal to mapping and the recognised growth potential.&lt;br /&gt;&lt;br /&gt;3-D was much mentioned also at the conference. I still have mixed feelings about 3-D. Seems like eye candy to me. Like VRML. I think real apps will come out of this. But I care little about seeing a distorted map of my neighbourhood. Nothing I saw at Where made me change my opinion. Let's make useful apps which are also just cool looking.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1751052060636052748?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1751052060636052748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1751052060636052748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1751052060636052748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1751052060636052748'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/where-20-thoughts-2.html' title='Where 2.0 Thoughts 2'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8800156997856688630</id><published>2009-06-09T13:27:00.000-07:00</published><updated>2009-06-25T13:30:27.871-07:00</updated><title type='text'>Mapping Presentation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iFTA3A35vVc/Si7IJaSeYjI/AAAAAAAAAAM/w4nfaiQHYes/s1600-h/mappresie.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 252px;" src="http://4.bp.blogspot.com/_iFTA3A35vVc/Si7IJaSeYjI/AAAAAAAAAAM/w4nfaiQHYes/s320/mappresie.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345429871736545842" /&gt;&lt;/a&gt;&lt;br /&gt;I've just finished work on a presentation on 'Internet mapping application development options'. So open source and proprietary tools currently available. It is an ever more confusing landscape.&lt;br /&gt;&lt;br /&gt;The presentation hopefully helps to demystify things somewhat. See:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flexmappers.com/mapstutorial"&gt;http://www.flexmappers.com/mapstutorial&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8800156997856688630?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8800156997856688630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8800156997856688630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8800156997856688630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8800156997856688630'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/mapping-presentation.html' title='Mapping Presentation'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iFTA3A35vVc/Si7IJaSeYjI/AAAAAAAAAAM/w4nfaiQHYes/s72-c/mappresie.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5026712861481509332</id><published>2009-06-09T13:23:00.000-07:00</published><updated>2009-06-09T13:40:41.476-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crime spotting'/><category scheme='http://www.blogger.com/atom/ns#' term='stamen'/><title type='text'>Stamen at it Again</title><content type='html'>Mike and the Stamen team are showing us all the way again. They have updated their crime spotting site. It is just brilliant I think; design, interactivity, the lot.&lt;br /&gt;Take a look at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oakland.crimespotting.org/"&gt;http://oakland.crimespotting.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5026712861481509332?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5026712861481509332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5026712861481509332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5026712861481509332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5026712861481509332'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/stamen-at-it-again.html' title='Stamen at it Again'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-635540603841012697</id><published>2009-06-03T06:22:00.000-07:00</published><updated>2009-06-09T13:27:34.501-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Where 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Ramsey'/><title type='text'>Where 2.0 Reflections 1</title><content type='html'>Just read an interesting article by Paul Ramsey on the Where conference at:&lt;br /&gt;&lt;br /&gt;http://www.directionsmag.com/article.php?article_id=3167&lt;br /&gt;&lt;br /&gt;I'll give my thoughts in another post. Paul's themes:&lt;br /&gt;&lt;br /&gt;much chatter on monetize and mobile ... twitter ... so many geolocation API's ... data mining ... many predictable and dull applications&lt;br /&gt;&lt;br /&gt;The quote I most liked was from IRC. Paul paraphrases:&lt;br /&gt;&lt;br /&gt;"location based social networking start-ups are all solving a problem (keeping in touch with, and meeting up with, a diverse network of friends in a big urban area) that is of greatest importance to a fairly narrow cultural niche. Why are we devoting so much venture capital to solving the social problems of young white collar professionals who have recently moved to a new city?"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-635540603841012697?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/635540603841012697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=635540603841012697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/635540603841012697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/635540603841012697'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/where-20-reflections-1.html' title='Where 2.0 Reflections 1'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1245221444924785851</id><published>2009-06-02T18:17:00.000-07:00</published><updated>2009-06-09T13:41:35.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='interactive map'/><category scheme='http://www.blogger.com/atom/ns#' term='mash up.'/><category scheme='http://www.blogger.com/atom/ns#' term='ski resorts'/><title type='text'>FlakeFinder</title><content type='html'>I'm so behind on blog updates. Today is a multiple entry day. I've been working with Leif at Arkade Magazine; its a free snowboarding magazine distributed in the Western US: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.arkademag.com"&gt;http://www.arkademag.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Leif wanted to add an interactive map to his site; one which shows ski resort locations and links in resort specific weather, webcams, video, trail maps, up to date snow conditions and depths. The site was launched in January see:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flakefinder.com"&gt;http://www.flakefinder.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's work in progress. But this is an open source mash up. It would be very cool done on an international scale ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1245221444924785851?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1245221444924785851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1245221444924785851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1245221444924785851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1245221444924785851'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/flakefinder.html' title='FlakeFinder'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-3535493079593943234</id><published>2009-06-02T18:01:00.000-07:00</published><updated>2009-06-09T13:42:27.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex 4'/><category scheme='http://www.blogger.com/atom/ns#' term='Modest Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='article'/><title type='text'>Adobe Flex Developer Center</title><content type='html'>I'm about to be published. No not a book. But an article. Adobe are assessing a first draft of an article I wrote using the soon to be released Flex 4 framework. Its an introduction to developing a rich internet mapping application using Modest Maps. The release date is mid July. I'll provide a link closer to this date. The article links to running versions of the applications, the code can be also downloaded from here. Take a sneak peek at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flexmappers.com/mymodestmap"&gt;http://www.flexmappers.com/mymodestmap&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flexmappers.com/myadvancedmodestmap"&gt;http://www.flexmappers.com/myadvancedmodestmap&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-3535493079593943234?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/3535493079593943234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=3535493079593943234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3535493079593943234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3535493079593943234'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/adobe-flex-developer-center.html' title='Adobe Flex Developer Center'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-3616208201405478563</id><published>2009-06-02T17:47:00.000-07:00</published><updated>2009-06-02T17:57:54.613-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Where 2.0'/><title type='text'>Where 2.0</title><content type='html'>I'm just back from the Where 2.0 conference. Its been over 2 years since I have attended. This years was particularly excellent. It is still relatively small. And attended by some of the key people in the industry. They are all very approachable. So its a great chance to chat. The videos of presentations are all available on the web site at: &lt;br /&gt;&lt;br /&gt;http://en.oreilly.com/where2009&lt;br /&gt;&lt;br /&gt;The videos give a feel for trends. I'll give more thoughts on the conference and some of these trends in subsequent posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-3616208201405478563?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/3616208201405478563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=3616208201405478563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3616208201405478563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/3616208201405478563'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2009/06/where-20.html' title='Where 2.0'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8685754182558452165</id><published>2008-08-20T13:10:00.000-07:00</published><updated>2009-06-09T13:43:08.850-07:00</updated><title type='text'>CottonWood Heights Facilities Using Modest Maps</title><content type='html'>I've spent some time looking at and working with Modest Maps. Its a terrific base map library written in AS3 which accesses a range of map servers including Yahoo, Google and Microsoft Virtual Earth. I wanted to test out the new functionality of Modest maps after Tom Cardens rewrite. I'm tempted to approach the city of Cottonwood Heights to see if they wanted to incorporate this type of mapping into their web site. Anyhow the link is at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flexmappers.com/cottonwood/"&gt;http://www.flexmappers.com/cottonwood/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8685754182558452165?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8685754182558452165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8685754182558452165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8685754182558452165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8685754182558452165'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/08/cottonwood-heights-facilities-using.html' title='CottonWood Heights Facilities Using Modest Maps'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8470504889073526960</id><published>2008-07-21T14:32:00.000-07:00</published><updated>2008-07-22T05:55:11.355-07:00</updated><title type='text'>Municipal Mapper</title><content type='html'>I sometimes visit the local city web page here in Salt Lake. I live in Cottonwood Heights and their web site http://cottonwoodheights.utah.gov/ &lt;br /&gt;is nicely designed. They even have some simple interactive mapping functionality added. But the site is filled with location references from events, to library locations, to proposed areas for rezoning. All beg for maps. Similarly no feedback mechanism is in place to allow residents to provide feedback on location specific areas of concern or interest. I put this interactive map together quickly using Flex 3 and Mapserver. It allows users to zoom and pan the map. It also includes a checkbox options to show, on the map, the location of schools etc. Finally, it also allows users to enter their own information such as races, festivals etc. These are dynamically added to the map with a description provided by the user. I used the geocoder provided by Google to convert the entered address to lat/long. Here is a video of the application:&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1353882&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1353882&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1353882?pg=embed&amp;sec=1353882"&gt;Flex Map using Mapserver&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user609635?pg=embed&amp;sec=1353882"&gt;matt sheehan&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;sec=1353882"&gt;Vimeo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8470504889073526960?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8470504889073526960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8470504889073526960' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8470504889073526960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8470504889073526960'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/07/municipal-mapper.html' title='Municipal Mapper'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-2418643469012826079</id><published>2008-07-21T14:18:00.000-07:00</published><updated>2008-07-22T05:55:47.842-07:00</updated><title type='text'>Geodocumentary</title><content type='html'>I was watching the superb videos by Terry Jones (of Monty Python fame) on the Crusades recently. It struck me that what would make these videos even better would be a map which tracked the places mentioned. Maybe even an interactive map. I messed with this idea and created a prototype of geodocumentary. The video was chosen randomy (it is actually one of the funniest scenes from Only Fools and Horses). Cue points are used to add a georeferenced point to the map showing the mentioned location. Here is a video of the application:&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1357544&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1357544&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1357544?pg=embed&amp;sec=1357544"&gt;Flex and Video&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user609635?pg=embed&amp;sec=1357544"&gt;matt sheehan&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;sec=1357544"&gt;Vimeo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-2418643469012826079?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/2418643469012826079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=2418643469012826079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2418643469012826079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2418643469012826079'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/07/flex-video.html' title='Geodocumentary'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1018518501399820481</id><published>2008-07-21T14:05:00.001-07:00</published><updated>2008-07-22T05:56:19.891-07:00</updated><title type='text'>Flash and Flex mapping fun</title><content type='html'>The two applications below are more mapping past work. In 2002 I built a Flash mapping application which was built using Flash, Flash remoting, Java, ArcIMS and ArcSDE/Oracle. I built the tool from the ground up. It was fun and my first taste of Flash (with its challenges for application development without animation). The map tool provided the usaul zoom, pan etc. Also extraction. Here is a video of the application:&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1353928&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1353928&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1353928?pg=embed&amp;sec=1353928"&gt;Flash Map with Java&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user609635?pg=embed&amp;sec=1353928"&gt;matt sheehan&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;sec=1353928"&gt;Vimeo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One more from the archives. Built using Flex 2 and using SVG data. Its a ski map application which allows users to pan and zoom. I blended in georeferenced imagery. For me the coolest part of the application is the video. I took a video skiing down a run and manipulated the resulting file to add cue points and converted to FLV. So as the video plays georeferenced points appears on the map tracking the skiers progress. Here is a video of the application:&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1353986&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1353986&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1353986?pg=embed&amp;sec=1353986"&gt;Ski Utah Map using Flex and SVG&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user609635?pg=embed&amp;sec=1353986"&gt;matt sheehan&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;sec=1353986"&gt;Vimeo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1018518501399820481?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1018518501399820481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1018518501399820481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1018518501399820481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1018518501399820481'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/07/flash-and-flex-mapping-fun.html' title='Flash and Flex mapping fun'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-2042631966289912302</id><published>2008-07-21T13:58:00.001-07:00</published><updated>2008-07-22T05:56:42.953-07:00</updated><title type='text'>Flex Map tool building</title><content type='html'>Here is an early experiment done with Flex 2. Mostly it is a simple image display tool. But PDf generation and historic data is included. Doing this work made me realise the power of Flex. Here is a video of the application.&lt;br /&gt;  &lt;br /&gt;&lt;object width="400" height="300"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1357597&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1357597&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1357597?pg=embed&amp;sec=1357597"&gt;Flex Design 3&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user609635?pg=embed&amp;sec=1357597"&gt;matt sheehan&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;sec=1357597"&gt;Vimeo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As an add on to this work I was asked to create a dynamic map application. In the end I built the tool from scratch; using a combination of Flex 2, PHP and Mapserver. The cool piece for me was having PostGIS ad Postgres feed the data to the application. There was historic data which made things a little tricky, since I had to separate the spatial and attribute data into separate tables.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1353971&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1353971&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1353971?pg=embed&amp;sec=1353971"&gt;Flex Map with PHP and Postgres/PostGIS&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user609635?pg=embed&amp;sec=1353971"&gt;matt sheehan&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;sec=1353971"&gt;Vimeo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-2042631966289912302?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/2042631966289912302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=2042631966289912302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2042631966289912302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/2042631966289912302'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/07/here-is-early-experiment-done-with-flex.html' title='Flex Map tool building'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1456927513220500242</id><published>2008-07-21T13:51:00.000-07:00</published><updated>2008-07-22T05:57:03.708-07:00</updated><title type='text'>Data Centre Visualisation</title><content type='html'>I noticed recently the use of Vimeo on a number of web sites. Rather cool being able to embed video into you web page. I've uploaded some of screen capture videos of some of my work. Text comes out poorly but it is still rather nice. Here is a none mapping application I put together for a data centre visualisation. Here is a video of the application:&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1363500&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1363500&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1363500?pg=embed&amp;sec=1363500"&gt;Flex Data Centre Visualisation&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user609635?pg=embed&amp;sec=1363500"&gt;matt sheehan&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;sec=1363500"&gt;Vimeo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1456927513220500242?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1456927513220500242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1456927513220500242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1456927513220500242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1456927513220500242'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/07/data-centre-visualisation.html' title='Data Centre Visualisation'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-7661700207190423301</id><published>2008-02-28T12:17:00.000-08:00</published><updated>2008-07-22T05:57:28.537-07:00</updated><title type='text'>Flex-Google Maps Collaboration</title><content type='html'>Another one of my favourite bloggers; Christophe Coenraets. Here he has created In Flex a Google maps mash up:&lt;br /&gt;http://coenraets.org/blog/2006/06/&lt;br /&gt;google-maps-collaboration-using-flex-flash-media-server-&lt;br /&gt;and-ajax-updated-for-flex-2-ga/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-7661700207190423301?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/7661700207190423301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=7661700207190423301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7661700207190423301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/7661700207190423301'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/02/flex-google-maps-collaboration.html' title='Flex-Google Maps Collaboration'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-1661108764486781904</id><published>2008-02-28T12:16:00.000-08:00</published><updated>2008-02-28T12:20:53.114-08:00</updated><title type='text'>Thematic mapping</title><content type='html'>Peter Ent has a terrific blog. Here he has put together a thematic map in Flex 2:&lt;br /&gt;&lt;br /&gt;http://weblogs.macromedia.com/pent/archives/&lt;br /&gt;2007/02/usa_map_for_fle.cfm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-1661108764486781904?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/1661108764486781904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=1661108764486781904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1661108764486781904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/1661108764486781904'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/02/thematic-mapping.html' title='Thematic mapping'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-6667946919509617261</id><published>2008-02-28T11:30:00.000-08:00</published><updated>2008-02-28T12:09:19.622-08:00</updated><title type='text'>Internet Mapping .. the players</title><content type='html'>Let's list some of the Internet Mapping options:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hard core GIS - ArcGIS server&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;        expensive, tonnes of overhead, administrative hell, need for application server.&lt;/li&gt;&lt;li&gt;        tools for web application generation, customisable components.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;GIS and image generation - Mapserver&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;       reduced GIS functionality.&lt;/li&gt;&lt;li&gt;        free, easy to configure and administer, only need web server.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Interactive maps 1 - Flash/Flex 2&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;       need to build from the ground up all tools and components, resolution.&lt;/li&gt;&lt;li&gt;        very easy to take vector or bitmap images and create unique interactive maps.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Interactive maps 2 - Zoomify&lt;br /&gt;&lt;br /&gt;Proprietary Mapping API's - Yahoo, Google, ESRI arcWeb&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;        they control/track usage, they own the API and can change it at will, they own the data and can add any elements they wish (eg. advertising).&lt;/li&gt;&lt;li&gt;        quick and easy to build a data populated fully interactive map.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Thematic maps - Flash/Flex2&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;        Combining Flash swf inside Flex 2 (often best way) can be challenging,  map itself need be broken into separate interactive objects which need to be pregenerated.&lt;/li&gt;&lt;li&gt;With Flex 2 charting these are very powerful ways to convey information.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Multimedia maps - Flash/Flex 2&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;         Pulling all assets (images, video, audio) together.&lt;/li&gt;&lt;li&gt;            Another powerful way to convey information.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-6667946919509617261?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/6667946919509617261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=6667946919509617261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6667946919509617261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/6667946919509617261'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/02/internet-mapping-players.html' title='Internet Mapping .. the players'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-8429711836546961999</id><published>2008-02-28T11:10:00.000-08:00</published><updated>2008-02-28T12:12:05.423-08:00</updated><title type='text'>Internet Mapping ..  some thoughts</title><content type='html'>I come from a GIS background. In 1997 I built a mapObjects IMS application. It was one of the first Internet GIS products. Those were the early days. Later I built an application using ArcIMS. Again ArcIMS had just been released. Working on this project I realised in large part we were using spatial (GIS) servers as image generators.  I'll not go into the ins and outs of GIS suffice it to say GIS is a powerful spatial analysis tool. Using the cost and overhead of spatial servers to simply regenerate a new map image, struck me as a little daft.  There are many ways to show maps on the web, but often people fall back on expensive spatial servers (sometimes it makes sense often it doesn't). It started me on this ongoing adventure into Internet mapping.&lt;br /&gt;In Flex 2 I've chosen one of the newest web development tools out there. Building mapping web sites has never been more fun, flexible and exciting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-8429711836546961999?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/8429711836546961999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=8429711836546961999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8429711836546961999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/8429711836546961999'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/02/i-come-from-gis-background.html' title='Internet Mapping ..  some thoughts'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-5208883061129584438</id><published>2008-02-05T08:57:00.001-08:00</published><updated>2008-02-09T07:45:42.128-08:00</updated><title type='text'>Yahoo Aerial Map</title><content type='html'>I've been interested for some time in how to grab Yahoo map tiles. Starting with a lat long envelope how do we find the relevant tiles and display them? Further how do we pan, zoom and add overlays. Modest maps do a nice job using various providers (openstreemap, google etc). But working through their code base has proved, even for experienced developers, somewhat challenging.  I decided to build from scratch a simple Flex 2 map viewer using Yahoo Aerial tiles.  The results can be viewed at:&lt;br /&gt;&lt;br /&gt;http://www.flexmappers.com/yahoo_maps/&lt;br /&gt;&lt;br /&gt;Its mostly a proof of concept; pan and centred zooms still need some work. But it proved a much easier task than expected. Flex simply calculates the tiles needed, requests these tiles and displays them in a Sprite grid. Overlays are added to individual tile sprites after calculating the tile and pixel position within the specific tile.&lt;br /&gt;--Matt&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-5208883061129584438?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/5208883061129584438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=5208883061129584438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5208883061129584438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/5208883061129584438'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/02/yahoo-aerial-map.html' title='Yahoo Aerial Map'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-4988475105776455866</id><published>2008-02-05T08:55:00.001-08:00</published><updated>2008-02-28T08:01:52.468-08:00</updated><title type='text'>Building Flex 2 Map Applications</title><content type='html'>&lt;p&gt;&lt;br /&gt;An article I wrote, bit wordy but worth posting ....&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Web mapping applications have come a long way over the last few years. The market has split into numerous segments. These include: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;GIS based applications relying on proprietary products such as those from ESRI, notably arcIMS and arcGIS, and open source alternatives including Mapserver. &lt;/li&gt;&lt;li&gt;Sites built around Google maps, Microsofts Virtual Earth and Yahoo Maps.    &lt;/li&gt;&lt;li&gt;Flash based sites which run in the client using high definition map imagery.     &lt;/li&gt;&lt;/ul&gt; When talking to clients about their mapping needs and tools to satisfy this need we have found much confusion. Is this to be an interactive mapping application or one which provides GIS functionality? More importantly is the difference clearly understood. Google provide a mapping application, ESRI are fundamentally a GIS company. Do clients want the expense and overhead of ESRI products if they only want to display maps (don't get us wrong we love the ESRI product suite)? So purpose, understanding, budget and maintenance are all things to consider. Another is client verses server. We started working with Flash and Flex 2 because we could create nice interfaces, we liked and recognised the power of actionscript and lastly we knew how much we could (potentially) do without needing server calls. The latter, as we will outline, has is own limitations but makes for a remarkably fast application. &lt;p&gt;    &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Pure GIS&lt;/strong&gt;&lt;/p&gt; So what is the purpose of the Web site? Are you serving simple interactive web images, or is this a web site whose purpose is to provide spatial analysis. If it is the latter then advanced spatial servers are a requirement. ESRI are the major vendors of GIS software; ArcIMS and ArcGIS, are their two flagships. So buffering, modelling, layer query, data extraction and much more are possible with these products. ArcGIS is a complex beast to install and administer, its also expensive. But it provides extensive GIS functionality out of the box and is highly customisable (through arcObjects). Simple mapping applications are easy and quick to build using .NET (Java is another development option but is poorly supported).&lt;br /&gt;&lt;b&gt;Thoughts and Observations&lt;/b&gt;&lt;br /&gt;From our experience most mapping web sites use backend (GIS) servers to simply generate map imagery. Thus a zoom changes the map envelope (extent) and thus requires the regeneration of the map image with the new extent and new resolution. To pay for proprietary software and simply use it for image generation is, in our view, daft. The open source route through Mapserver would be a better way to go (which also offers GIS functionality). But if you are developing a high level GIS applications (and have deep pockets), then the ESRI suite is an excellent option.&lt;br /&gt;&lt;br /&gt;      &lt;p&gt;&lt;strong&gt; Flash Maps&lt;/strong&gt;&lt;/p&gt;    There are a range of excellent mapping sites on the web which use Flash. &lt;a href="http://www.flashmaps.com/"&gt;Flashmaps&lt;/a&gt; generate a range of interactive flash based maps commercially. One of the earliest examples we found on the web of a Flash GIS map site was the &lt;a href="http://www.ci.davis.ca.us/gis/streetmap/index.cfm"&gt;Davis streetmap&lt;/a&gt;. Inspired by this work we at &lt;a href="http://www.flexmappers.com/"&gt;Flexmappers&lt;/a&gt; built a &lt;a href="http://svinetfc4.fs.fed.us/vectorgateway/index.html"&gt;Spatial Data Clearinghouse&lt;/a&gt; for the US Forest Service (USFS). The success of this application led to other similar USFS projects including &lt;a href="http://199.141.1.21/NPSG/dynamicmap.html"&gt;the NPSG dynamic map.&lt;/a&gt;   &lt;br /&gt;&lt;b&gt;Thoughts and Observations&lt;/b&gt;&lt;br /&gt;Flash runs on the client in a browser plug in (the flash player). Browser compatibility is not an issue, but users will need the appropriate plug in, or player, to run the Flash application. Developers have the option to bundle all data into the downloaded SWF. Thus the initial application loading is slower, but map interaction then demands no server calls. Flashmaps take this approach for some of their mapping applications. You can also use Flash Remoting to make server calls. Thus the Spatial Data Clearinghouse communicates with ArcIMS (via Java) to provide map interaction and data extraction. So what are the disadvantages? Flash was initially developed as an animation tool. Though Actionscript 2.0 was added and is powerful for application development. Flash remains best for animation development.&lt;br /&gt;&lt;br /&gt;  &lt;p&gt;&lt;strong&gt; Flex 2 Maps&lt;/strong&gt;&lt;/p&gt; Flex 2 was released in June 2006. Its uptake has been somewhat slow, particularly in the web mapping arena. To their credit ESRI were quick to see the possibilities and launched &lt;a href="http://www.esri.com/software/arcwebservices/index.html"&gt;ArcWEB Services&lt;/a&gt;. For the reasons outlines above with regards Flash we were interested in the possibilities Flex 2 offered. Two early prototypes we developed included the &lt;a href="http://www.flexmappers.com/skisolitude/"&gt;Ski Solitude SVG interactive map &lt;/a&gt; and a &lt;a href="http://fsgeodata.fs.fed.us/nmac/index.html"&gt;MapServer map viewer&lt;/a&gt;. Christophe Coenraets has started working with &lt;a href="http://coenraets.org/blog/2006/06/google-maps-collaboration-using-flex-flash-media-server-and-ajax-updated-for-flex-2-ga/"&gt;Flex 2 and Google maps&lt;/a&gt;.   &lt;br /&gt;&lt;b&gt;Thoughts and Observations&lt;/b&gt;&lt;br /&gt;  Some of the advantages of Flex 2 include:             &lt;ul&gt;&lt;li&gt;No cross browser compatibility issues.    &lt;/li&gt;&lt;li&gt;A rich set of tools to build sophisticated 'desktop like' web applications.    &lt;/li&gt;&lt;li&gt;Programming done in Actionscript 3; a powerful object oriented language.    &lt;/li&gt;&lt;li&gt;Client processing, more can be done within the clients Flash player to make sites extremely fast.    &lt;/li&gt;&lt;/ul&gt; To put it simply, we love Flex 2! For Web application development, in our view, it is unrivalled. The creation of sophisticated, great looking, user friendly Web sites has never been easier. For the creative, less technical it is easy to learn and use. For hard core developers, Actionscript 3.0 is incredibly powerful. Used alone or in combination with Javascript/Ajax, PHP etc, the development possibilities are endless. In the online mapping world, where we are focused, we have only just begun to explore the possibilites. Our Ski Solitude application, outlined above, is a client based application, which loads all data on the client side. As a result map interaction almost instantaneous, since it does not reky on server calls to reload the map etc. The Mapserver application uses Flex 2 to build the interface and communicates with PHP for server interaction. We would be happy to share the code for anybody interested. We are looking into advanced GIS functionality using Flex 2 - ArcGIS. Additionally, we are experimenting with adding overlays to maps, allowing users to click georeferenced points to view movies, video, charts etc; Flex 2 is a wonderful multimedia environment.&lt;br /&gt;&lt;br /&gt;      &lt;p&gt;&lt;strong&gt; Modest Maps&lt;/strong&gt;&lt;/p&gt;    The excellent open source &lt;a href="http://modestmaps.com/"&gt;Modest maps&lt;/a&gt; has both a Flash and Flex 2 api for connecting to and displaying Google Maps, Microsoft Virtual Earth, Yahoo Maps and a number of other interactive map providers. In addition they have a &lt;a href="http://modestmaps.com/tutorial-actransit/"&gt;zoomify plug in &lt;/a&gt; which enables developers to use 'zoomified' images in a map viewer.   &lt;br /&gt;&lt;b&gt;Thoughts and Observations&lt;/b&gt;&lt;br /&gt;  We are interested to see where this work is going. We have played with modestmaps and have built a &lt;a href="http://www.flexmappers.com/modestmaps"&gt;test application&lt;/a&gt;. Much of the initial work has been done in Flash, slowly things are being ported to Flex 2. When we get chance we plan to dig into the code maybe help with porting and add functionality (hooking into the ArcGIS cache is of great interest). But this work is well worth checking out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-4988475105776455866?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/4988475105776455866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=4988475105776455866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4988475105776455866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/4988475105776455866'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/02/building-flex-2-map-applications.html' title='Building Flex 2 Map Applications'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743223945531919026.post-517164164676638747</id><published>2008-02-05T08:14:00.001-08:00</published><updated>2008-02-05T08:14:33.039-08:00</updated><title type='text'>Flex 2 and Mapping</title><content type='html'>After working for years with Javascript, Java and Flash to build mapping web sites, I am now a Flex 2 convert. Some time spent noodling with Flex after its release showed how quick and easy it was to create great looking, highly functional mapping web sites. On this blog, I'll share some of my thoughts on developing mapping sites using Flex 2, and show some examples. I'll also share ideas and findings on web map development.&lt;br /&gt;--Matt&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743223945531919026-517164164676638747?l=flexmappers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexmappers.blogspot.com/feeds/517164164676638747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743223945531919026&amp;postID=517164164676638747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/517164164676638747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743223945531919026/posts/default/517164164676638747'/><link rel='alternate' type='text/html' href='http://flexmappers.blogspot.com/2008/02/flex-2-and-mapping_05.html' title='Flex 2 and Mapping'/><author><name>Rory Biggadike</name><uri>http://www.blogger.com/profile/15296078414551719200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
