<?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>spatial nodes &#187; design</title>
	<atom:link href="http://blog.minst.net/category/design/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.minst.net</link>
	<description>Thoughts of a lost soul</description>
	<lastBuildDate>Mon, 23 Jan 2012 16:33:44 +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>Timesliding canvas maplayer</title>
		<link>http://blog.minst.net/2012/01/23/timesliding-canvas-maplayer</link>
		<comments>http://blog.minst.net/2012/01/23/timesliding-canvas-maplayer#comments</comments>
		<pubDate>Mon, 23 Jan 2012 16:30:10 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[user interaction]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=297</guid>
		<description><![CDATA[After someone saw my BAG building data movie he asked if it would be possible to create an interactive map of the entire Netherlands. This made me think, since creating the movie was a very time consuming action. The problem is that there are about 6 million buildings in the BAG database. This makes the [...]]]></description>
			<content:encoded><![CDATA[<p>After someone saw my BAG building data movie <p><a href="http://blog.minst.net/2012/01/23/timesliding-canvas-maplayer"><em>Click here to view the embedded video.</em></a></p> he asked if it would be possible to create an<a title="Interactive BAG viewer" href="http://bag.edugis.nl/" target="_blank"> interactive map</a> of the entire Netherlands. This made me think, since creating the movie was a very time consuming action. The problem is that there are about 6 million buildings in the <a href="http://bag.vrom.nl">BAG</a> database. This makes the data a bit unwieldy to use directly in the browser. The old fashioned way to do time series on maps involves creating a new layer for each time-moment (year in this case). This would mean that there would be over 150 layers to be loaded on the map and switching between those for the &#8216;time sliding&#8217; effect. Apart from the hideous task to set up 150 almost the same layers, it would end up with too much images for a browser to handle.</p>
<p><span id="more-297"></span>However modern browsers have the &lt;canvas&gt; element. This element allows for the manipulation of single pixels within this element. So I figured if I could encode the building-dates in a PNG and use canvas to display only those pixels which represent a building older than the given date it should be possible to time-slide through the buildings. Fortunately the fancy new mapping library <a href="http://leaflet.cloudmade.com/">Leaflet.js</a> has a canvas tile layer build in. The BAG data is already available through EduGIS, so I only needed it to encode the data differently in the PNGs.</p>
<p>The encoding is very simple: per pixel there are 4 values available: red, green, blue and alpha. Since I only needed to encode 200-odd values I used just the red value. The years before 1850 are encoded as groups, since the data is so sparse, after 1850 each year is individually encoded. This means that from 1850 onwards the red value increases with 1. The client retrieves the encoded PNGs as normal tiles and look like this: <img class="alignright" title="Encoded BAG tile" src="http://bag.edugis.nl/tiles/tilecache.py/ibag/14/8416/10998.png" alt="" width="256" height="256" /></p>
<p>The image appears grey because I kept the green and blue values of the PNG the same as the red. This image is loaded into canvas and the imageData is retrieved using ctx.getImageData(0, 0, 256, 256) and stored as a jQuery data object on the canvas. This is important, since for visual effect we will manipulate the imageData on the canvas and we want to keep track of the original values. Once the imageData is attached to the canvas the colors are being calculated. It will take the original values, compares them to the current year and will decide whether or not to show the pixel and in which color.</p>
<p>Since only the grey tile is needed, the actual sliding through time is really fast because it doesn&#8217;t need to retrieve more data. With 4 bands of 255 values each you can encode an insane amount of data into a PNG, readily available through canvas for direct manipulation. Apart from time sliding, is detailed representation of DEM data an obvious use case.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2012/01/23/timesliding-canvas-maplayer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dymaxion Map</title>
		<link>http://blog.minst.net/2011/11/23/dymaxion-map</link>
		<comments>http://blog.minst.net/2011/11/23/dymaxion-map#comments</comments>
		<pubDate>Tue, 22 Nov 2011 23:23:05 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=290</guid>
		<description><![CDATA[I&#8217;ve been thinking a while about creating a nice SVG map in the Dymaxion projection to hang on my wall &#8211; being a GIS expert I need to have a map on my wall However Dymaxion is not like most projections and standard GIS software doesn&#8217;t support it. Luckily there are some tools available, most [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking a while about creating a nice SVG map in the <a href="http://en.wikipedia.org/wiki/Dymaxion_map">Dymaxion</a> projection to hang on my wall &#8211; being a GIS expert I need to have a map on my wall <img src='http://blog.minst.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  However Dymaxion is not like most projections and standard GIS software doesn&#8217;t support it. Luckily there are some tools available, most important the Perl module<a href="http://search.cpan.org/~sderle/Geo-Dymaxion-0.12/Dymaxion.pm"> Geo::Dymaxion</a>, written by Schuyler Erle. This module transforms lat/long coordinates to dymaxion coordinates relative to an image size. This means it is easy, given an existing dymaxion map to plot point s on top of them, as shown in his book <a href="http://books.google.com/books?id=CiO5JtP171oC&amp;pg=PA148&amp;lpg=PA148&amp;dq=dymaxion+projection+code&amp;source=bl&amp;ots=V2WSSurTpz&amp;sig=H6VlmITkblc90eyzWf_NDHMkhB8&amp;hl=en&amp;ei=R0-jTZjsNNK1twen2cGAAw&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=4&amp;ved=0CDMQ6AEwAw#v=onepage&amp;q=dymaxion%20projection%20code&amp;f=false">mapping hacks</a>, code <a href="http://iconocla.st/hacks/dymax/">here</a>.</p>
<p><span id="more-290"></span>However a map consists of more than points. So I wrote a simple <a href="http://dl.dropbox.com/u/175548/dymyx.pl">Perl script</a> to transform the coordinates of a GeoJSON into Dymaxion. It should find any coordinate pairs in Point, LineString, Polygon, MultiPoint, MultiLineString and MultiPolygon features and replace the pairs with dymaxion ones. These new pairs do not make a lot of sense in normal GIS software, but exporting them to SVG will give you a nice Dymaxion map. GeoJSON is not a common format (yet!?) but it is easy to create form a shapefile using <a href="http://www.gdal.org/ogr2ogr.html">ogr2ogr</a>.</p>
<p>So the steps to follow are:<br />
1 convert your input shapefile to json:<code><br />
ogr2ogr -f GeoJSON processed.json input.shp</code></p>
<p>2 dymaxionify your json:</p>
<p><code>./dymyx.pl</code></p>
<p>3 load the json in qgis</p>
<p><code>qgis output.json</code></p>
<p>4 export the map as SVG</p>
<p>unfortunately I don&#8217;t know a comandline for that, but if you use the print composer tool, and compose a map you can save that as SVG. There might be easier ways, but haven&#8217;t found them yet.</p>
<p>For example I ran the <a href="http://www.naturalearthdata.com/downloads/50m-physical-vectors/">50m-coastlines</a> and created a new dymaxion coastline SVG as seen <a href="http://dl.dropbox.com/u/175548/50m-coastlines.svg">here</a></p>
<p><a href="http://blog.minst.net/wp-content/uploads/2011/11/qgis2.png" rel="lightbox[290]"><img class="alignnone size-large wp-image-291" title="dymaxion  coastlines" src="http://blog.minst.net/wp-content/uploads/2011/11/qgis2-1024x724.png" alt="" width="449" height="317" /></a></p>
<p>Note: it doesn&#8217;t handle encoded characters as it should aka a bug</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2011/11/23/dymaxion-map/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSM history in one image</title>
		<link>http://blog.minst.net/2010/09/02/osm-history-in-one-image</link>
		<comments>http://blog.minst.net/2010/09/02/osm-history-in-one-image#comments</comments>
		<pubDate>Thu, 02 Sep 2010 15:45:08 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[OSM]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=284</guid>
		<description><![CDATA[OSM coverage of Berlin over time I was asked to design a cover for the thesis of our intern working on crowd quality in OSM. This image is a modification of the nice animations GeoFabrik produce on demand, in this case Berlin. Since it needs to be printed I couldn&#8217;t use the animation itself. Time [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.minst.net/wp-content/uploads/2010/09/berlin-anim2.png" rel="lightbox[284]"><img class="alignnone size-medium wp-image-285" title="Berlin over time" src="http://blog.minst.net/wp-content/uploads/2010/09/berlin-anim2-300x239.png" alt="" width="300" height="239" /></a></p>
<p>OSM coverage of Berlin over time</p>
<p><span id="more-284"></span>I was asked to design a cover for the thesis of our intern working on crowd quality in OSM. This image is a modification of the nice animations <a href="http://www.geofabrik.de/gallery/history/index.html">GeoFabrik </a>produce on demand, in this case Berlin. Since it needs to be printed I couldn&#8217;t use the animation itself. Time moves within the image from left to right. You see that early in OSM-history there was just one highway and over time the data becomes more complete and hopefully more accurate.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2010/09/02/osm-history-in-one-image/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kõik &#8211; drawing menu</title>
		<link>http://blog.minst.net/2010/09/01/koik-drawing-menu</link>
		<comments>http://blog.minst.net/2010/09/01/koik-drawing-menu#comments</comments>
		<pubDate>Wed, 01 Sep 2010 18:32:26 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[TableTop]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[kõik]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=257</guid>
		<description><![CDATA[The first short movie in the kõik on the MS Surface series; the drawing menu: The Surface has been hanging around in our office for a while and we&#8217;ve done lots of interesting small and big projects for it. However they&#8217;ve been pretty fragmented and to show what we could do with the Surface you [...]]]></description>
			<content:encoded><![CDATA[<p>The first short movie in the kõik on the MS Surface series; the drawing menu:</p>
<p><a href="http://blog.minst.net/2010/09/01/koik-drawing-menu"><em>Click here to view the embedded video.</em></a></p>
<p><img title="More..." src="http://blog.minst.net/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /><span id="more-257"></span></p>
<p>The Surface has been hanging around in our office for a while and we&#8217;ve done lots of interesting small and big projects for it. However they&#8217;ve been pretty fragmented and to show what we could do with the Surface you had to use several applications which had many similarities, which was confusing. So we decided that it was time to create an application which would show all our new ideas and developments. Looking for a nice name we came across &#8216;<a href="http://en.wiktionary.org/wiki/k%C3%B5ik">kõik</a>&#8216; which both means everyone and every(thing), which is pretty much sums up what we want to achieve: an application which can be used by everyone and shows everything we do.</p>
<p>It was originally designed for landuse planning. Planners need to be able to move and zoom a map, but also annotate on it. The trouble with touch devices is that there is no difference between drawing and dragging, unlike keyboard/mouse (drawing is left mousebutton and dragging middle for instance). Having to press a button somewhere on the Surface to enable/disable drawing was too confusing, people tend to forget that they pressed them and in what modus they are now.</p>
<p>Having a physical object on the table turned out to be much easier to use and remember. If there was &#8216;the&#8217; object on the table, you could draw and if you want to move the map, you just lift the object and move the map. Having established the object as the drawing-toggle, I then moved all drawing related interaction to a menu activated and related to the object. Currently you can choose the color and line thickness and whether you want to draw a line or polygon or you want to edit existing features, undo/redo actions and add new drawing layers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2010/09/01/koik-drawing-menu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TileSeeder</title>
		<link>http://blog.minst.net/2010/09/01/tileseeder</link>
		<comments>http://blog.minst.net/2010/09/01/tileseeder#comments</comments>
		<pubDate>Wed, 01 Sep 2010 18:10:06 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=254</guid>
		<description><![CDATA[Design for a python based GUI program for tile management. (Image taken from the presentation I&#8217;m giving at foss4g 2010) I&#8217;m involved in EduGIS and one of the nice things about this project is that we have hundreds of map layers. However that begins to pose a problem for us; to produce a decent speed [...]]]></description>
			<content:encoded><![CDATA[<p>Design for a python based GUI program for tile management.</p>
<p><a href="http://blog.minst.net/wp-content/uploads/2010/09/app.png" rel="lightbox[254]"><img class="alignnone size-medium wp-image-255" title="TileSeeder mockup" src="http://blog.minst.net/wp-content/uploads/2010/09/app-300x240.png" alt="" width="300" height="240" /></a></p>
<p>(Image taken from the presentation I&#8217;m <a href="http://2010.foss4g.org/presentations_show.php?id=3450">giving</a> at <a href="http://2010.foss4g.org/program.php">foss4g</a> 2010)</p>
<p><span id="more-254"></span>I&#8217;m involved in <a href="http://www.edugis.nl/">EduGIS </a>and one of the nice things about this project is that we have hundreds of map layers. However that begins to pose a problem for us; to produce a decent speed for classes full of schoolkids using it at the same time we are using tiling.</p>
<p>We currently use <a href="http://tilecache.org/">TileCache</a>; a very nice and quick open source tilecaching program. However we keep adding layers and we need those to be quick when students are using them, but we don&#8217;t have the capacity to prerender (seed) everything, nor to do this on the fly. Since we mostly have dutch data, served at dutch students, we figured that we only need to seed a certain set of tiles; the entire country for the higher levels and the rural areas a bit deeper and the urban areas even deeper.</p>
<p>So I came up with the idea to create a desktop application to make it easier to create a complex seed that does more zoomlevels for certain areas and less for others.</p>
<p>Thanks to generous development time invested by Christian there is a first alpha available around foss4g at <a href="http://code.google.com/p/tileseeder/">googlecode</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2010/09/01/tileseeder/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualizing OpenStreetMap history &#8211; part 2</title>
		<link>http://blog.minst.net/2010/07/16/visualizing-openstreetmap-history-part-2</link>
		<comments>http://blog.minst.net/2010/07/16/visualizing-openstreetmap-history-part-2#comments</comments>
		<pubDate>Fri, 16 Jul 2010 16:10:12 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[OSM]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=214</guid>
		<description><![CDATA[Thanks to the hard work of Vincent we now have a database with the average version and average age of nodes per grid cell. Now we can start to get a feeling of the data. I&#8217;ve rendered both datasets for Amsterdam on a 10x10m grid. In general the idea is that red is bad and [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to the hard work of Vincent we now have a database with the average version and average age of nodes per grid cell. Now we can start to get a feeling of the data. I&#8217;ve rendered both datasets for Amsterdam on a 10x10m grid. In general the idea is that red is bad and green is good. The younger a node is, the more likely it reflects the current situation in the real world. Also the higher the version number, the more people have been looking at that node and corrected it.</p>
<p>At least that is the theory Martijn tries to work with.</p>
<div id="attachment_215" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.minst.net/wp-content/uploads/2010/07/AgeAdam.png" rel="lightbox[214]"><img class="size-medium wp-image-215" title="OSM node-age" src="http://blog.minst.net/wp-content/uploads/2010/07/AgeAdam-300x212.png" alt="" width="300" height="212" /></a><p class="wp-caption-text">The age in days for OpenStreetMap nodes</p></div>
<p><span id="more-214"></span>You can see a clear pattern emerging here, apparently there are areas which get mapped in a short period of time and never touched again. The white squares just didn&#8217;t have any nodes in it, so they contain no data.</p>
<div id="attachment_216" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.minst.net/wp-content/uploads/2010/07/VersionAdam.png" rel="lightbox[214]"><img class="size-medium wp-image-216" title="OSM node-version" src="http://blog.minst.net/wp-content/uploads/2010/07/VersionAdam-300x212.png" alt="" width="300" height="212" /></a><p class="wp-caption-text">The version of OSM nodes</p></div>
<p>It is more difficult to see patterns here. Whereas with age in days the number gives you an instant grasp of the meaning, the version number is less obvious. We probably need to do a statistical analysis of version numbers in OSM. This way we can attach some (relative) meaning to the average version number.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2010/07/16/visualizing-openstreetmap-history-part-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualizing OpenStreetMap history</title>
		<link>http://blog.minst.net/2010/07/06/visualizing-openstreetmap-history</link>
		<comments>http://blog.minst.net/2010/07/06/visualizing-openstreetmap-history#comments</comments>
		<pubDate>Tue, 06 Jul 2010 16:12:07 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=207</guid>
		<description><![CDATA[I&#8217;m working with Martijn and Vincent on a way to visualize the history of OpenStreetmap data for their analysis of the &#8216;crowd-quality&#8217; of the data. I used my favorite visualization tool Processing to visualize the history of one node: The red circle is the final location of the node and the path is the order [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working with Martijn and Vincent on a way to visualize the history of OpenStreetmap data for their analysis of the &#8216;crowd-quality&#8217; of the data. I used my favorite visualization tool <a href="http://processing.org/">Processing </a>to visualize the history of one <a href="http://www.openstreetmap.org/api/0.6/node/46090136/history">node</a>:</p>
<p><a href="http://blog.minst.net/wp-content/uploads/2010/07/tracks2.png" rel="lightbox[207]"><img class="alignnone size-medium  wp-image-210" title="Node: 46090136" src="http://blog.minst.net/wp-content/uploads/2010/07/tracks2-300x225.png" alt="" width="300" height="225" /></a></p>
<p><span id="more-207"></span>The red circle is the final location of the node and the path is the order of changes. You can see that the first changes were much more rough than the last ones.</p>
<p>I also did the same for an entire <a href="http://www.openstreetmap.org/api/0.6/way/10210239/history">way</a>, where the way itself is shown in blue and the versions of the nodes are shown next to the nodes.</p>
<p><a href="http://blog.minst.net/wp-content/uploads/2010/07/tracks1.png" rel="lightbox[207]"><img class="alignnone size-medium wp-image-209" title="Way 10210239" src="http://blog.minst.net/wp-content/uploads/2010/07/tracks1-300x225.png" alt="" width="300" height="225" /></a></p>
<p>The trouble is that it is currently quite difficult to get the full (spatial) history of an area in OpenStreetMap. Once we find a way to do so I hope to generate more and play a bit with different visualization styles and methods.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2010/07/06/visualizing-openstreetmap-history/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualizing gps tracks with Processing</title>
		<link>http://blog.minst.net/2009/12/21/visualizing-gps-tracks-with-processing</link>
		<comments>http://blog.minst.net/2009/12/21/visualizing-gps-tracks-with-processing#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:04:21 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=198</guid>
		<description><![CDATA[At work we got an i-gotU (a GPS logger) as a Christmas present. To show what one can do with it I decided to ask a few people to use their i-gotU to record their travels for two weeks. This resulted in over 42000 locations done by 8 different persons. Each person got his/her own [...]]]></description>
			<content:encoded><![CDATA[<p>At work we got an <a href="http://www.i-gotu.com/">i-gotU</a> (a GPS logger) as a Christmas present. To show what one can do with it I decided to ask a few people to use their i-gotU to record their travels for two weeks. This resulted in over 42000 locations done by 8 different persons. Each person got his/her own color in the visualization to be able to see when people were near one another. Since the office is in Amsterdam and most people live in (different parts of) Amsterdam you can quickly see the contours of Amsterdam&#8217;s city-plan appear. Also interestingly is to note that people have their own specific areas where they spend most of their time.</p>
<p><a href="http://blog.minst.net/2009/12/21/visualizing-gps-tracks-with-processing"><em>Click here to view the embedded video.</em></a></p>
<p><span id="more-198"></span></p>
<p>To visualize these tracks I used <a href="http://processing.org/">Processing</a>, &#8216;an open source programming language and environment for people who want to program images, animation, and interactions.&#8217;  There are lots of plugins to read different data formats, an interesting one for this project is the <a href="http://processing.org/hacks/hacks:gpx">gpx library</a>. The plan was to render the tracks of each person in a different color, tracks which happened at the same time should be drawn at the same time. This way you can see which people are at the same time at the same location. Each track would fade out in time, leaving a thin line for past tracks.</p>
<p>To do this on a track-basis however turned out to be quite difficult for my limited knowledge of Processing and the time I had available. So instead of using the gpx module I created a flat table with all locations sorted by time. Each row of the table contains lon,lat,color-id,time. The program iterates through all 42000+ rows and draws the locations as a dot. The size of the dot depends on how &#8216;old&#8217; the point is. The last 200 points are drawn with a diminishing size, creating the worm-like effect in the animation. Note that it doesn&#8217;t take into account the actual time between points, just if it is next in line.</p>
<p>A few tweaks were added: Holland in unprojected lat-lon looks odd to dutch people, so I implemented a simple projection library to reproject the points to a semi-RD (dutch projection). Also I wanted to dynamically zoom to the action (not everything was happening in Amsterdam). I did this by calculating the minimum and maximum X and Y for the last 200 points. I wanted the location of our office building to be in view all the time, to provide a point of reference.</p>
<p>The source code can be found <a href="http://blog.minst.net/wp-content/uploads/2009/12/drawing.zip">here </a>if you are really interested. There are three files: Table.pde as written by Ben Fry for his book Visualizing Data, Soprojection.pde, written by <a href="http://blog.geodeo.nl/">Steven Fruijtier</a> at my request and Drawing.pde is hacked together by me. This is a very crude and brute-force approach to render a series of tracks, so please use it with care. Since it needs to recalculate each point for each frame it tends to become slower as it advances through the table.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2009/12/21/visualizing-gps-tracks-with-processing/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>State of the Map</title>
		<link>http://blog.minst.net/2009/01/13/state-of-the-map</link>
		<comments>http://blog.minst.net/2009/01/13/state-of-the-map#comments</comments>
		<pubDate>Tue, 13 Jan 2009 22:59:54 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[OSM]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=138</guid>
		<description><![CDATA[My friend and colleague New Folder is organizing the State of the Map conference this year. He asked me to design a banner for the official site. The conference is, apart from the usual OSM gathering, also focusing on businesses/governments and how they can use OSM data in their line of work. So I decided [...]]]></description>
			<content:encoded><![CDATA[<p>My friend and colleague New Folder is organizing the State of the Map conference this year. He asked me to design a banner for the official site. The conference is, apart from the usual OSM gathering, also focusing on businesses/governments and how they can use OSM data in their line of work. So I decided to create a banner which reflects the transistion OSM has been through. It started with a single idea and a few people collecting GPS tracks. Slowly from these tracks roads could be destinguished. Different types of roads where classified and more and more data was included and suddenly you got a map which at some points was more detailed than a &#8216;commercial&#8217; map.</p>
<div id="attachment_139" class="wp-caption alignnone" style="width: 533px"><a href="http://blog.minst.net/wp-content/uploads/2009/01/banner.png" rel="lightbox[138]"><img class="size-full wp-image-139" title="banner" src="http://blog.minst.net/wp-content/uploads/2009/01/banner.png" alt="First SoftM'09 banner" width="523" height="55" /></a><p class="wp-caption-text">First draft SoftM&#39;09 banner</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2009/01/13/state-of-the-map/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Showing private data on a public touch table</title>
		<link>http://blog.minst.net/2008/11/05/showing-private-data-on-a-public-touch-table</link>
		<comments>http://blog.minst.net/2008/11/05/showing-private-data-on-a-public-touch-table#comments</comments>
		<pubDate>Wed, 05 Nov 2008 17:43:18 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[TableTop]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[user interaction]]></category>
		<category><![CDATA[Surface]]></category>

		<guid isPermaLink="false">http://blog.minst.net/2008/11/05/showing-private-data-on-a-public-touch-table</guid>
		<description><![CDATA[Designing interfaces for multi-touch tabletop computers; Basic animation of hiding a card from view After watching the Secondlight demo from Microsoft, Johan came up with an idea to show &#8216;private&#8217; information on a touchtable. For instance during a board game on the table a player wants to view his private stack of cards. In a [...]]]></description>
			<content:encoded><![CDATA[<p>Designing interfaces for multi-touch tabletop computers;</p>
<p><img src="http://blog.minst.net/wp-content/uploads/2008/11/hide.gif" alt="Showing private data on a public table" /></p>
<p><em>Basic animation of hiding a card from view</em></p>
<p><em><span id="more-128"></span><br />
</em></p>
<p>After watching the <a href="http://www.youtube.com/watch?v=D5NrdoJvu9s" target="_blank">Secondlight </a>demo from Microsoft, Johan came up with an idea to show &#8216;private&#8217; information on a touchtable. For instance during a board game on the table a player wants to view his private stack of cards. In a traditional game he would have his cards turned upside down and would view them behind his hand. This behaviour can be mimiced on the table as well. If the user puts the side of his hand on the table the table can show the card within the confines of his hand.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2008/11/05/showing-private-data-on-a-public-touch-table/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

