<?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"
	>

<channel>
	<title>Cartogrammar</title>
	<atom:link href="http://cartogrammar.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cartogrammar.com/blog</link>
	<description></description>
	<pubDate>Sat, 08 Nov 2008 17:07:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>The election at night</title>
		<link>http://www.cartogrammar.com/blog/the-election-at-night/</link>
		<comments>http://www.cartogrammar.com/blog/the-election-at-night/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 23:57:31 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[axis maps]]></category>

		<category><![CDATA[election maps]]></category>

		<category><![CDATA[map projects]]></category>

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=19</guid>
		<description><![CDATA[
We&#8217;re working on putting together a few election maps and and graphs at Axis Maps, and above is one that we&#8217;ve come up with so far.
It&#8217;s a standard red-blue map indicating the winner of each county in the lower 48 states, where the transparency indicates the population of a county.  The many counties with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.axismaps.com/blog/2008/11/a-new-kind-of-election-map/"><img src="http://www.cartogrammar.com/images/night_election_redblue.jpg" alt="Election results by county with population" /></a></p>
<p>We&#8217;re working on putting together a few election maps and and graphs at <a href="http://www.axismaps.com/blog/2008/11/a-new-kind-of-election-map/">Axis Maps</a>, and above is one that we&#8217;ve come up with so far.</p>
<p>It&#8217;s a standard red-blue map indicating the winner of each county in the lower 48 states, where the transparency indicates the population of a county.  The many counties with low population fade into the background, diminishing their visual prominence.  This is meant to accomplish something similar to a cartogram, where sizes are distorted to show the actual distribution of votes.  It&#8217;s step one of trying out alternatives to the <a href="http://www-personal.umich.edu/~mejn/election/2008/">cartograms</a> that I <a href="http://www.cartogrammar.com/blog/i-hate-your-favorite-election-map/">complained about</a> earlier this week.  I won&#8217;t claim yet that it&#8217;s better&#8230; just <em>different</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/the-election-at-night/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What should ColorBrewer look like in 2008?</title>
		<link>http://www.cartogrammar.com/blog/what-should-colorbrewer-look-like-in-2008/</link>
		<comments>http://www.cartogrammar.com/blog/what-should-colorbrewer-look-like-in-2008/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 16:19:00 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[axis maps]]></category>

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

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=18</guid>
		<description><![CDATA[Attention cartographers: Cindy Brewer has allowed us at Axis Maps the privilege of making some updates to the fantastic ColorBrewer tool.  We&#8217;d like suggestions from the community on what to change, what to keep the same, etc.
Drop us a line over here: ColorBrewer 2.0
]]></description>
			<content:encoded><![CDATA[<p>Attention cartographers: <a href="http://www.personal.psu.edu/cab38/">Cindy Brewer</a> has allowed us at Axis Maps the privilege of making some updates to the fantastic <a href="http://www.colorbrewer.org">ColorBrewer</a> tool.  We&#8217;d like suggestions from the community on what to change, what to keep the same, etc.</p>
<p>Drop us a line over here: <a href="http://www.axismaps.com/blog/2008/11/colorbrewer-20/">ColorBrewer 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/what-should-colorbrewer-look-like-in-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I hate your favorite election map</title>
		<link>http://www.cartogrammar.com/blog/i-hate-your-favorite-election-map/</link>
		<comments>http://www.cartogrammar.com/blog/i-hate-your-favorite-election-map/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 23:05:16 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

		<category><![CDATA[election maps]]></category>

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

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=17</guid>
		<description><![CDATA[I am not by nature an angry person&#8212;in fact my friends at times find me irritatingly even-tempered&#8212;nor am I known to truly hate anything, but provocative titles have their place, right?
We&#8217;ve once again arrived at that special time of (every fourth) year when the internet abounds with maps, charts, and other graphics attempting to depict [...]]]></description>
			<content:encoded><![CDATA[<p>I am not by nature an angry person&mdash;in fact my friends at times find me irritatingly even-tempered&mdash;nor am I known to truly <em>hate</em> anything, but provocative titles have their place, right?</p>
<p>We&#8217;ve once again arrived at that special time of (every fourth) year when the internet abounds with maps, charts, and other graphics attempting to depict and analyze every geographic and demographic angle of the US presidential election. I am happy for these, both in the perspectives they provide on the election and in the demonstration of interesting visualization methods.</p>
<p>But as a cartographer in the eternal quest for the Perfect Map, I find myself complaining about some map and graphics.  In particular, I take exception to this:</p>
<p><img src="http://www.cartogrammar.com/images/2004cartogram.jpg" alt="2004 presidential election cartogram" /></p>
<p>For anyone who doesn&#8217;t know, the above is a <strong>cartogram</strong> (&#8217;bout time I wrote about that which my site is named after!) of the United States, in this case a map by <a href="http://www-personal.umich.edu/~mejn/election/">Michael Gastner, Cosma Shalizi, and Mark Newman</a> showing the results of the 2004 presidential election by county (we&#8217;ll soon be seeing one for 2008).  A cartogram is a map that does not strive for geographic accuracy, but rather in which the <em>area</em> of units actually represents some value.  In the election map, each county&#8217;s size represents its number of voters.  The point of the map is to show that while a geographic red-blue election map would show an apparent vastness of Republican votes, those &#8220;red&#8221; areas actually account for about the same number of votes as the tiny &#8220;blue&#8221; areas.  (The message is further conveyed by coloring counties along a red-blue continuum to show the actual balance of votes rather than simply coloring by the winner, something first seen in <a href="http://www.princeton.edu/~rvdb/JAVA/election2004/">Robert Vanderbei&#8217;s election maps</a>.)</p>
<p>I&#8217;ve written several drafts of many paragraphs to try to explain my opinion, but really, who has time to read all my ranting?  Short version: apologies to <a href="http://www.pnas.org/content/101/20/7499.abstract">Drs. Gastner and Newman</a>, but as a cartographer interested in clear and effective design, I really believe that cartograms generated from their method are severely over-hyped and far more popular than they should be.  Consider the election map (or any number of examples)&#8230;</p>
<ul>
<li>Ugly! All that puckering and bloating&#8230; I wouldn&#8217;t want to share an elevator with that America.</li>
<li>Topology preservation at the expense of shape: even if I know what a county looks like on a normal map, I&#8217;m going to have a hard time identifying it here.</li>
<li>On shape, still: curvy shape distortions are harder to recognize than simplified polygonal shapes.</li>
<li>The overall distortions leave me gleaning only about five things from this map: east, west, Florida, Michigan, and that there is roughly the same amount of blue as red.  Yes, I know that last one is the whole point, but if I can barely discern the geography, why bother to use a map?  There are lots of cool visualization works that deserve attention too.</li>
<li>Fast and easy cartograms (including this particular map) are not useless, and the work by Gastner and Newman is an important contribution, but there are under-appreciated careful designs out there.  Consider the excellent cartograms from <a href="http://mappingworlds.org/index.html">Mapping Worlds</a>:</li>
</ul>
<p><img src="http://www.cartogrammar.com/images/world-mw.jpg" alt="World map, Mapping Worlds" /></p>
<p>The bottom line is that many&mdash;perhaps even most&mdash;cartograms are essentially used for <em>shock value</em>, for the &#8220;holy crap, that&#8217;s a different perspective!&#8221; response, which is exactly what they get.  Too frequently they can&#8217;t stand as maps on their own.  I think the election cartogram is only of use when it&#8217;s next to an undistorted map.  The best maps and graphics are those that tell their story clearly and elegantly, not those that simply evoke an emotional response.  There are a million good reasons why I&#8217;m wrong to complain, but rather than going on and on in an attempt to counter them I will simply acknowledge that they exist and expound later if necessary.</p>
<p><em>&#8220;Put your money where your mouth is, jackass!&#8221;</em><br />
Oh, actually that&#8217;s a pretty important reason I&#8217;m wrong to complain.  Okay, I promise I will attempt to come up an alternative visualization of the same information as that election cartogram, as soon as I figure out where people find such detailed election data so quickly.  (And, as I stressed &#8220;careful design,&#8221; it&#8217;s not going to be instant.)  I&#8217;ll also keep an eye out in the coming days for maps and graphics that I think are more effective.</p>
<p>Having deleted most of what I previously wrote for this post, I wasn&#8217;t left with a good place to bring it up, but I must, as I seem to do in nearly every alternate post, refer to the work of my mortal enemy <a href="http://indiemaps.com/blog">Zachary Johnson</a>, who wrote his master&#8217;s thesis on <a href="http://indiemaps.com/blog/2008/04/cartogram-design/">cartogram designs in political maps</a>.  (He should be writing about this stuff.  Maybe someday he&#8217;ll at least finally write about his findings.  Eh, Joncy?)  At the University of Wisconsin-Madison, specifically in room 412 Science Hall, we did not take cartographic research seriously if it could not be depicted by a cube.  As such, Zach defined a cartogram typology (Cartogram<sup>3</sup>) by three characteristics: <em>shape preservation</em>, <em>topology preservation</em> (the preservation of boundaries and connectivity), and <em>density equalization</em> (essentially, how accurately area corresponds to value).  No cartogram can be perfect in all three, and in fact most compromise all three to some degree.  Zach tested several designs, each making different sacrifices, in political map-reading tasks.  Note that I have bitched about shape preservation versus topology preservation. His research backs me up in some respects, but not in others.  But I&#8217;m not in academia anymore; I don&#8217;t need &#8220;research&#8221; to know that I&#8217;m right!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/i-hate-your-favorite-election-map/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mapping tag clouds</title>
		<link>http://www.cartogrammar.com/blog/mapping-tag-clouds/</link>
		<comments>http://www.cartogrammar.com/blog/mapping-tag-clouds/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 13:16:50 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[election maps]]></category>

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

		<category><![CDATA[map projects]]></category>

		<category><![CDATA[tag clouds]]></category>

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=16</guid>
		<description><![CDATA[Over on the Axis Maps blog I&#8217;ve written up a side project I began several months ago but never got very far on: mapping the geography of presidential campaign speeches.  It&#8217;s still an interesting idea, but my colleagues and I didn&#8217;t have the time to fully develop it, so you&#8217;ll have to settle for [...]]]></description>
			<content:encoded><![CDATA[<p>Over on the Axis Maps blog I&#8217;ve <a href="http://www.axismaps.com/blog/2008/10/the-geography-of-presidential-campaign-rhetoric/">written up</a> a side project I began several months ago but never got very far on: <a href="http://www.axismaps.com/campaignspeeches">mapping the geography of presidential campaign speeches</a>.  It&#8217;s still an interesting idea, but my colleagues and I didn&#8217;t have the time to fully develop it, so you&#8217;ll have to settle for some screenshots.</p>
<p><a href="http://www.axismaps.com/campaignspeeches"><img src="http://www.cartogrammar.com/images/wordcloud_medpreview.jpg" alt="Campaign speeches word cloud map" /></a></p>
<p>Not wanting to simply write duplicate content here, I thought I&#8217;d say a bit about what is perhaps novel about the project, which is visualizing word frequency on a map.  <a href="http://en.wikipedia.org/wiki/Tag_cloud">Word clouds or tag clouds</a> are trendy these days, especially given a tool like <a href="http://www.wordle.net/">Wordle</a> that can produce a damn sexy word cloud.  They&#8217;re something of a simple and elegant visualization, combining data and label in one, and they&#8217;re pretty effective.  (Their drawbacks should be noted, however.  See, for example, the caveats at the bottom of this <a href="http://services.alphaworks.ibm.com/manyeyes/page/Tag_Cloud.html">Many Eyes page</a> or <a href="http://indiemaps.com/blog/2008/04/how-tag-clouds-work/">Zachary &#8220;Hollywood&#8221; Johnson&#8217;s experiments</a> with tag scaling to address a potential overemphasis on long words.)</p>
<p>So tag clouds are hip.  I thought it would be interesting to find a way to use them in a map.  Easy enough: if a collection of words is associated with a location, slap it on a map.  That&#8217;s the basic idea behind the campaign speeches maps.  We can see how campaign word use varies across the region.  Beyond that, though, I wanted to see how the patterns look at different scales by aggregating neighboring word clouds.</p>
<p><img src="http://www.cartogrammar.com/images/aggregate.png" alt="Aggregation" /></p>
<p>Aggregation is a basic and necessary cartographic generalization procedure wherein multiple point symbols are replaced with with a single areal symbol to represent them*.  It&#8217;s a matter of scale; if you&#8217;ve got too many symbols close together to discern them at a small scale, you&#8217;re better off combining them.  I&#8217;m a fan of the way <a href="http://www.everyblock.com/">EveryBlock</a> maps have such scale-dependent symbolization.  If there are too many points to show individually, they are combined into a larger symbol with a number on it.  (It effectively becomes a proportional symbol map.)  I wanted to do something similar with word clouds: if there were too many to fit in a given area, combine them into a single cloud encompassing words from all the individual clouds.</p>
<p>The spatial perspective it gives, then, is patterns from broad regions down to a local level.  For example, zooming from the national level into my home state of Ohio on the campaign speech map, we see the word patterns for the general northeastern quadrant of the country, then the Midwest, then individual cities in Ohio.</p>
<p><img src="http://www.cartogrammar.com/images/words_national.png" alt="National scale" /><br />
<img src="http://www.cartogrammar.com/images/words_midwest.png" alt="Regional scale" /><br />
<img src="http://www.cartogrammar.com/images/words_ohio.png" alt="Local scale" /></p>
<p>As this project became neglected, so did my interest in learning about better aggregation algorithms.  Mine was pretty basic and probably inefficient.  It essentially draws all the tag clouds, finds the closest pair, checks if they overlap, if so combines them into one at the average location, and then repeats the process until no more clouds overlap.  Each cloud shows only as many as 20 words, and half of them are from each candidate where possible.  It&#8217;s a comparison of two texts, but not in a word-for-word way that is sometimes seen, for instance <a href="http://services.alphaworks.ibm.com/manyeyes/view/SQYskMsOtha64CXvdXd0N2~">here</a> at Many Eyes.</p>
<p>Anyway, I think these scale-dependent tag clouds are an interesting idea to pursue further, and I&#8217;m not sure if anyone&#8217;s done it before.  Other examples would be most welcome!</p>
<p class="footnote">* Note that the technical definition of aggregation involves &#8220;increased dimensionality&#8221; (to quote my friend Robert &#8220;The Hammer&#8221; Roth in his work on the <a href="http://www.scalemaster.org">ScaleMaster</a> project at Penn State), e.g. from points to polygon.  With my word clouds it&#8217;s more like polygon-to-polygon, but not a larger polygon, which would be closer to <em>amalgamation</em>.  I&#8217;m not sure what a generalization expert would actually call this, as it&#8217;s sort of a content operation manifested in an geometry operation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/mapping-tag-clouds/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blog-on-blog action: Axis Maps blog</title>
		<link>http://www.cartogrammar.com/blog/blog-on-blog-action-axis-maps-blog/</link>
		<comments>http://www.cartogrammar.com/blog/blog-on-blog-action-axis-maps-blog/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 16:21:42 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[axis maps]]></category>

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=15</guid>
		<description><![CDATA[
I wish to call attention to the fact that my humble little company Axis Maps has launched a new blog.  This blog, I must stress, does not exist merely to promote ourselves, but rather to talk about practical cartography.  So please stay tuned to it while our Ph.D. holders Mark Harrower and Ben [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.axismaps.com/blog"><img src="http://www.cartogrammar.com/images/logo.png" alt="Axis Maps logo" /></a></p>
<p>I wish to call attention to the fact that my humble little company <a href="http://www.axismaps.com">Axis Maps</a> has launched a new <a href="http://www.axismaps.com/blog">blog</a>.  This blog, I must stress, does <strong>not</strong> exist merely to promote ourselves, but rather to talk about practical cartography.  So please stay tuned to it while our Ph.D. holders Mark Harrower and Ben Sheesley drop cartographic knowledge bombs on your face, and while Dave Heyman and I keep it real.</p>
<p>We begin with a single post by Mark Harrower, <em><a href="http://www.axismaps.com/blog/2008/10/i%e2%80%99m-not-here-to-make-your-data-look-pretty/">I&#8217;m not here to make your data look pretty.</a></em>  Expect more soon, though!  When they&#8217;re not too inane, I&#8217;ll copy my posts from here to the Axis Maps blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/blog-on-blog-action-axis-maps-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Faking a progressive image download in Flash</title>
		<link>http://www.cartogrammar.com/blog/faking-a-progressive-image-download-in-flash/</link>
		<comments>http://www.cartogrammar.com/blog/faking-a-progressive-image-download-in-flash/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 22:04:21 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=13</guid>
		<description><![CDATA[
<object	type="application/x-shockwave-flash"
			data="http://www.cartogrammar.com/flash/progressive.swf"
			width="600"
			height="400">
	<param name="movie" value="http://www.cartogrammar.com/flash/progressive.swf" />
</object>
So I have a single map that I need to show at several different scales in an interactive fashion.  It&#8217;s got to be a pretty big image to look decent when I zoom in, so that means a large file and a long download.  But I only need to [...]]]></description>
			<content:encoded><![CDATA[
<object	type="application/x-shockwave-flash"
			data="http://www.cartogrammar.com/flash/progressive.swf"
			width="600"
			height="400">
	<param name="movie" value="http://www.cartogrammar.com/flash/progressive.swf" />
</object>
<p>So I have a single map that I need to show at several different scales in an interactive fashion.  It&#8217;s got to be a pretty big image to look decent when I zoom in, so that means a large file and a long download.  But I only need to see the scaled-down map when it first loads.  I don&#8217;t want to wait for a big image to download when I just need a little one to start!  The hip (or some might say &#8220;smart&#8221;) way to deal with such a problem is to break the image into tiles and load said tiles on the fly as needed.  But this is a simple, one-off creation, and I&#8217;m too lazy, too stupid, or too pressed for time to figure out tiling.</p>
<p>That was my situation recently.  And I thought to myself <em>hey, the world needs more backward-looking individuals</em>, and patted myself on the back for avoiding learning and taking the easy way out: <strong>use Flash&#8217;s timeline to fake a progressive download!</strong></p>
<p>The solution takes advantage of the way a Flash movie loads: rather than waiting for the whole file to load, individual timeline frames appear as soon as their content has loaded.  It&#8217;s something I first exploited for my <a href="http://www.cincinnatiroads.com">CincinnatiRoads</a> map, embedding videos right in the timeline to allow easier playback manipulation but also have a progressive download.  Flash, from what I can tell, supports progressive JPEGs but does not display them progressively.</p>
<p>So, for my map:</p>
<ol>
<li>Save a scaled-down image that is a manageable file size.</li>
<li>Divide the full-res image into tiles, also of manageable file sizes (mine is 16 tiles).</li>
<li>In Flash, plop the small image from (1) on the stage.</li>
<li>Then place the full-res tiles on top of the small image, scaling them down (in Flash!) to match the size of the small image.  (When they&#8217;re blown back up by zooming in, they&#8217;ll look fine.)  Place each tile in its own layer, and move each to its own frame.  My timeline looks like this:</li>
</ol>
<p><img src="http://www.cartogrammar.com/images/timeline.jpg" alt=" Flash timeline for fake map tiles" /></p>
<p>That&#8217;s all.  No code (except a <code>stop()</code> at the end), very little thinking, and maybe a half hour spent.  I then drop it into my map interface.  When the movie loads, it should show up as soon as the small image has finished loading, and then the high-res tiles will come in one by one.  Hopefully you noticed that the simple demo map at the top of this post appeared without too much delay even though the full image is a few thousand pixels across and the file is a couple of megabytes (and if files of that size load quickly anyway because you have an amazing internet connection, <em>shut up and I hate you</em>).</p>
<p>Caveats:</p>
<ul>
<li>Yes, I know this is not much different from having only two images: one small and one large.  But I figured it&#8217;s better to see pieces of the high-res image appear as they load rather than <em>nothing&#8230; nothing&#8230; nothing&#8230; EVERYTHING</em>.  And it almost looks like there is some kind of actual tiling going on!</li>
<li>This was helpful for displaying an image that takes too long to download but is not too large to handle.  It is not a solution for loading an absolutely huge image.  That&#8217;s going to bog down the system in the end.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/faking-a-progressive-image-download-in-flash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GeoCommons Maker! Awesome or super awesome?</title>
		<link>http://www.cartogrammar.com/blog/geocommons-maker-awesome-or-super-awesome/</link>
		<comments>http://www.cartogrammar.com/blog/geocommons-maker-awesome-or-super-awesome/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 02:51:57 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[axis maps]]></category>

		<category><![CDATA[map projects]]></category>

		<category><![CDATA[online maps]]></category>

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=14</guid>
		<description><![CDATA[
After a summer of long hours and occasional vagarancy, I&#8217;m happy to report that GeoCommons Maker! has launched today.  FortiusOne&#8217;s CEO Sean Gorman nicely sums up what Maker (I&#8217;m going to go ahead and drop the exclamation point henceforth) is all about:
Data that was once the sole providence of GIS professionals can now be mapped [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://maker.geocommons.com"><img src="http://www.cartogrammar.com/images/logo.maker.2.gif" alt="Maker logo" /></a></p>
<p>After a summer of long hours and occasional vagarancy, I&#8217;m happy to report that <a href="http://maker.geocommons.com">GeoCommons Maker</a><em><a href="http://maker.geocommons.com">!</a></em> has launched today.  FortiusOne&#8217;s CEO Sean Gorman <a href="http://blog.fortiusone.com/2008/10/01/maker-launches-at-midnight-giddy-up/">nicely sums up</a> what Maker (I&#8217;m going to go ahead and drop the exclamation point henceforth) is all about:</p>
<blockquote><p>Data that was once the sole providence of GIS professionals can now be mapped by anyone. Not only can they access the data but be guided through a process of creating a cartographically and statistically accurate map.</p></blockquote>
<p>  My esteemed colleagues and I at <a href="http://www.axismaps.com">Axis Maps</a> teamed up with <a href="http://www.fortiusone.com">FortiusOne</a> to build Maker, sharing the goal of bringing good cartography to a vast collection of geographic data.</p>
<p>Maker is integrated with the existing <a href="http://www.geocommons.com">GeoCommons</a> service <a href="http://finder.geocommons.com">Finder</a>, where users can access thousands of geographic data sets in different formats and contribute their own data.  Now with Maker, users can create and share some of the slightly sophisticated cartographic visualizations that were once reserved for expensive desktop GIS applications.  We hope that this will encourage appreciation of cartographic design in web maps, or, to quote the FortiusOne blog&#8217;s former name, to &#8220;move past push pins.&#8221;  For a good summary of the highlights and goals of Maker, check out <a href="http://highearthorbit.com/geocommons-maker-launches/">Andrew Turner&#8217;s announcement</a>.</p>
<p>Our role at Axis Maps was essentially to build the Flash front end for Maker, bringing our collected expertise in cartography to the discussions with the GeoCommons team.  A good map in 5 minutes was the goal, so we tried to reduce the map-making process to a short series of decisions that produce a well-designed map allowing basic analysis that is insightful and appropriate to the data.  To that end we have the &#8220;Map Brewer&#8221; that greets you in Maker when you load a data layer.</p>
<p><img src="http://www.cartogrammar.com/images/mapbrewer.jpg" alt="Map Brewer steps" /></p>
<p>A map in four clicks if you like.  This is a slight variation on the concept of a tool put forth by <a href="http://www.personal.psu.edu/cab38/">Professor Cindy Brewer</a> with our own <a href="http://www.geography.wisc.edu/~harrower">Professor Mark Harrower</a> in <a href="http://www.colorbrewer.org">ColorBrewer</a>.  Professor Brewer has described what she sees as the &#8220;brewer&#8221; concept (see #8 <a href="http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html">here</a>).  In short, a brewer is a tool that guides a mapmaker through particular cartographic design decisions, presenting reasonable options and the information necessary to critically evaluate those options.  It does not make the decisions for you; it helps you make decisions.  We could have tried to have the system determine the best cartographic design for the data it&#8217;s given, but we think that guiding the user through a few decisions will lead to far better maps.  The Map Brewer is the salient example of the principles we&#8217;ve tried to uphold throughout the interface and workflow: allowing decent design flexibility while keeping decisions simple and encouraging effective design.</p>
<p>Meanwhile, something I worked with a lot was actually rendering the data on the map.  The Flash application builds on <a href="http://www.modestmaps.com">Modest Maps</a> to display geometry (retrieved from the extensive back end), making map navigation easy and providing a variety of base map choices.  There is continuing work to make the rendering methods more extensible by streamlining the integration with Modest Maps and allowing more flexibility of data formats.  I must stress that the powerful back end to all this reflects a lot of hard work and ingenuity at FortiusOne, and they continue to work to make these data and maps as fast and easy to access and share as possible.  It&#8217;s been a valuable experience to work with them and see everything they&#8217;ve put into GeoCommons.</p>
<p>It&#8217;ll be exciting to see how Maker evolves and expands.  For some time now I&#8217;ve perceived a geoweb community emphasis on <em>data, data, data,</em> and I hope that Maker can cater to that while also introducing a stronger focus on  <em>presentation</em>.</p>
<p>So please pardon the kinks that are still being worked out, and enjoy <a href="http://maker.geocommons.com/">making some cool maps!</a>  Here&#8217;s my fist publicly shared map, a frivolous one of course: <a href="http://maker.geocommons.com/maps/352">&#8220;Freshmen are Criminals&#8221;</a></p>
<p><a href="http://maker.geocommons.com/maps/352"><img src="http://www.cartogrammar.com/images/freshmencriminals.jpg" alt="Freshmen are Criminals" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/geocommons-maker-awesome-or-super-awesome/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Squeezing San Francisco</title>
		<link>http://www.cartogrammar.com/blog/squeezing-san-francisco/</link>
		<comments>http://www.cartogrammar.com/blog/squeezing-san-francisco/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 21:37:49 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[interesting maps]]></category>

		<category><![CDATA[san francisco]]></category>

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

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=12</guid>
		<description><![CDATA[Here&#8217;s an interesting map I picked up in San Francisco last year.  (Forgive the poor-ish quality.  I laid it on the floor and took a photo of it.)

It took a while to realize this, having referred mostly to the downtown area in which I was staying and because the shape doesn&#8217;t look too [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an interesting map I picked up in San Francisco last year.  (Forgive the poor-ish quality.  I laid it on the floor and took a photo of it.)<br />
<img src="http://www.cartogrammar.com/images/sanfranmap.jpg" alt="San Francisco map" /><br />
It took a while to realize this, having referred mostly to the downtown area in which I was staying and because the shape doesn&#8217;t look too unusual at a glance from a non-local, but the map is actually at <strong>two different scales</strong>.<br />
<img src="http://www.cartogrammar.com/images/sfareanotice.jpg" alt="San Francisco map scale difference" /><br />
The dashed red lines indicate the different scales.  The section on the left is 4.5 miles across while the larger section on the right is 2.5 miles across.  It&#8217;s fascinating because (1) unlike an ordinary inset map, the two differently-scaled areas are adjacent and contiguous and (2) it&#8217;s only the horizontal scale that differs.  I&#8217;d never seen anything like this before.  The closest thing I can think of is certain subway maps, such as the <a href="http://www.mensvogue.com/design/articles/2008/05/vignelli">updated Vignelli map</a> of New York subways with a tiny Staten Island, but really those are a different animal, often falling in the category of cartogram.</p>
<p>I think I like the idea as a way to show the whole but focus on one section (ostensibly more important for tourists), but then I didn&#8217;t attempt to get around anywhere in that western section, so maybe it would actually turn out to be frustrating.  San Francisco, it seems, is probably a rare city for which it&#8217;s easy to pull this off: it ends abruptly at water on three sides and has a street grid largely aligned to the cardinal directions, meaning the map can be squashed horizontally while preserving most street angles.  Are there other maps like this out there?</p>
<p>A <a href="http://baycityguide.com/images/maps_pdf/San_Francisco_Map.pdf">PDF</a> of the map is available at Bay City Guide&#8217;s site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/squeezing-san-francisco/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nerd alert</title>
		<link>http://www.cartogrammar.com/blog/nerd-alert/</link>
		<comments>http://www.cartogrammar.com/blog/nerd-alert/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 21:48:32 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=10</guid>
		<description><![CDATA[Busy busy busy.  Big things in the works.  Also presently homeless.  Meanwhile, just to break the silence, here is a map of all the US counties I have been to.

Relevant points:

I&#8217;ve got 1,105 out of 3,141.  I&#8217;m thinking about picking up three more in Pennsylvania tomorrow.
It counts if I was on [...]]]></description>
			<content:encoded><![CDATA[<p>Busy busy busy.  Big things in the works.  Also presently homeless.  Meanwhile, just to break the silence, here is a map of all the US counties I have been to.<br />
<img src="http://www.cartogrammar.com/images/counties.gif" alt="US counties" /><br />
Relevant points:</p>
<ul>
<li>I&#8217;ve got 1,105 out of 3,141.  I&#8217;m thinking about picking up three more in Pennsylvania tomorrow.</li>
<li>It counts if I was on the ground, either on foot or in a terrestrial vehicle.</li>
<li>Even so, airport layovers are cheap, but I don&#8217;t lose sleep because I only have one or two that are only airport layovers.</li>
<li>I said <em>been to</em>, not any subjective word like <em>visited</em>.  So shut up; it presents facts.</li>
<li>Besides, a big part of <em>visiting</em> a place for me (as one who appreciates geography) is simply looking around at the landscape anyway, so I would count drive-throughs as <em>visits</em> regardless.</li>
</ul>
<p>This was created at <a href="http://counties.visitedmap.com/">http://counties.visitedmap.com</a>. If you are nerd enough and have a freakish memory of the exact routes you&#8217;ve traveled in your life, give it a go!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/nerd-alert/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Raster map projection with ActionScript 3</title>
		<link>http://www.cartogrammar.com/blog/raster-map-projection-with-actionscript-3/</link>
		<comments>http://www.cartogrammar.com/blog/raster-map-projection-with-actionscript-3/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 01:02:22 +0000</pubDate>
		<dc:creator>Andy Woodruff</dc:creator>
		
		<category><![CDATA[Experiments]]></category>

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

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

		<guid isPermaLink="false">http://www.cartogrammar.com/blog/?p=9</guid>
		<description><![CDATA[This is probably a stupid idea, but that&#8217;s never stopped me before.
Lately some of my Flash mapping colleagues and I have come to rely on transforming geographic data&#8212;say, shapefiles&#8212;into various map projections on the client side via the ActionScript vector drawing methods.  (See, for example, a post by my friend Zachary Johnson with an [...]]]></description>
			<content:encoded><![CDATA[<p>This is probably a stupid idea, but that&#8217;s never stopped me before.</p>
<p>Lately some of my Flash mapping colleagues and I have come to rely on transforming geographic data&mdash;say, <a href="http://en.wikipedia.org/wiki/Shapefile">shapefiles</a>&mdash;into various map projections on the client side via the ActionScript vector drawing methods.  (See, for example, a <a href="http://indiemaps.com/blog/2008/01/shapefiles-projections-in-flash-as3/">post by my friend Zachary Johnson</a> with an old-as-the-hills demo.  And don&#8217;t you worry: we&#8217;ll be releasing something way, way cooler eventually.)  But as cartographers know, <a href="http://en.wikipedia.org/wiki/Vector_graphics">vector</a> data is just one side of things.  What about <a href="http://en.wikipedia.org/wiki/Raster_graphics">raster</a> data?</p>
<p>These days Flash allows good pixel-level manipulation of raster images with the BitmapData class.  As a cartographer, I thought I&#8217;d try a little experiment in map projections.</p>
<p><strong>The goal: Convert an &#8220;unprojected&#8221; (plate carrée) world map map to a Winkel Tripel projection.</strong> I used an image from <a href="http://en.wikipedia.org/wiki/Image:Equirectangular-projection.jpg">Wikipedia</a> as a starting point.</p>
<p><img src="http://www.cartogrammar.com/images/unprojected.jpg" alt="Unprojected map" /></p>
<p>This is what we want to end up with:</p>
<p><img src="http://www.cartogrammar.com/images/projected_proper.jpg" alt="Wikel Tripel projection" /></p>
<p>Not terribly long ago for a mapping project I wasted a ridiculous amount of time on someone else&#8217;s dime attempting to reproject a raster map using the ActionScript DisplacementMapFilter class.  If you don&#8217;t know, what the DisplacementMapFilter does is use the colors on a <em>displacement map image</em> (a BitmapData object) to determine displacement of pixels on another object.  One color channel determines the x displacement and another the y displacement, both relative to the midpoint in the range of values for that color (i.e., 127 out of 255).  For example, if we use the red channel for x and the blue channel for y, and a pixel in the displacement map has a red value of 255 and a blue value of 0, the corresponding pixel in the target object will be displaced positively 100% in the x direction and negatively 100% in the y direction.  The actual number of pixels that 100% represents depends on a specified scale factor.</p>
<p>For a map projection, then, what we have to do is go through the unprojected source image pixel by pixel and determine how far each pixel has to be displaced on both axes by plugging the latitude and longitude values for the pixel into a projection formula.  Using red for the x displacement and blue for the y displacement, below is the displacement map I generated for turning the unprojected map into Winkel Tripel.</p>
<p><img src="http://www.cartogrammar.com/images/displacement_map.jpg" alt="Winkel Tripel displacement map" /></p>
<p>I then applied that to the source image.  The result?  Yuck.</p>
<p><img src="http://www.cartogrammar.com/images/projected_displacement.jpg" alt="Projected map from DisplacementMapFilter" /></p>
<p>It&#8217;s probably possible to mess with this method and produce better results.  As previously suggested, though, I&#8217;ve already spent too much time doing that without coming up with anything decent.  In my experience there are three drawbacks to using the DisplacementMapFilter for map projections: (1) because of the way the filter works, if what you know ahead of time is the exact distance that pixels need to be displaced, it seems to be necessary to iterate over every single pixel twice, once to determine the maximum displacement in each direction for the entire image and once to then actually draw the displacement map; (2) precision in displacement is very limited, as it can only be from 0 to 127, in whole numbers, in either direction (multiplied by the scale factor); and (3) some projections will result in larger images than the original unprojected map, and it is a nuisance to try to deal with those using this method.</p>
<p>Screw it, then.  Why not just move the pixels manually?  To do this, we basically look at each pixel in the source image, run its latitude and longitude through the projection formula to determine its new location on the projected map, and then draw that pixel on the projected map with the color of the source pixel.  Here&#8217;s what happened when I did that:</p>
<p><img src="http://www.cartogrammar.com/images/projected_resampled.jpg" alt="Winkel Tripel map projected pixel-by-pixel" /></p>
<p>Hey, it&#8217;s the correct shape!  But there are two issues with distorting a map to project it, namely, that the map is going to be compressed in some places and stretched in others.  I&#8217;ve already attempted to deal with the compression in the above image.  Instead of directly transferring the color of a source pixel to the projected map, I kept track of all the source colors that corresponded to a pixel on the projected map, then drew the average color on that projected pixel.  Otherwise, when more than one source pixel corresponds to a projected pixel, the color would just be replaced every time one of those source pixels is encountered.  In this case it was actually difficult to see much difference, but the attempt at resampling seemed like a good idea.</p>
<p>The second issue, the stretched parts, is evident in the above map, showing up as those white (empty) curves emanating from the edges.  That occurred where pixels on the projected map had no corresponding source pixel because of distance distortions in the projection.  To correct for this I did a simple interpolation in which I identified pixels with no data and assigned each a color that was the average of any neighboring colors.  With that, then, we have our final map:</p>
<p><img src="http://www.cartogrammar.com/images/projected_interpolated.jpg" alt="Interpolated Winkel Tripel map" /></p>
<p>It&#8217;s not the most beautiful map, but not too bad, I&#8217;d say.  That&#8217;s just one type of projection, though.  As you might expect, the more interpolation that&#8217;s needed, the worse it&#8217;s going to look with these methods.  Below, for example, is part of a Mercator projection.  (Remember how I said larger map projections are a nuisance with the DisplacementMapFilter?  Well, they&#8217;re kind of a nuisance in general, hence &#8220;part of&#8221; a map here.)  The Mercator projection stretches the map pretty significantly in high latitudes, and as you can see the map doesn&#8217;t look very good near the top and bottom.</p>
<p><img src="http://www.cartogrammar.com/images/projected_mercator.jpg" alt="Mercator map" /></p>
<p>It&#8217;s also worth noting that these raster methods are probably best with continuous images like the example used here.  The flaws are more noticeable with a rasterized line map, as below (projected using a source image from the wonderful <a href="http://www.csiss.org/map-projections/index.html">Gallery of Map Projections</a>).</p>
<p><img src="http://www.cartogrammar.com/images/projected_interpolated_line.jpg" alt="Winkel Tripel line map" /></p>
<p>And Mercator&#8217;s not so hot:</p>
<p><img src="http://www.cartogrammar.com/images/projected_mercator_line.jpg" alt="Mercator line map" /></p>
<p>For the record, here&#8217;s what a nice, scalable, vector map projection from a shapefile looks like in Flash:</p>
<p><img src="http://www.cartogrammar.com/images/projected_vector.jpg" alt="Projected vector map" /></p>
<p>This little experiment has demonstrated that reprojecting raster maps in ActionScript is possible, perhaps with acceptable results in a pinch, but it&#8217;s far from perfect.  I don&#8217;t doubt that it would be possible to use more advanced resampling and interpolation methods, but this is already a lot to deal with.  The projections here took several seconds to compute and draw on my machine.  That&#8217;s probably already an eternity in computer time, especially for a relatively small image, and it&#8217;s only going to grow as the algorithm becomes more complex.  (Okay, minus the time that would be saved if my surely inefficient code were improved.)  This kind of thing isn&#8217;t Flash&#8217;s strong suit anyway, right?  Real geographic raster processing is being done with things like <a href="http://www.gdal.org">GDAL</a>.</p>
<p>But again: in a pinch, it works!</p>
<p>Some references:</p>
<ul>
<li>The aforementioned <a href="http://www.csiss.org/map-projections/index.html">Gallery of Map Projections</a> is a good resource for seeing what different projections look like.</li>
<li>This <a href="http://www.btinternet.com/~se16/js/mapproj.htm">Java applet demonstrating map projections</a> appears to use a raster map, though I&#8217;m not entirely sure how it operates. The source code is available.</li>
<li>For map projection formulas, I recommend <a href="http://mathworld.wolfram.com/topics/MapProjections.html">Wolfram Mathworld</a> or <a href="http://en.wikipedia.org/wiki/Map_projection">Wikipedia</a>.</li>
<li>If you have access to the journal <em>Cartographic Perspectives</em>, check out Number 59 (Winter 2008) to see a gallery artistic renderings of map projection distortions by daan Strebe. The displacement map image used in this post reminded me of those images, which were presented at the 2007 <a href="http://www.nacis.org/">NACIS</a> conference.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.cartogrammar.com/blog/raster-map-projection-with-actionscript-3/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
