<?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>Games, Life, and Stuff &#187; maps</title>
	<atom:link href="http://www.techknight.com/blog/tag/maps/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techknight.com/blog</link>
	<description>Game development and more</description>
	<lastBuildDate>Mon, 15 Aug 2011 14:35:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Map of Rogers-branded hotspots for iPhone use</title>
		<link>http://www.techknight.com/blog/2008/07/12/map-of-rogers-branded-hotspots-for-iphone-use/</link>
		<comments>http://www.techknight.com/blog/2008/07/12/map-of-rogers-branded-hotspots-for-iphone-use/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 04:29:00 +0000</pubDate>
		<dc:creator>techknight</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[bell]]></category>
		<category><![CDATA[hotspots]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[rogers]]></category>
		<category><![CDATA[telus]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://www.techknight.com/blog/2008/07/12/map-of-rogers-branded-hotspots-for-iphone-use/</guid>
		<description><![CDATA[I wasn&#8217;t going to buy an iPhone, but the last-minute data plan price reduction was just enough to change my mind. (It still feels like a deal with the devil of course&#8230;) The data plan includes free wifi access at any Rogers-branded hotspot, so I decided to map out the locations. The address of each [...]]]></description>
			<content:encoded><![CDATA[<p>I wasn&#8217;t going to buy an <a href="http://www.apple.com/iphone/">iPhone</a>, but the last-minute <a href="http://www.newswire.ca/en/releases/archive/July2008/09/c3105.html">data plan price reduction</a> was just enough to change my mind. (It still feels like a deal with the devil of course&#8230;)
<p>The data plan includes free wifi access at any <a href="http://www.canadianhotspot.ca/">Rogers-branded hotspot</a>, so I decided to map out the locations. The address of each hotspot is provided by <a href="http://www.canadianhotspot.ca/">this website</a> but requires processing in order to be usable by Google Maps.<br />
<h5>Process</h5>
<ul>
<li>Downloaded the <a href="http://www.canadianhotspot.ca/export.php?cmd_export=1&amp;lang_type=en&amp;file_format=xls">XLS version</a> of the hotspot list</li>
<li>Converted it to CSV format and imported it into the database</li>
<li>Ran a modified version of <a href="http://code.google.com/support/bin/answer.py?answer=80200&amp;topic=&amp;ctx=sibling">this PHP script from Google</a> that geocodes addresses into latitudes and longitudes</li>
<li>Wrote a PHP script that exports the database to KML format in a few different configurations</li>
</ul>
<p>And presto! Here they are, viewed in Google Maps:</p>
<ul>
<li><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=http:%2F%2Fwww.techknight.com%2Fkml%2Fhotspot_rogers.kml&amp;ie=UTF8&amp;ll=48.516604,-93.339844&amp;spn=46.067613,94.306641&amp;z=4">Rogers Wireless hotspots</a> (352 entries, 142 KB)</li>
<li><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=http:%2F%2Fwww.techknight.com%2Fkml%2Fhotspot_bell.kml&amp;ie=UTF8&amp;ll=51.508742,-93.867187&amp;spn=43.552615,94.306641&amp;z=4">Bell hotspots</a> (704 entries, 292 KB)</li>
<li><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=http:%2F%2Fwww.techknight.com%2Fkml%2Fhotspot_telus.kml&amp;ie=UTF8&amp;ll=49.837982,-93.779297&amp;spn=44.976147,94.306641&amp;z=4">Telus Mobility hotspots</a> (127 entries, 54 KB)</li>
<li><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=http:%2F%2Fwww.techknight.com%2Fkml%2Fhotspot_all.kml&amp;ie=UTF8&amp;ll=51.508742,-93.867187&amp;spn=43.552615,94.306641&amp;z=4">All hotspots</a> (1183 entries, 486 KB)</li>
</ul>
<p>If you want to load the entries in Google Earth or another mapping tool, you can grab the raw KML files here:<br /><a href="http://www.techknight.com/kml">http://www.techknight.com/kml</a></p>
<h5>Update</h5>
<p>I got someone with an iPhone to try loading the maps on their device. (Mine won&#8217;t arrive until next week.) It seems that KML support is spotty at best&#8230; In Safari the map loaded but wasn&#8217;t interactive, while the actual Google Maps application could not load an external resource. So for now these are useful only when you&#8217;re at your PC, about to leave home. :)</p>
<h5>Screenshots</h5>
<p><a href="http://www.techknight.com/blog/wp-content/uploads/2009/02/image108.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="259" alt="image" src="http://www.techknight.com/blog/wp-content/uploads/2009/02/image-thumb106.png" width="444" border="0"></a> </p>
<p><a href="http://www.techknight.com/blog/wp-content/uploads/2009/02/image109.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="287" alt="image" src="http://www.techknight.com/blog/wp-content/uploads/2009/02/image-thumb107.png" width="444" border="0"></a> </p>
<h5>Issues</h5>
<p>A few problems cropped up while geocoding. Addresses that returned french accents in the XML caused simplexml_load_string() to error out with &#8220;Entity: line 1: parser error : Input is not proper UTF-8&#8243;. A <a href="http://issues.civicrm.org/jira/browse/CRM-1439">forum post here</a> had a solution using iconv().</p>
<p>Another problem was that some addresses in the original file are out of date. For example, this entry for Emerald Hills Golf Club:</p>
<p>14001 Concession #5, Stouffville, ON</p>
<p>Doing a search for <a href="http://www.google.com/search?q=emerald+hills+golf+club+ontario">emerald hills golf club ontario</a>, it looks like &#8220;Concession #5&#8243; was renamed to &#8220;Warden Avenue&#8221;, which causes the lookup to fail.</p>
<p>Also, there are some perfectly valid entries that show up in Google Maps but return a GGeoStatusCode of G_GEO_UNKNOWN_ADDRESS (602) when querying for them using the geocoding API. Examples:</p>
<p>Suite 220, 10610 Airport Drive, Grande Prairie, AB<br />1 First Canadian Place, Toronto, ON<br />7585 Market Crossing, Burnaby, BC</p>
<p>I&#8217;m guessing that the database used by the geocoding API differs from the database used by Google Maps proper. Other addresses in the original list are simply misspelled. Anyway, I thought at first that I would manually get co-ordinates for such entries, but there are 151 of them so I&#8217;m going to pass on that. :) (I did do some manual updates using <a href="http://www.batchgeocode.com/lookup/">this tool</a> for the few downtown Toronto locations that didn&#8217;t work though.)</p>
<p>I&#8217;ll try to get in touch with whoever is in charge of updates at <a href="http://www.canadianhotspot.ca">canadianhotspot.ca</a>&#8230; Maybe if I give them a list of the non-working entries they can fix them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techknight.com/blog/2008/07/12/map-of-rogers-branded-hotspots-for-iphone-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

