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

<channel>
	<title>GeoIQ Blog &#187; geoiq</title>
	<atom:link href="http://blog.geoiq.com/category/geoiq/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.geoiq.com</link>
	<description>News and updates from GeoIQ</description>
	<lastBuildDate>Fri, 04 May 2012 05:42:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Just in Time Analytics &#8211; Kanban for Big Data</title>
		<link>http://blog.geoiq.com/2012/04/05/just-in-time-analytics-kanban-for-big-data/</link>
		<comments>http://blog.geoiq.com/2012/04/05/just-in-time-analytics-kanban-for-big-data/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 16:58:23 +0000</pubDate>
		<dc:creator>Sean Gorman</dc:creator>
				<category><![CDATA[geoiq]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/?p=3736</guid>
		<description><![CDATA[<p><a href="http://whereconf.com/where2012">Where</a> is wrapping up this year, and thought I&#8217;d post up our <a href="http://www.slideshare.net/seagor/just-in-time-analytics-where-conference">presentation</a> on streaming analysis. Since the slides themselves are mostly images I figure a little narrative might be helpful. </p> <a href="http://www.slideshare.net/seagor/just-in-time-analytics-where-conference" title="Just in Time Analytics - Where Conference">Just in Time Analytics &#8211; Where Conference</a> View more <a href="http://www.slideshare.net/">presentations</a> from <a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://whereconf.com/where2012">Where</a> is wrapping up this year, and thought I&#8217;d post up our <a href="http://www.slideshare.net/seagor/just-in-time-analytics-where-conference">presentation</a> on streaming analysis.  Since the slides themselves are mostly images I figure a little narrative might be helpful.  </p>
<div style="width:425px" id="__ss_12285129"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/seagor/just-in-time-analytics-where-conference" title="Just in Time Analytics - Where Conference">Just in Time Analytics &#8211; Where Conference</a></strong><object id="__sse12285129" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=where20gormangeoiq-120404172110-phpapp02&#038;stripped_title=just-in-time-analytics-where-conference&#038;userName=seagor" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"/><embed name="__sse12285129" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=where20gormangeoiq-120404172110-phpapp02&#038;stripped_title=just-in-time-analytics-where-conference&#038;userName=seagor" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/seagor">seagor</a>.</div>
</div>
<p>The presentation was on the concept of how analysis can evolve to better take advantage of real time data streams.  The community currently does lots of fascinating analysis of real time data from Twitter, mobiles devices, sensors etc., but it is inevitably a post mortem.  By that I mean we do the analysis well after the event itself is over.  If we think of a data stream as a living organism that is constantly changing we focus our analysis on the history that has already past.</p>
<p>Partially this is due to technology.  Until recently most of what we use to munge large data streams, like Hadoop, run as batch operation.  Lots of great presentations at Where went something like: I did a collect from Twitter and pulled 5 million Tweets over 2 days, pushed that into EC2 ran some map/reduce queries, ran analytics and produce a really nice visualization.  Lots of fascinating results from these approaches, but the downside, it all comes well after the event itself happens.  While this is useful for lots of purposes it misses the opportunity inherent in the data persistently updating.  As the data changes so do the answers to our queries and equations.  So, the premise of the presentation was how can we make our analysis as dynamic as our data.</p>
<p>The analogy at the beginning of the presentation was to &#8220;<a href="http://en.wikipedia.org/wiki/Just_in_time_(business)">just in time</a>&#8221; manfucaturing, originated by Toyota in the 1950&#8242;s as the far cooler sounding term &#8211; <a href="http://en.wikipedia.org/wiki/Kanban">kanban</a>.  In short a kanban approach treats manufacturing like a super market, as you see demand from consumers depleting the store shelves you restock (just in time).  Previously you&#8217;d do historical analysis to try and predict demand, and then schedule your inventories accordingly.  Demand can be hard to predict in many industries and kanban ended up being a great innovation &#8211; just look at Toyota&#8217;s global growth after the 1950&#8242;s.</p>
<p>On the Web predicting global demand can be quite tricky as well.  Yet a good chunk of the big data analysis we do currently takes this approach.  Get a big hunk o&#8217; data look for patterns and try to forecast that forward to gain insight.  Could it be possible to use a kanban type approach, where we look at real time demand and update our analyses as the data streams to optimize response.</p>
<p>This is by no means a unique idea on our part.  Lots of companies have been building real time analysis platforms like <a href="http://www.backtype.com/">Backtype</a> (now <a href="https://github.com/nathanmarz/storm">Twitter Storm</a>), <a href="http://www.espertech.com/">EsperTech</a>, <a href="http://www.streambase.com/">StreamBase</a>, <a href="http://incubator.apache.org/s4/">Yahoo S4</a>, <a href="http://www.hstreaming.com/">Hstreaming</a> etc.  Currently, I&#8217;ve not seen anyone looking at it from a geographic perspective or using <a href="http://en.wikipedia.org/wiki/Reductionism#Alternatives_to_reductionism">non-reductionist</a> approaches to the data analysis.  This looked like a good opportunity to try and add to the conversation.  In our Where presentation we also talked a good bit about the bias and short comings of <a href="http://en.wikipedia.org/wiki/Reductionism">reductionist</a> approaches to data science, and alternatives like <a href="http://en.wikipedia.org/wiki/Entropy_(information_theory)">entropy</a> calculations, but we&#8217;ll save that for a follow on post so this does not get too bloated.</p>
<p>To test the concept we took data from a <a href="http://www.ingnycmarathon.org/athlete_alert.htm">mobile app</a> used during the NYC Marathon to track runners.  Then we treated it like a live feed and as the data streamed out, we intersected each event from the device with a grid over NYC.  As each event intersected a grid cell we updated the equation result to the map.  Calculating a sum for each grid cell is just one of many possible equations you could run against the data.  We also calculated spatial entropy, to try and detect certainty/deviations in the data, but we&#8217;ll save that for the follow on post.</p>
<p><iframe src="http://player.vimeo.com/video/39801032?title=0&amp;byline=0&amp;portrait=0" width="500" height="313" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>While the visualization of the data in fun, it really doesn&#8217;t get to the true potential of having perpetually updating analysis results.  The real potential we see is setting a threshold and having the analysis alert you when a new result has been achieved that you want to know about.  Let&#8217;s say for the NYC marathon data above we took the aggregation count for each cell and looked at the density of people per square meter for a time period.  If density gets to threshold X send a promotion to each mobile device, and if it gets to why Y send a text message to safety officials that there be a crowd control problem.  The ability to make analysis immediately actionable opens up whole new opportunities that create value for users.  Instead of having a post mortem on what happened during the event, so we can better prepared next year, we can immediately respond to make it better right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2012/04/05/just-in-time-analytics-kanban-for-big-data/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>UNEP/GRID-Arendal launches OCEANIDS</title>
		<link>http://blog.geoiq.com/2012/02/15/unepgrid-arendal-launches-oceanids/</link>
		<comments>http://blog.geoiq.com/2012/02/15/unepgrid-arendal-launches-oceanids/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 14:44:47 +0000</pubDate>
		<dc:creator>Andrew Turner</dc:creator>
				<category><![CDATA[geoiq]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/2012/02/15/unepgrid-arendal-launches-oceanids/</guid>
		<description><![CDATA[<p>Last week the tremendous team at the <a href="http://marine.tokelau.grida.no/" title="GRID-Arendal Marine Portal">United Nations Environment Programme GRID-Arendal</a> launched their <a href="http://oceanids.geoiq.grida.no/home" title="OCEANIDS">OCEANIDS tool</a>. Focused on sharing and open access to rich scientific data, the team is <a href="http://marine.tokelau.grida.no/geoiq.html" title="GRID-Arendal Marine Portal">using GeoIQ</a> to engage with citizens, governments, and researchers around the world to collaborate on important [...]]]></description>
			<content:encoded><![CDATA[<p>Last week the tremendous team at the <a href="http://marine.tokelau.grida.no/" title="GRID-Arendal Marine Portal">United Nations Environment Programme GRID-Arendal</a> launched their <a href="http://oceanids.geoiq.grida.no/home" title="OCEANIDS">OCEANIDS tool</a>. Focused on sharing and open access to rich scientific data, the team is <a href="http://marine.tokelau.grida.no/geoiq.html" title="GRID-Arendal Marine Portal">using GeoIQ</a> to engage with citizens, governments, and researchers around the world to collaborate on important issues in the marine environment.</p>
<p><center><br />
  <a href="http://blog.geoiq.com/files/2012/02/WWF-Arctic-Atlas-at-OCEANIDS.png"><img src="http://blog.geoiq.com/files/2012/02/WWF-Arctic-Atlas-at-OCEANIDS-tm.jpg" width="350" height="196" alt="WWF Arctic Atlas at OCEANIDS.png" style="padding-top:5px; padding-bottom:5px; padding-left:5px;" /></a><br />
</center></p>
<blockquote><p>
  &#8220;OCEANIDS [is] a new tool to find and examine public marine-related scientific datasets. A main aim in the development of OCEANIDS is to provide end users with an interdisciplinary and multi-thematic geospatial and metadata portal of public data and information – but with the non-GIS expert end user in mind.&#8221;
</p></blockquote>
<p>The OCEANIDS portal is a custom designed version of the <a href="http://geoiq.com" title="GRID-Arendal Marine Portal">same platform behind GeoCommons</a>, providing a focused experience around ocean data. However, users can still leverage the almost 100,000 public datasets in GeoCommons through our <a href="http://oceanids.geoiq.grida.no/search?limit=10&amp;model=Map&amp;page=2&amp;query=%2A" title="UNEP/GRID-Arendal Search">open data federation</a>. Searching in OCEANIDS, users can optionally choose to import and link data from GeoCommons to compare it with the UNEP/GRID-Arendal scientific data.</p>
<p><center><br />
  <a href="http://blog.geoiq.com/files/2012/02/OCEANIDS.png"><img src="http://blog.geoiq.com/files/2012/02/OCEANIDS-tm.jpg" width="400" height="333" alt="OCEANIDS.png" style="padding-top:5px; padding-bottom:5px; padding-left:5px;" /></a><br />
</center></p>
<p>Through our work with UNEP/GRID-Arendal, we also extended GeoIQ to include some interesting new features. Particular to oceanographic is support for North and South Polar projections. Scientific data that analyzes ice shelves, shipping routes, or Antarctica can be appropriately visualized.</p>
<p>As part of the launch, UNEP/GRID-Arendal has made an <a href="http://grida.us1.list-manage.com/track/click?u=910fcfe0b96401aa72d9fd401&amp;id=06a1f60df8&amp;e=c50353bb28" title="">open call for anyone</a> to create maps with the public scientific datas. The first deadline for submission of maps/stories is the 5 March 2012.</p>
<p>We&#8217;re excited to be an integral part of not just opening up access to the incredibly valuable, credible scientific data, but also providing tools that anyone can use to work with the data, ask questions, and share their insights.</p>
<p><center><br />
  <a href="http://blog.geoiq.com/files/2012/02/GRID-Arendal-Marine-Portal-1.png"><img src="http://blog.geoiq.com/files/2012/02/GRID-Arendal-Marine-Portal-1-tm.jpg" width="271" height="223" alt="GRID-Arendal Marine Portal-1.png" style="padding-top:5px; padding-bottom:5px; padding-left:5px;" /></a><br />
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2012/02/15/unepgrid-arendal-launches-oceanids/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using the Google Translate Function to Make Multilingual Maps in GeoCommons</title>
		<link>http://blog.geoiq.com/2012/02/09/using-the-google-translate-function-to-make-multilingual-maps-in-geocommons/</link>
		<comments>http://blog.geoiq.com/2012/02/09/using-the-google-translate-function-to-make-multilingual-maps-in-geocommons/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 23:31:42 +0000</pubDate>
		<dc:creator>Sean Gorman</dc:creator>
				<category><![CDATA[geoiq]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/?p=3691</guid>
		<description><![CDATA[<p>As I&#8217;ve been tracking the ongoing crisis in <a href="http://topics.nytimes.com/top/news/international/countriesandterritories/syria/index.html">Syria</a> I often felt I was only getting half the story not being able to read Arabic. This was especially frustrating when I&#8217;d check out all the rich data being generated by <a href="https://syriatracker.crowdmap.com/main">SyriaTracker</a>.   Citizens in Syria are reporting on the violence through social media [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve been tracking the ongoing crisis in <a href="http://topics.nytimes.com/top/news/international/countriesandterritories/syria/index.html">Syria</a> I often felt I was only getting half the story not being able to read Arabic.  This was especially frustrating when I&#8217;d check out all the rich data being generated by <a href="https://syriatracker.crowdmap.com/main">SyriaTracker</a>.   Citizens in Syria are reporting on the violence through social media and text messages creating a unique perspective.  <a href="http://ushahidi.com/">Ushahidi</a> via <a href="https://crowdmap.com/mhi">Crowdmap</a> does brilliant work powering the platform, but my lack of language skills limited what I could understand.</p>
<p>Fortunately Crowdmap has a great data <a href="https://syriatracker.crowdmap.com/reports_download">download button</a> &#8211; one of our favorite features of any platform.  So, I downloaded the data and pushed it up into Google Spreadsheets.  Turns out Google Spreadsheets has this brilliant feature that allows you to insert a translation function to a data cell.  You just plug in:</p>
<blockquote><p>=GoogleTranslate(&#8220;text&#8221;, &#8220;source language&#8221;,&#8221;target language&#8221;)</p></blockquote>
<p>For the language you use the two letter ISO code for the language, and the Goog supports over 40.  Since I wanted to translate from Arabic to English I plugged in:</p>
<blockquote><p>=GoogleTranslate(A1, &#8220;ar&#8221;, &#8220;en&#8221;)</p></blockquote>
<p>Then I just cut and paste the equation to all the cells I wanted translated.  You can find the results at this <a href="https://docs.google.com/spreadsheet/pub?key=0Asy9V1FOQ8WSdHJ4OGdCWm9lN0ZVV1N1MTg0STk0c0E&amp;output=html">URL</a>.  Then I grabbed the URL for the CSV link from the Google Spreadheet and loaded it into GeoCommons.  For specifics on linking Google Spreadsheets to GeoCommons check out the post <a href="http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/">here</a>.  The end result was a dynamically linked <a href="http://geocommons.com/overlays/204315">dataset</a> on GeoCommons that you can grab in a half dozen format or create maps/analysis with.</p>
<p>Can&#8217;t finish off without a custom map:</p>
<style>#geocommons_map_138401 {width: 100%; height: 850px; position:relative;}</style>
<div class="geocommons_map" id="geocommons_map_138401"></div>
<p><br/><br />
<a class="geocommons_map_link" id="geocommons_map_138401_link" href="http://geocommons.com/maps/138401">View map on GeoCommons</a><br />
<script type="text/javascript" charset="utf-8" src="http://geocommons.com/javascripts/f1.api.js"></script><br />
<script type="text/javascript" charset="utf-8">
  var geocommons_map_138401 = new F1.Maker.Map({map_id: "138401", dom_id: "geocommons_map_138401"});
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2012/02/09/using-the-google-translate-function-to-make-multilingual-maps-in-geocommons/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tech@State Panel &#8211; Realtime Awareness</title>
		<link>http://blog.geoiq.com/2012/02/02/techstate-panel-realtime-awareness/</link>
		<comments>http://blog.geoiq.com/2012/02/02/techstate-panel-realtime-awareness/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 20:46:45 +0000</pubDate>
		<dc:creator>Andrew Turner</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[geoiq]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/2012/02/02/techstate-panel-realtime-awareness/</guid>
		<description><![CDATA[<p>Tomorrow is the next <a href="http://tech.state.gov/" title="TechATState - connecting technology with opportunity to aid U.S. diplomacy and development">Tech@State</a> focusing on Realtime Awareness. In the afternoon I&#8217;m charing a panel on <a href="http://tech.state.gov/profiles/blogs/conveying-real-time-information-panelist-bios-photos" title="Conveying Real-Time Information - Panelist Bios &#38; Photos - TechATState">&#8220;Conveying Real-time Information&#8221;</a>. You can still <a href="http://techatstate_real-time_day1.eventbrite.com/?ref=ebtn">sign up</a> for the conference tomorrow as [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.geoiq.com/files/2012/02/techstate_avatar.gif" width="64" height="64" alt="techstate_avatar.gif" style="float:right; padding-top:5px; padding-bottom:5px; padding-left:5px;" />Tomorrow is the next <a href="http://tech.state.gov/" title="TechATState - connecting technology with opportunity to aid U.S. diplomacy and development">Tech@State</a> focusing on Realtime Awareness. In the afternoon I&#8217;m charing a panel on <a href="http://tech.state.gov/profiles/blogs/conveying-real-time-information-panelist-bios-photos" title="Conveying Real-Time Information - Panelist Bios &amp; Photos - TechATState">&#8220;Conveying Real-time Information&#8221;</a>. You can still <a href="http://techatstate_real-time_day1.eventbrite.com/?ref=ebtn">sign up</a> for the conference tomorrow as well as the <a href="http://techatstate_real-time-awareness_unconference.eventbrite.com/">Unconference on Saturday</a>.</p>
<blockquote><p>
  Real-Time Awareness will focus on how to use the vast amount of data generated by social media and other internet technologies to deliver real-time awareness. Specifically, we will be examining the range of challenges that exist when trying to create real-time awareness, especially in the context of breaking news or events, crisis response and citizen engagement. We’ll discuss questions like: Which data feeds are the most reliable? What is the best way to filter the data? How should the data be analyzed? What’s the best way to convey the information to the user? What do citizens expect when they use social media to communicate with governments?
</p></blockquote>
<p>In our panel, we&#8217;ll be discussing the various issues and possibilities to visualize and utilize real-time information. Social media feeds, traffic cameras, mobile devices, satellite sensor feeds, crowd-sourced data, and more are quickly becoming valuable sources of information but the capability to quickly and effectively harness them are an open question.</p>
<p>My fellow panelist are Nancy Choi from Development Gateway, Ahmed Shihab-Eldin from The Stream Al Jazeera, Chris Damsen from NetVibes, and Paul Shinkman from WTOP. It should be a fascinating conversation!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2012/02/02/techstate-panel-realtime-awareness/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ONR Social Media Conference</title>
		<link>http://blog.geoiq.com/2012/01/17/onr-social-media-conference/</link>
		<comments>http://blog.geoiq.com/2012/01/17/onr-social-media-conference/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 14:58:37 +0000</pubDate>
		<dc:creator>Sean Gorman</dc:creator>
				<category><![CDATA[geoiq]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/?p=3656</guid>
		<description><![CDATA[<p>Right before Christmas I headed out to San Jose for a <a href="https://www.signup4.net/public/ap.aspx?EID=SOCI37E&#38;OID=50">conference</a> on social media hosted by the Office of Naval Research.  It was an interesting cross section of government research on social media and comercial social media companies that provided either  social media apps (Facebook, Google+, Yahoo) or analytics (Topsy, Radian6, SAS).  There [...]]]></description>
			<content:encoded><![CDATA[<p>Right before Christmas I headed out to San Jose for a <a href="https://www.signup4.net/public/ap.aspx?EID=SOCI37E&amp;OID=50">conference</a> on social media hosted by the Office of Naval Research.  It was an interesting cross section of government research on social media and comercial social media companies that provided either  social media apps (Facebook, Google+, Yahoo) or analytics (Topsy, Radian6, SAS).  There was some fascinating research being done and some good debates on privacy implications.  It was encouraging to see the open dialogue happening &#8211; although I would not say that everyone was in agreement.</p>
<p>We gave a talk on how the &#8220;geo&#8221; attributes of social media streams can be leveraged to help analysis and provide better context.  The general theme was how we use location as a common thread to tie together multiple disparate data sets.   One of the toughest things with social media is putting it into a broader context.  The presentation below covers some of the examples we gave of how this can be helpful in a variety of scenarios.</p>
<div style="width:425px" id="__ss_11095268"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/seagor/onr-social-media-conference-geoiq" title="ONR Social Media Conference - GeoIQ" target="_blank">ONR Social Media Conference &#8211; GeoIQ</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/11095268" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/seagor" target="_blank">seagor</a> </div>
</p></div>
<p>Lots of great presentations although the coolest demonstration of the day did not involve social media.  <a href="http://www.affectiva.com/measuring-emotions/">Affectiva</a> showed off a tool for detecting the heart rate and breathing for users looking at a Webcam.  The heart rate was live updating on the screen as the users in Webcam responded to what was on their screen.  Minority report is closer than we think&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2012/01/17/onr-social-media-conference/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Dynamically Map your Google Spreadsheets with GeoCommons</title>
		<link>http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/</link>
		<comments>http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 19:00:02 +0000</pubDate>
		<dc:creator>bill greer</dc:creator>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[crowdsourcing]]></category>
		<category><![CDATA[geoiq]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/?p=3531</guid>
		<description><![CDATA[<p>There is a good chance that you&#8217;ve been using Google Docs. Its a great way to share spreadsheets, documents, and information throughout your organization, or with friends and family. Ever wanted to plot you data on map, create thematics or animate it over time? This tutorial will focus on how to build Maps in GeoCommons [...]]]></description>
			<content:encoded><![CDATA[<p>There is a good chance that you&#8217;ve been using Google Docs. Its a great way to share spreadsheets, documents, and information throughout your organization, or with friends and family. Ever wanted to plot you data on map, create thematics or animate it over time? This tutorial will focus on how to build Maps in GeoCommons that link with Google Spreadsheets, for even more data goodness. We will build up a spreadsheet and create a map using the spreadsheet data in GeoCommons, then we will be able to update the map from Google Spreadsheets. The best part is we can do this without writing any code, anyone can do this! The first step to mapping your Google Spreadsheet data in GeoCommons is to build up a spreadsheet. For this example we&#8217;ll be using this list of US ski resorts with latitude and longitude information, as well as a few other variables.<br />
<a rel="attachment wp-att-3532" href="http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/spreadsheet-1/"><img class="alignnone size-full wp-image-3532" src="http://blog.geoiq.com/files/2011/11/spreadsheet-1.png" alt="" width="695" height="541" /></a></p>
<p>After you&#8217;ve got your spreadsheet ready, Click on the &#8216;File&#8217; tab, then go down to click the &#8216;Publish to the Web&#8230;&#8217; button.</p>
<p><a rel="attachment wp-att-3533" href="http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/spreadsheet-2/"><img class="alignnone size-full wp-image-3533" src="http://blog.geoiq.com/files/2011/11/spreadsheet-2.png" alt="" width="645" height="572" /></a></p>
<p>Next you&#8217;ll have to click the &#8216;Start Publishing&#8217; Button. I would also recommend that you click the box that says &#8216;Automatically re-publish when changes are made&#8217;, this will allow you to update your maps on GeoCommons directly from Google Spreadsheets. After you&#8217;ve clicked these buttons, you will be allowed to get a link to the published data. Here you should change from the default &#8216;Web-page&#8217; to &#8216;CSV&#8217;. This will give you a link to your published data below.Copy the Link. It should look something like this:</p>
<p><a rel="attachment wp-att-3534" href="http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/publish/"><img class="alignnone size-full wp-image-3534" src="http://blog.geoiq.com/files/2011/11/publish.png" alt="" width="947" height="883" /></a></p>
<p>Now you can head over to GeoCommons.com and after you&#8217;ve signed in, click the button the &#8220;Add a URL link&#8221; in the upload section. Paste the link from Google spreadsheets where it tells you to enter the URL, then specify CSV in the format section.</p>
<p><a rel="attachment wp-att-3536" href="http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/upload-url/"><img class="alignnone size-full wp-image-3536" src="http://blog.geoiq.com/files/2011/11/upload-url.png" alt="" width="618" height="311" /></a><br />
You will need to geocode your dataset, this should be pretty self explainatory if you&#8217;ve ever used GeoCommons, so I wont go into the details, but just know that once you&#8217;ve geocoded this URL once, we will continue using the attributes you specified to geocode any additional data you add into your spreadsheet. Your final dataset will look something like this:</p>
<p><a rel="attachment wp-att-3615" href="http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/dataset-profile1/"><img class="alignnone size-full wp-image-3615" src="http://blog.geoiq.com/files/2011/11/dataset-profile11.png" alt="" width="765" height="434" /></a></p>
<p>Because the raw data is linked to a live website, you&#8217;ll see the &#8216;Fetch Latest&#8221; button above the title. Clicking on this button will update the GeoCommons dataset based on any changes that may have happened to your spreadsheet, and by updating the dataset, you&#8217;ll also be updating all of the maps using this as a layer. This means that when you&#8217;re working with a dataset that is constantly changing and being updated you&#8217;ll be able to update your maps by just clicking one button.</p>
<p>I&#8217;ve added a short video to show you the entire process from start to finish in less than 2 minutes.</p>
<p><iframe src="http://player.vimeo.com/video/32802518?title=0&amp;byline=0&amp;portrait=0" width="460" height="346" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2011/11/29/dynamically-map-your-google-spreadsheets-with-geocommons/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>More Ways to Visualize Data: Charts</title>
		<link>http://blog.geoiq.com/2011/11/15/more-ways-to-visualize-data-charts/</link>
		<comments>http://blog.geoiq.com/2011/11/15/more-ways-to-visualize-data-charts/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 10:25:22 +0000</pubDate>
		<dc:creator>Brendan Heberton</dc:creator>
				<category><![CDATA[geoiq]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/?p=3321</guid>
		<description><![CDATA[<p>Maps are awesome. Adding charts to a map is even more awesome. In addition to mapping data at Geocommons, users can now visualize the same data by utilizing our newly introduced charts.  The backbone of these charts was created using g.Raphael, which is based on <a href="http://www.raphaeljs.com/" target="_blank">Raphael</a>&#8216;s JavaScript graphics library. RaphaelJS offers the unique [...]]]></description>
			<content:encoded><![CDATA[<p>Maps are awesome. Adding charts to a map is even more awesome. In addition to mapping data at Geocommons, users can now visualize the same data by utilizing our newly introduced charts.  The backbone of these charts was created using g.Raphael, which is based on <a href="http://www.raphaeljs.com/" target="_blank">Raphael</a>&#8216;s JavaScript graphics library. RaphaelJS offers the unique ability to draw Scalable Vector Graphics (SVG) across browsers and platforms by using SVG to draw vectors and implementing VML logic for older IE browsers. Point, line, area, column and pie charts are all included now in Geocommons.</p>
<p>Creating a chart is easy! After making a map, users can now select the option to include a chart (or many), then build it in two quick steps. First, select a chart type, then feed it the data one wishes to chart. The chart details pane allows users to easily change the chart&#8217;s title, x and y axis, attributes label, and how the chart is to be sorted.</p>
<p><span style="font-size: x-small;"><a rel="attachment wp-att-3418" href="http://blog.geoiq.com/2011/11/15/more-ways-to-visualize-data-charts/chart_steps-2/"><img class="aligncenter size-full wp-image-3418" title="chart_steps" src="http://blog.geoiq.com/files/2011/11/chart_steps.png" alt="" width="700" height="267" /></a><br />
</span></p>
<p>The chart then displays in a dashboard at the bottom of the map together with the layer&#8217;s data grid. One can easily save this chart, add another, or edit the chart data feeds and type to better represent your data. The chart below looks at base elevation compared to total acreage for Colorado ski resorts. The chart clearly that resorts with higher base elevations are generally smaller in acreage in comparison to those with lower base elevations. Simple as this information may be, and even logical in this case, it offers more insight into the mapped data and provides new tools for analysis for the user.</p>
<p><span style="font-size: small;"><a rel="attachment wp-att-3329" href="http://blog.geoiq.com/2011/11/15/more-ways-to-visualize-data-charts/chart_dash/"><img class="aligncenter size-large wp-image-3329" title="chart_dash" src="http://blog.geoiq.com/files/2011/10/chart_dash-1024x208.png" alt="" width="595" height="120" /></a></span></p>
<p><strong>Additional Tools and Functionality</strong></p>
<p>Functionality for the charts includes sorting data (highest/lowest), charting numeric and non-numeric data, and creating multiple charts for the same layer. The charts are also interactive. As in the image below, selecting a feature on the bar chart will highlight the matching feature on the map. By mousing over the values in the charts, users are alerted to the associated values via overlay tooltips.</p>
<p><span style="font-size: small;"><a rel="attachment wp-att-3330" href="http://blog.geoiq.com/2011/11/15/more-ways-to-visualize-data-charts/chart_select/"><img class="aligncenter size-large wp-image-3330" title="chart_select" src="http://blog.geoiq.com/files/2011/10/chart_select-1024x522.png" alt="" width="595" height="303" /></a></span></p>
<p>Charting non-numeric data is handled with our pie charts. For example, if you wish to view how many of your data points share the same description for a specified data set, you would select pie chart and choose &#8220;description&#8221; as the selected attribute.</p>
<h2><span style="font-size: x-small;"><a rel="attachment wp-att-3331" href="http://blog.geoiq.com/2011/11/15/more-ways-to-visualize-data-charts/chart_non_numeric/"><img class="aligncenter size-medium wp-image-3331" style="border-style: initial; border-color: initial;" title="chart_non_numeric" src="http://blog.geoiq.com/files/2011/10/chart_non_numeric-300x221.png" alt="" width="300" height="221" /></a></span></h2>
<p>More announcements to be forthcoming as we continue to release new capabilities in Geocommons!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2011/11/15/more-ways-to-visualize-data-charts/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>More Fun at Camp Roberts &#8211; Mobile Interoperability</title>
		<link>http://blog.geoiq.com/2011/11/11/more-fun-at-camp-roberts-mobile-interoperability/</link>
		<comments>http://blog.geoiq.com/2011/11/11/more-fun-at-camp-roberts-mobile-interoperability/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 19:15:28 +0000</pubDate>
		<dc:creator>mattmadigan</dc:creator>
				<category><![CDATA[geoiq]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/?p=3400</guid>
		<description><![CDATA[<p></p> <p>Last week I had the opportunity to go to Camp Roberts and do experiments with the <a href="http://www.nps.edu/Academics/Schools/GSOIS/Departments/IS/Research/TNT/RELIEF/index.html">Naval Postgraduate&#8217;s School RELIEF </a> exercise at Camp Roberts, CA.  GeoIQ has partnered with the <a href="http://quick-nets.org/">QuickNets</a> program including <a href="http://ushahidi.com/">Ushahidi</a> to provide dynamic visualization and analytics for situational awareness during disaster response.   The 42,000 acres [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://blog.geoiq.com/files/2011/11/IMG_0751-300x224.jpg" alt="" width="300" height="224" /></p>
<p>Last week I had the opportunity to go to Camp Roberts and do experiments with the <a href="http://www.nps.edu/Academics/Schools/GSOIS/Departments/IS/Research/TNT/RELIEF/index.html">Naval Postgraduate&#8217;s School RELIEF </a> exercise at Camp Roberts, CA.  GeoIQ has partnered with the <a href="http://quick-nets.org/">QuickNets</a> program including <a href="http://ushahidi.com/">Ushahidi</a> to provide dynamic visualization and analytics for situational awareness during disaster response.   The 42,000 acres of  rolling hills in Central California were the perfect backdrop to field our first mobile application.</p>
<p>The exercise was to test new technologies for identifying victims and dispatching responders more efficiently during disasters. For the purposes of the exercise victims were played by ribbons staked in the ground to act as a proxy of their location.  To implement the test response system the Quicknets team used Ushahidi based microtasking, led by Cat Graham of <a href="http://www.humanityroad.org/">HumanityRoad</a>,  to direct a volunteer core of responders.  Microtasking is <strong>a</strong><strong> </strong>brokerage function that facilitates voluntary selection of tasks by responders, monitoring status of those responses, and tracking them to closure.</p>
<p>At each location the victims were documented in a notebook.  Responders recorded the victims condition and their location.  This information was then texted with the identified victims description and location to the operations center.  Additionally at each victim location we used the GeoIQ mobile application to mark the precise GPS coordinates, category and a picture of the victim.<a rel="attachment wp-att-3432" href="http://blog.geoiq.com/2011/11/11/more-fun-at-camp-roberts-mobile-interoperability/slide1/"><img class="size-medium wp-image-3432 alignright" src="http://blog.geoiq.com/files/2011/11/Slide1-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>During the response day, two teams of <a href="http://en.wikipedia.org/wiki/Hatzalah">Israeli Hatzalah</a> responders were dispatched by Quicknets working with <a href="http://nowforce.com/">NowForce</a> and Camp Roberts base personnel to retrieve the ribbons as described by the dispatcher.  At each location the responder collected the ribbon, but also closed the ticket by changing the category on the GeoIQ mobile application.  The operation center was a flurry of activity.  Dispatchers actively processed the incoming texts and the GeoIQ mobile app was updated in real-time  as victims were discovered and collected.</p>
<p>As the afternoon wound down, there were several identified victims that had not been responded that we could see on the map.   The Israeli team needed to head to the airport so John Crowley, Galit Sorokin and myself headed out with the GeoIQ mobile application and only using the map were quickly able to clear the field of the final eight ribbons and updated the status for operators back at base.</p>
<div id="attachment_3435" class="wp-caption alignleft" style="width: 310px"><a rel="attachment wp-att-3435" href="http://blog.geoiq.com/2011/11/11/more-fun-at-camp-roberts-mobile-interoperability/slide2-3/"><img class="size-medium wp-image-3435 " src="http://blog.geoiq.com/files/2011/11/Slide22-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Operations Center view of updates via mobile device</p></div>
<p>The bonus of pushing the field data back to the GeoIQ server &#8211;  it was instantly discoverable by the Camp Roberts team and portable in over  a half dozen formats.  Also the data could then be combined with other field collected data like Ushahidi, Geocent, Nowforce, and traditional GIS data from various sources.   It is critical that during disasters data is accessible and portable, and does not get trapped in any single system.  This will be all the more true when data is coming from mobile applications.  To this end we&#8217;ve been working with a variety of third party mobile apps so their data can easily be published for quick discovery and format translation.</p>
<p>For the Quicknets team this meant they could start running analysis on the data right away.  In this case we took the mobile data from the field and aggregated to the five rescue regions to quantify the activity by area.  We also were able to use intersection, filtering, merging and temporal visualization to analyze the entire exercise.﻿﻿</p>
<p>The exciting next steps is combining GeoIQ&#8217;s new <a href="http://blog.geoiq.com/2011/11/02/streaming-data/">streaming analysis</a> into a Camp Roberts exercise.  This would allow a responder to kick off a search of people using Twitter to request help, and stream that data live to the mobile application.  The responder can then verify the social media on the ground through annotations from the mobile application.  These annotations stream back in real time to the command center allowing dynamic collaboration between the two.  The potential to leverage the human sensor network of mobile devices during a disaster is something we believe will be transformative.  We&#8217;ve already seen its impact during Hurricane Irene, where social media  directed responders to flooded areas well ahead of satellite imagery availability.  We&#8217;ve also gotten great feedback from urban search and rescue teams on the combination.  We&#8217;ll be blogging more about cool ways to interconnect streaming data and mobile applications soon &#8211; lots of cool projects under way.  Camp Roberts was an awesome experiences and we look forward to hooking up with more cool technologies and people the next time around.</p>
<div id="attachment_3431" class="wp-caption aligncenter" style="width: 595px"><a rel="attachment wp-att-3431" href="http://blog.geoiq.com/2011/11/11/more-fun-at-camp-roberts-mobile-interoperability/slide3/"><img class="size-full wp-image-3431  " title="Analysis" src="http://blog.geoiq.com/files/2011/11/Slide3.jpg" alt="Analysis of Response Active Across 5 Teams" width="585" height="438" /></a><p class="wp-caption-text">Analysis of Response Active Across 5 Teams</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2011/11/11/more-fun-at-camp-roberts-mobile-interoperability/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New Tools for Exploring Data in GeoCommons!</title>
		<link>http://blog.geoiq.com/2011/11/10/new-tools-for-exploring-data-in-geocommons/</link>
		<comments>http://blog.geoiq.com/2011/11/10/new-tools-for-exploring-data-in-geocommons/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 02:05:25 +0000</pubDate>
		<dc:creator>Sean Gorman</dc:creator>
				<category><![CDATA[geoiq]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/?p=3153</guid>
		<description><![CDATA[<p>As the number of data sets on GeoCommons continues to grow we are constantly looking for new ways to allow users to explore the data.  A variety of recent projects have pushed us develop new tools for interacting with emerging multidimensional data streams.  Today we are pushing out a new release that gives you three [...]]]></description>
			<content:encoded><![CDATA[<p>As the number of data sets on GeoCommons continues to grow we are constantly looking for new ways to allow users to explore the data.  A variety of recent projects have pushed us develop new tools for interacting with emerging multidimensional data streams.  Today we are pushing out a new release that gives you three new tools for diving into the data in GeoCommons:</p>
<p><strong><em>Charts</em></strong> &#8211; as much as we love map visualizations often times it is useful to view your data non-geographically.  To get a new perspective on data in GeoCommons you can now, in a few clicks, create pie charts, bar charts, line graphs, area graphs and scatter plots.</p>
<p><a rel="attachment wp-att-3162" href="http://blog.geoiq.com/2011/11/10/new-tools-for-exploring-data-in-geocommons/gc_charts_new/"><img class="aligncenter size-large wp-image-3162" title="GC_charts_new" src="http://blog.geoiq.com/files/2011/10/GC_charts_new-1024x245.png" alt="" width="595" height="142" /></a></p>
<p><a rel="attachment wp-att-3162" href="http://blog.geoiq.com/2011/11/10/new-tools-for-exploring-data-in-geocommons/gc_charts_new/"></a><em><strong>Data grids</strong> </em>- view and edit the raw tabular data while you are in the map view.</p>
<p><a rel="attachment wp-att-3183" href="http://blog.geoiq.com/2011/11/10/new-tools-for-exploring-data-in-geocommons/gc_data_grid-2/"><img class="aligncenter size-large wp-image-3183" title="GC_data_grid" src="http://blog.geoiq.com/files/2011/10/GC_data_grid1-1024x167.png" alt="" width="595" height="97" /></a></p>
<p style="text-align: left;"><em><strong>Multidimensional time slider</strong> </em>- we&#8217;ve revamped out time slider to give you a new range of options for exploring the temporal dimensions of your data.  The new time slider is two tiered so you can zoom into any time slice for more details.  You also have the choice to aggregate and disaggregate your data at different temporal scales (seconds, minutes, hours, days, months or years).  Last but not least you can choose between animating your data cumulatively or as a range.</p>
<p style="text-align: left;"><a rel="attachment wp-att-3184" href="http://blog.geoiq.com/2011/11/10/new-tools-for-exploring-data-in-geocommons/gc_new_timeslider-2/"><img class="aligncenter size-full wp-image-3184" title="gc_new_timeslider" src="http://blog.geoiq.com/files/2011/10/gc_new_timeslider1.png" alt="" width="622" height="166" /></a></p>
<p><span style="color: #0000ee;"> </span></p>
<p>We hope these new tools will let you plum the depths of your data for new discovery.  As we see a larger variety of data coming on line the need to diversify the techniques by which you can explore new content will continue to be critical.  The most exciting part &#8211; this is just the tip of the iceberg of new capabilities we&#8217;ve built into the GeoIQ platform.  Stay tuned for additional releases as well as new and improved back-end API support to repurpose any of it for your own projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2011/11/10/new-tools-for-exploring-data-in-geocommons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Streaming Data and GeoIQ</title>
		<link>http://blog.geoiq.com/2011/11/02/streaming-data/</link>
		<comments>http://blog.geoiq.com/2011/11/02/streaming-data/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 12:00:09 +0000</pubDate>
		<dc:creator>Chris Helm</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[geoiq]]></category>

		<guid isPermaLink="false">http://blog.geoiq.com/?p=3139</guid>
		<description><![CDATA[<p><br /> Last week we announced <a title="GeoIQ Launches Social" rel="me" href="http://blog.geoiq.com/2011/10/26/geoiq-launches-social/">GeoIQ Social</a> where anyone can immediately visualize and analyze social media data with their internal and external data. But there is more than just connecting social data, it&#8217;s is necessary to make this data available on-demand in realtime.</p> <p>We&#8217;ve been focusing on connectivity across [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-3241" style="float: right;" src="http://blog.geoiq.com/files/2011/10/clock-300x300.jpg" alt="" width="300" height="300" /><br />
Last week we announced <a title="GeoIQ Launches Social" rel="me" href="http://blog.geoiq.com/2011/10/26/geoiq-launches-social/">GeoIQ Social</a> where anyone can immediately visualize and analyze social media data with their internal and external data. But there is more than just connecting social data, it&#8217;s is necessary to make this data available on-demand in realtime.</p>
<p>We&#8217;ve been focusing on connectivity across data sources for a while, and this has been a driving force of <a title="GeoCommons" href="http://geocommons.com">GeoIQ</a> itself: disparate datasets converging in easy-to-use tools that add value through data centralization and powerful visualization and deep analytics. However, for a while now the idea of centralizing data (in the cloud or anywhere else) has meant uploading data to a new location or a new service that then makes them available in new ways. This mold we&#8217;ve now broken.</p>
<p>A few months back we announced <a href="http://blog.geoiq.com/2011/04/04/geoiq-connect-open-access-to-databases/">GeoIQ Connect</a>. The idea was that within our platform users can tap into existing databases, run our analytics, explore data in new ways, and visualize data next to any dataset in the platform. This also meant that no longer would users have to export their data only to reimport it all into our software, but this also flipped a switched within the platform itself. GeoIQ had become <em>dynamic</em>. Data were <em>dynamic</em>. Maps and analyses were <em>dynamic</em>. We created &#8220;adapters&#8221; for all sorts of databases including PostgreSQL, MySQL, Oracle, HBase, and MongoDB as well as an even newer types of databases and APIs like Google Fusion Tables.</p>
<p>The real power in our dynamic data-stores is our ability to map data as they change. As data in a database are updated or changed in anyway, maps in GeoIQ can be refreshed and the new data will appear. This is great, but its not great enough. We wanted to go further, and now we have. We now have the ability to stream real-time data directly into maps. No more need to refresh!</p>
<p>To see how the new streaming feature works checkout this video that streams tweets mentioning rain, snow, or weather in real-time:</p>
<p><iframe src="http://player.vimeo.com/video/31266476?title=0&amp;byline=0&amp;portrait=0" width="450" height="253" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe></p>
<p>Streaming data layers allow for instant feedback, rapid decision making, and all an around cool experience. At first opening this streaming up for the <a href="https://dev.twitter.com/docs/streaming-api">Twitter Streaming API</a>. Twitter has paved the way in its implementation of a streaming API and is also great because of the quantity of geo-spatial data that it streams. <img class="alignright size-medium wp-image-3246" style="float: right;" src="http://blog.geoiq.com/files/2011/10/blue-bird-300x183.jpg" alt="" width="150" />Of course there are more streaming APIs that just Twitter&#8217;s, and one that is very interesting to us is <a href="https://pachube.com/">pachube.com</a>. Pachube lets users relay streams of real time data and make use of its API to let others get access. These types of streams of data and APIs are becoming more common and now we&#8217;ve got the tools to use them.</p>
<p>Talking about the technical pieces of this new capability is the fun part of what we&#8217;ve done. We&#8217;ve employed a variety of tools to make it possible to create new streams of data that pour directly in our maps. We&#8217;ve also enhanced our API to make it possible for others to create a real-time feel to their maps embedded in other places on the Web. As an introduction I&#8217;ve briefly describe the technologies we&#8217;re using for streaming data:</p>
<p><a rel="attachment wp-att-3257" href="http://blog.geoiq.com/2011/11/02/streaming-data/nodejs/"><img class="alignnone size-medium wp-image-3257" src="http://blog.geoiq.com/files/2011/10/nodejs-300x153.png" alt="" width="300" height="153" /></a></p>
<p><strong>Node.js</strong></p>
<p>Node.js is starting to pop up all over the place. This is because its very simple to build fast and scalable web applications that support high numbers of concurrent requests. We&#8217;ve used Node.js to built a service that allows us to tap into an external streaming API. In this service we maintain all the logic for connecting to streaming data sources, processing the data and routing data through a series of messaging queues. Inside the GeoIQ platform we then stream the data in and route them to the correct maps via web-sockets and the Node.js library Socket.IO.</p>
<p><strong>AMQP</strong></p>
<p>We use use <a href="http://www.amqp.org/">AMQP</a> as a messaging system to communicate and transmit data and results across the web. AMQP provides scalability for our system in that we can bind to the message queue from various places and spawn new worker applications at will. The AQMP server acts a primary hinging point for routing data from the streaming service to the various GeoIQ servers that send data to maps.</p>
<p><strong>Services</strong></p>
<p>One of the most powerful aspects of this capability is our ability to pass data through a series of external services. This means that we can process the data in different ways as we receive it, and we can custom tailor the processing based on user demands, needs or intentions. For instance we have a set of three services that tweets can be passed through: geocoding tweet profile locations, a tweet sentiment engine (<a href="http://repustate.com">Repustate</a>), and <a href="http://klout.com">klout</a>. This list will grow in the future to include various other services that can help users add more information to streams of data.</p>
<p><a href="http://blog.geoiq.com/2011/11/02/streaming-data/logo-mongodb/" rel="attachment wp-att-3251"><img src="http://blog.geoiq.com/files/2011/10/logo-mongodb.png" alt="" width="217" height="90" class="alignnone size-full wp-image-3251" /></a><br />
<strong>MongoDB</strong></p>
<p>All incoming data gets stored in a <a href="http://www.mongodb.org/">MongoDB</a> document store. This provides a fast and flexible way to store loosely structured data, and gives us some geo-spatial indexing as well. As part of GeoIQ Connect we built an adapter for MongoDB that allows us to connect to any MongoDB database and pull in the data directly to GeoIQ. For the streaming datasets we&#8217;ve re-used this adapter and take advantage of MongoDB&#8217;s simple query structure for limiting data to certain spatial extents, filtering the data, and extracting data in a variety ways.  </p>
<p><a href="http://blog.geoiq.com/2011/11/02/streaming-data/socket/" rel="attachment wp-att-3252"><img src="http://blog.geoiq.com/files/2011/10/socket.jpeg" alt="" width="232" height="152" class="alignnone size-full wp-image-3252" /></a><br />
<strong>Web-Sockets</strong></p>
<p>One of the most important pieces of the new streaming in GeoIQ is the mechanism of delivery: Web-Sockets. Within all maps we now open a web-socket to a local socket server running Node.js and using Socket.IO. The socket server binds to the remote AMQP instance, routes the data to the correct MongoDB collection, and emits data to our maps. The web socket connection made by each map routes data pertaining to the correct data layers in the map and the Javascript handles the rest. </p>
<p><strong>AddFeatures API</strong></p>
<p>The ability for the web-sockets to pass data to a map is huge, but previously we had no way to change the data in a map once it had been mapped. This all changed when we developed a new API method called <a href="http://developer.geoiq.com/api/javascript/methods.html">addFeatures</a>. The method lets us dynamically append data to any layer in a map. So as new data points are received from the server we add it the correct layer in the map using &#8220;addFeatures&#8221;. Its very handy, and it allows any one to easily alter the data in their GeoCommons and GeoIQ maps and create their own realtime applications.       </p>
<p><strong>Our Next Steps</strong></p>
<p>Its easy to think about all the possibilities that streaming opens up in our applications, and we&#8217;re not stopping any time soon. Its probably safe to expect us to be taking the idea of dynamic maps and data pretty far. Without giving it all away we&#8217;re thinking along the lines of realtime analytics, dynamic event alerting and more tools for easy collaboration. What we&#8217;ve just opens the door to bright, and dynamic future at GeoIQ. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geoiq.com/2011/11/02/streaming-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

