<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">

<channel>
<title>Hackszine: Mapping</title>
<link>http://www.hackszine.com/blog/archive/mapping/</link>
<description>O&apos;Reilly&apos;s Hacks Series reclaims the term &apos;hacking&apos; for the good guys--innovators who explore and experiment, unearth shortcuts, create useful tools, and come up with fun things to try on their own</description>
<language>en-us</language>
<copyright>Copyright 2008, O'Reilly Media, Inc.</copyright>
<lastBuildDate>Thu, 10 Jul 2008 23:42:39 -0800</lastBuildDate>
<pubDate>Fri, 11 Jul 2008 23:20:17 -0800</pubDate>
<generator>http://www.movabletype.org/?v=4.1</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<itunes:author>O'Reilly Media, Inc.</itunes:author>
<itunes:subtitle>Clever solutions to interesting problems.</itunes:subtitle>
<itunes:summary>Hackszine Podcast</itunes:summary>
<itunes:owner>
<itunes:email>webmaster@makezine.com</itunes:email>
</itunes:owner>
<category>Technology</category>
<itunes:category text="Technology">
</itunes:category>
<itunes:category text="Technology">
  <itunes:category text="Gadgets" />
</itunes:category>
<itunes:category text="Games &amp; Hobbies" >
</itunes:category>
<itunes:category text="Science">
</itunes:category>
<itunes:image href="http://makezine.com/images/hackszine/rss_icon.jpg" />
<itunes:explicit>no</itunes:explicit>


<item>
<title>Mapstraction - map abstraction API for Javascript</title>
<itunes:summary> Mapstraction is an abstracted Javascript mapping API that can make use of Google Maps, Microsoft Virtual Earth, Yahoo Maps and Mapquest. Instead of deciding on a particular mapping provider, you can build your web application with Mapstraction and easily...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="mapstraction_20080710.jpg" src="http://www.hackszine.com/mapstraction_20080710.jpg" width="500" height="501" class="mt-image-none" style="" /></span></p>

<p>Mapstraction is an abstracted Javascript mapping API that can make use of Google Maps, Microsoft Virtual Earth, Yahoo Maps and Mapquest.  Instead of deciding on a particular mapping provider, you can build your web application with Mapstraction and easily switch to a different service by changing a single line of code. From the Mapstraction site:</p>

<blockquote> Mapstraction additionally fills some holes each provider's current offerings (taking advantage of existing open source solutions where possible) to normalise the feature set across platforms. In the future, Mapstraction will also talk to OpenStreetMap for people who want to build maps without restrictions on derived works.

<p>Features<br />
<ul><li>Support for 9 major mapping providers</li><li>Point, Line, Polygon support</li><li>Image overlay</li><li>GeoRSS and KML feed import</li><li>Geocoding of addresses</li><li>Driving directions</li></ul><br />
</blockquote></p>

<p>There's an introductory walkthrough on Webmonkey that shows you how to do the basics like instantiating a map with various providers and adding markers with the abstracted API. The Mapstraction web site also has demos for geocoding, drawing polygons, and swapping map tiles. The API appears to cover all the bases. I can't think of any reason to directly use a specific map provider instead of this.</p>

<p><a href="http://www.mapstraction.com/">Mapstraction</a><br />
<a href="http://www.webmonkey.com/tutorial/Multi-map_with_Mapstraction/">WebMonkey Mapstraction Tutorial</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/07/mapstraction_map_abstraction_a.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/07/mapstraction_map_abstraction_a.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/07/mapstraction_map_abstraction_a.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/07/mapstraction_map_abstraction_a.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Thu, 10 Jul 2008 23:42:39 -0800</pubDate>

</item>

<item>
<title>Google Earth has a Javascript API</title>
<itunes:summary> Google released a plug-in, currently for Windows browsers only, that allows you to embed the Earth application inside the browser. Existing Google Maps mashups can use some of the functionality right away just by adding the G_SATELLITE_3D_MAP map type....</itunes:summary>
<description>
<![CDATA[<p><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/6mrG_bsqC6k&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/6mrG_bsqC6k&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="500" height="405"></embed></object></p>

<p>Google released a plug-in, currently for Windows browsers only, that allows you to embed the Earth application inside the browser. Existing Google Maps mashups can use some of the functionality right away just by adding the G_SATELLITE_3D_MAP map type. Even more exciting is that you can interact more deeply with the map&mdash;including camera angles, KML layers, and 3D models&mdash;right from Javascript. I'm so eager to go find a PC to play around with this that I'll let the video speak for itself.</p>

<p>Also worth noting is that Google just released an official Maps API for Flash AS3. Call me a fanboy, but I think my head is spinning.</p>

<p><a href="http://code.google.com/apis/earth/">Google Earth API</a><br />
<a href="http://code.google.com/apis/earth/documentation/examples.html">Some Example Applications</a><br />
<a href="http://code.google.com/apis/maps/documentation/flash/">Maps API for Flash</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/06/google_earth_has_a_javascript.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/06/google_earth_has_a_javascript.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/06/google_earth_has_a_javascript.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/06/google_earth_has_a_javascript.html?CMP=OTC-7G2N43923558</guid>
<category>Ajax</category>
<pubDate>Tue, 03 Jun 2008 21:12:58 -0800</pubDate>

</item>

<item>
<title>iPhone LoJack - location tracking for your iPhone</title>
<itunes:summary>Erica Sadun put together a great tool for iPhone users who&apos;d like to keep tabs on their iPhone&apos;s location. Instead of GPS tracking, a small binary called &apos;findme&apos; is used to geolocate the device based on nearby cell towers. Combined...</itunes:summary>
<description>
<![CDATA[<p>Erica Sadun put together a great tool for iPhone users who'd like to keep tabs on their iPhone's location. Instead of GPS tracking, a small binary called 'findme' is used to geolocate the device based on nearby cell towers.</p>

<p>Combined with a simple curl shell script, a private Twitter account, and a scheduled launch daemon, your iPhone can then report its location at regular intervals, which you (or anyone you authorize) can follow using Twitter and Google Maps. You could use this to find your phone if it's lost or stolen, or you might just use it to give your friends and family a way to track your current location.</p>

<p><a href="http://www.tuaw.com/2008/02/21/tuaw-responds-iphone-lojack/">iPhone LoJack</a></p>

<p><strong>Related posts:</strong><br />
<a href="http://www.hackszine.com/blog/archive/2008/03/command_line_twitter.html">Command Line Twitter</a><br />
<a href="http://www.hackszine.com/blog/archive/2008/04/open_gps_tracker.html">Open GPS Tracker</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/iphone_lojack_location_trackin.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/iphone_lojack_location_trackin.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/04/iphone_lojack_location_trackin.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/04/iphone_lojack_location_trackin.html?CMP=OTC-7G2N43923558</guid>
<category>iPhone</category>
<pubDate>Sat, 26 Apr 2008 20:21:13 -0800</pubDate>

</item>

<item>
<title>Point polygon intersection in SQL</title>
<itunes:summary> update: As readers noted, it&apos;s not the 0 degrees longitude that&apos;s the problem, it&apos;s at 180 degrees where you could encounter issues. I&apos;ve also escaped the gt and lt symbols. Sorry about that. I spent the weekend participating in...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="pointpoly_20080302.jpg" src="http://www.hackszine.com/pointpoly_20080302.jpg" width="500" height="301" class="mt-image-none" style="" /></span></p>

<p><b>update:</b> As readers noted, it's not the 0 degrees longitude that's the problem, it's at 180 degrees where you could encounter issues.  I've also escaped the gt and lt symbols. Sorry about that.</p>

<p>I spent the weekend participating in the <a href="http://www.f1webchallenge.com/">F1 Website Challenge</a>, a coding marathon in which competing teams each produce a mythical man-month's worth of web site for a worthy non-profit organization&mdash;all in the space of 24 hours.</p>

<p>One of the challenges my team faced during development was finding an efficient way for detecting a particular service region for a given address.  Our client, Metro Meals on Wheels, has a number of different regions in which they deliver meals, with each region being served by a particular Meals on Wheels organization.  These regions are defined by non-overlapping complex polygons.  It's not as simple as a normal vendor search, where you return the nearest location to the requested address. Instead you need to search a database of polygons to find the particular one which intersects the address location.</p>

<p>One of my teammates, Mark Seemann, ended up providing a fairly elegant solution to the problem, and was able to implement it in a simple SQL query.  To find out if a point intersects a polygon, it's as simple as drawing a vector from the point and seeing how many line segments of the polygon it crosses.  If the number is even, it's outside the polygon. If it's odd, you have an intersection.</p>

<p>So let's say you have a polygon database which has a row for each line segment of a polygon. You can quickly pull all segments that intersect a vector pointing directly east of your geocoded location like this:</p>

<blockquote><pre>SELECT poly_id, segment_id
    FROM segments
    WHERE ( lnga &gt; thelng OR lngb &gt; thelng )
          AND ( (lata &gt; thelat AND latb &lt; thelat )
              OR (latb &gt; thelat AND lata &lt; thelat ) )
</pre></blockquote>

<p>That will return you a list of all line segments that you would cross if you walked directly east from the location at [thelat,thelng] (yes, this assumes you don't cross 180 degrees longitude). To determine the polygon (or polygons) that intersect our address, it's as simple as grouping by poly and returning all rows that have an odd number of matches:</p>

<blockquote><pre>
SELECT poly_id, COUNT(segment_id) AS segment_count
    FROM segments
    WHERE ( lnga &gt; thelng OR lngb &gt; thelng )
          AND ( (lata &gt; thelat AND latb &lt; thelat )
              OR (latb &gt; thelat AND lata &lt; thelat ) )
          AND segment_count%2 = 1
    GROUP BY poly_id
</pre></blockquote>

<p>Of course, the world isn't flat, though I've treated it this way for simplicity.  If you wanted this to work for all cases, you'd need to limit your search to a particular distance and translate the coordinates so that the search didn't cross 180 degrees longitude.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/03/point_polygon_intersection_in.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/03/point_polygon_intersection_in.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/03/point_polygon_intersection_in.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/03/point_polygon_intersection_in.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Sun, 02 Mar 2008 19:15:45 -0800</pubDate>

</item>

<item>
<title>Actionscript mapping APIs</title>
<itunes:summary> Yahoo recently released an official AS3 API for Yahoo! Maps, which provides another option for Flash-based GIS applications. This adds to Mapquest&apos;s official AS3 API and a couple of partially-complete, open source AS2 APIs for Google Maps. All of...</itunes:summary>
<description>
<![CDATA[<p><img alt="flashmap_20080218.jpg" src="http://www.hackszine.com/flashmap_20080218.jpg" width="500" height="337" /></p>

<p>Yahoo recently released an official AS3 API for Yahoo! Maps, which provides another option for Flash-based GIS applications. This adds to Mapquest's official AS3 API and  a couple of partially-complete, open source AS2 APIs for Google Maps.</p>

<p>All of these services provide the traditional AJAX APIs, of course, and that's perfect for a lot of uses. By using Flash as the rendering engine, though, there are new options available for the developer. Things like incremental scaling between tile sets, map rotation, and more advanced multi-level vector and raster overlays immediately come to mind.</p>

<p>Yahoo! Maps for ActionScript 3.0 - <a href="http://developer.yahoo.com/flash/maps/">Link</a><br />
Google Maps Flash Interface - <a href="http://code.google.com/p/google-maps-flash-interface/">Link</a><br />
MapQuest AS3 API - <a href="http://company.mapquest.com/mqbs/4a.html">Link</a><br />
UMap: Google Maps Flash Overlay (flash above above AJAX map) - <a href="http://www.afcomponents.com/components/umap_as3/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/02/actionscript_mapping_apis.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/02/actionscript_mapping_apis.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/02/actionscript_mapping_apis.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/02/actionscript_mapping_apis.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Mon, 18 Feb 2008 19:07:30 -0800</pubDate>

</item>

<item>
<title>The hackers in your neighborhood</title>
<itunes:summary> Google recently added a collaboration feature to the &quot;My Maps&quot; area of Google Maps. Similar to the collaborative document editing in Google Docs, when you&apos;ve made a map you can click the &quot;Collaborate&quot; link and share your map with...</itunes:summary>
<description>
<![CDATA[<p><img alt="gmaps_collabmapping2_200712.jpg" src="http://www.hackszine.com/gmaps_collabmapping2_200712.jpg" width="500" height="311" /></p>

<p>Google recently added a collaboration feature to the "My Maps" area of Google Maps.  Similar to the collaborative document editing in Google Docs, when you've made a map you can click the "Collaborate" link and share your map with specific people or the entire world.  What's cool is that when you do the latter, you've effectively created a map wiki that anyone can edit, expand upon, and help maintain.</p>

<p>After messing around with the new collaboration feature for a bit, it occurred to me that we should make a map where we hackers can add our own markers and share interests and projects with each other.  It might be a good way to network with people around you, and it's also just cool to see what projects people are working on around the world.</p>

<p><img alt="gmaps_collabmapping3_200712.jpg" src="http://www.hackszine.com/gmaps_collabmapping3_200712.jpg" width="500" height="321" /></p>

<p>So I went ahead and created <a href="http://maps.google.com/maps/ms?ie=UTF&msa=0&msid=108480887738389422212.000440310dcdec9d1c93a">the hackers in your neighborhood</a>, an open-access collaborative map that we can use to map the hacker world.  Some of my favorite hackers at Make and Craft have added themselves to the map already, but I'd love to see how far we can push this... maybe it'll become too many data points for gmaps to handle.</p>

<p>Just connect to the map, log in to your Google account, and you'll find an "Edit" button on the left.  Clicking this will put the map in edit mode, where you can drag a new marker onto the map for yourself.  Toss your name into the title and put your interests and project websites in the description field.  </p>

<p>If you have a programming or robotics club, toss that in there too and give it a red marker or something.</p>

<p><img alt="gmaps_collabmapping_2007120.jpg" src="http://www.hackszine.com/gmaps_collabmapping_2007120.jpg" width="500" height="324" /></p>

<p>I should mention something else about the collaborative feature.  As you can see above, it looks like PT from Makezine has tagged my digital hood with some mapfiti.  </p>

<p>The one downside of the collaboration feature is that someone might end up vandalizing your work.  In reality, though, most of these open-collaborative projects end up working really well just on good faith and community policing.  It's why large open source projects work.  It's why Wikipedia works.  Frankly, I think Phil's Make: tag looks pretty sweet over Minneapolis anyway.</p>

<p>The Hackers in Your Neighborhood - <a href="http://maps.google.com/maps/ms?ie=UTF&msa=0&msid=108480887738389422212.000440310dcdec9d1c93a">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/12/the_hackers_in_your_neighborho.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/12/the_hackers_in_your_neighborho.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/12/the_hackers_in_your_neighborho.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/12/the_hackers_in_your_neighborho.html?CMP=OTC-7G2N43923558</guid>
<category>Google Maps</category>
<pubDate>Sat, 01 Dec 2007 17:39:26 -0800</pubDate>

</item>

<item>
<title>Sculpty Earth: topographic globe with dynamic weather in Second Life</title>
<itunes:summary> New World Notes posted an interview with Zora Spoonhammer, a Second Life hacker who created an enormous in-world earth model, complete with dynamic weather that&apos;s pulled from real world weather sources: &quot;Come back up here!&quot; Zora Spoonhammer shouts after...</itunes:summary>
<description>
<![CDATA[<p><object width="500" height="355"><param name="movie" value="http://www.youtube.com/v/3TFyeItRdJI&rel=0&color1=0xd6d6d6&color2=0xf0f0f0&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/3TFyeItRdJI&rel=0&color1=0xd6d6d6&color2=0xf0f0f0&border=0" type="application/x-shockwave-flash" wmode="transparent" width="500" height="355"></embed></object></p>

<p>New World Notes posted an interview with Zora Spoonhammer, a Second Life hacker who created an enormous in-world earth model, complete with dynamic weather that's pulled from real world weather sources:</p>

<blockquote>"Come back up here!" Zora Spoonhammer shouts after him, before he disappears over the horizon.  "He's my husband in real life. He's silly that way."  She's a developer in the game industry, she explains, "and I think some of it is women in games don't get a lot of recognition in the industry as is. So he's sensitive to that."  On the other hand, few men have wives who build dynamic planets in their spare time.</blockquote>

<p>Sculpty Earth's model is generated by a C++ program, using USGS elevation data to define the model's geography.  The Earth's textures are processed and down-rezzed from NASA's Blue Marble images, and there's a semi-transparent shell that surrounds the globe, displaying an animated cloud texture.  The cloud texture is generated from real-time data and displays the last 24 hours of real life weather history.</p>

<p>Zora talks about a lot of the data sources that were used and links to a few resources for building your own SL models and software.  Definately worth a read if you are interested in mapping applications or developing apps in Second Life.</p>

<p>SL Topographic Globe With Dynamic Weather - <a href="http://nwn.blogs.com/nwn/2007/11/mirror-worldlet.html">Link</a><br />
Blue Marble - <a href="http://earthobservatory.nasa.gov/Newsroom/BlueMarble/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/11/sculpty_earth_topographic_glob.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/11/sculpty_earth_topographic_glob.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/11/sculpty_earth_topographic_glob.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/11/sculpty_earth_topographic_glob.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Tue, 13 Nov 2007 19:43:16 -0800</pubDate>

</item>

<item>
<title>iPhone OpenStreetMap</title>
<itunes:summary> If you have a jailbreak&apos;d iPhone, you can update the Maps.app database with tiles from OpenStreetMap. Mikel Maron figured out how to update the Maps sqlite DB and was able to import the street tiles for London. My first...</itunes:summary>
<description>
<![CDATA[<p><img alt="iphoneosm_20071022.jpg" src="http://hackszine.com/iphoneosm_20071022.jpg" width="500" height="495" /></p>

<p>If you have a jailbreak'd iPhone, you can update the Maps.app database with tiles from OpenStreetMap.  Mikel Maron figured out how to update the Maps sqlite DB and was able to import the street tiles for London.</p>

<blockquote>My first idea was to modify the configuration or constant that the Maps App used for constructing Google Maps tile requests. Andrew helped with decompiling and pointers to other files, but we had no luck as yet. But looking at the app or at the GMM module in a hex editor, there appeared to be SQL inserts of tile pointers .. perhaps Maps was using a database to cache requested tiles. Searching through the filesystem found MapTiles.sqlitedb. That db has just two tables..</blockquote>

<p>This is slick.  You still use the built-in Maps interface, but you can add whatever you like to its database.  Technically you could alter the database with any map tiles you like.  One idea would be to make an alternate database file and fill it with topo-maps.  Just swap the file out and you can use the Maps application when you're backpacking.</p>

<p>OpenStreetMap on the iPhone - <a href="http://brainoff.com/weblog/2007/10/19/1271">Link</a><br />
OpenStreetMap - <a href="http://www.openstreetmap.org/">Link</a><br />
SQLite Tutorial - <a href="http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/10/iphone_openstreetmap.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/10/iphone_openstreetmap.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/10/iphone_openstreetmap.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/10/iphone_openstreetmap.html?CMP=OTC-7G2N43923558</guid>
<category>iPhone</category>
<pubDate>Mon, 22 Oct 2007 18:47:40 -0800</pubDate>

</item>

<item>
<title>Geotag your videos</title>
<itunes:summary> The latest version of Google Earth added a layer for geotagged YouTube videos. So far, it seems like a lot of people are using this feature for documenting landmarks, attractions and live recordings of things like music, sporting events,...</itunes:summary>
<description>
<![CDATA[<p><img alt="geovideo_20071015.jpg" src="http://hackszine.com/geovideo_20071015.jpg" width="500" height="368" /></p>

<p>The latest version of Google Earth added a layer for geotagged YouTube videos.  So far, it seems like a lot of people are using this feature for documenting landmarks, attractions and live recordings of things like music, sporting events, backpacking trips, urban skateboarding, etc.</p>

<p>If you have a geospatially relevant video that you want to put on the map, it's pretty easy.  Just upload your video to YouTube, open the "Date and Map Options" tab in the video information panel, and drag the marker to the correct location.  You can zoom in to get a more precise location, or just enter the lat/lon manually with the following format: "geo:lat=yy.yyyy geo:lon=xx.xxxx".</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/10/geotag_your_videos.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/10/geotag_your_videos.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/10/geotag_your_videos.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/10/geotag_your_videos.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Mon, 15 Oct 2007 19:22:18 -0800</pubDate>

</item>

<item>
<title>Packet Garden</title>
<itunes:summary> Packet Garden is a network visualization tool that maps your network traffic into a 3D representation, sprouting little plants on a globe whenever a connection is made. To do this, Packet Garden takes note of all the servers you...</itunes:summary>
<description>
<![CDATA[<p><img alt="packetgarden_20070927.jpg" src="http://hackszine.com/packetgarden_20070927.jpg" width="500" height="374" /></p>

<p>Packet Garden is a network visualization tool that maps your network traffic into a 3D representation, sprouting little plants on a globe whenever a connection is made.</p>

<blockquote>To do this, Packet Garden takes note of all the servers you visit, their geographical location and the kinds of data you access. Uploads make hills and downloads valleys, their location determined by numbers taken from internet address itself. The size of each hill or valley is based on how much data is sent or received. Plants are also grown for each protocol detected by the software; if you visit a website, an 'HTTP plant' is grown. If you share some files via eMule, a 'Peer to Peer plant' is grown, and so on.</blockquote>

<p>Packet Garden is GNU licenced and written in Python, so you can give it a try on supported Linux, Windows, and Mac machines.  It doesn't run on Intel macs, unfortunately.  As far as I can tell, Soya3D (the 3D library it uses) is the culprit and has not been compiled under this architecture.  Anyone want to take a stab at porting this?  I'm not familiar with the package, but it might be as simple as installing all Soya's required libraries and running a python make script.</p>

<p>Packet Garden. Grow a world from network traffic - <a href="http://packetgarden.com/">Link</a><br />
Soya3D - <a href="http://home.gna.org/oomadness/en/soya3d/index.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/09/packet_garden.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/09/packet_garden.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/09/packet_garden.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/09/packet_garden.html?CMP=OTC-7G2N43923558</guid>
<category>Network Security</category>
<pubDate>Thu, 27 Sep 2007 21:39:31 -0800</pubDate>

</item>

<item>
<title>Gameboy Advance GPS</title>
<itunes:summary> Here&apos;s one of my favorite portable gaming hacks, the GBA GPS. It&apos;s a project that always comes to mind whenever I hear about some piece of homebrew development hardware falling under legal scrutiny. People are always creating amazing things...</itunes:summary>
<description>
<![CDATA[<p><img alt="gbagps_20070914.jpg" src="http://hackszine.com/gbagps_20070914.jpg" width="500" height="380" /></p>

<p>Here's one of my favorite portable gaming hacks, the GBA GPS.  It's a project that always comes to mind whenever I hear about some piece of homebrew development hardware falling under legal scrutiny.</p>

<p>People are always creating amazing things when closed hardware is hacked open for amateur development.</p>

<blockquote>I own Magellan meridian GPS, many efforts were done to create custom maps for the receiver (see Links to my Magellan GPS page). But most of the mapping receivers (Magellan, Garmin) use vector graphics, this is very good for scaling, search, and huge amount of data. But sometimes much more convenient to have raster map with the current position on the map. I developed this GBA based mapping receiver to use scanned maps with GPS the way I like. This was done for fun, but I found this device very useful. I am using this device as a car navigator in the city.</blockquote>

<p>The GBA GPS - <a href="http://www.msh-tools.com/GBA/gbagps.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/09/gameboy_advance_gps.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/09/gameboy_advance_gps.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/09/gameboy_advance_gps.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/09/gameboy_advance_gps.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Sat, 15 Sep 2007 00:17:11 -0800</pubDate>

</item>

<item>
<title>HOWTO: use latitude and longitude with Google Maps</title>
<itunes:summary> Whether you want to quickly add a waypoint to your GPS, or view a map of a known location, it can often be convenient to use real latitude and longitude values with Google Maps instead of dealing with street...</itunes:summary>
<description>
<![CDATA[<p><img alt="gmaplatlon_20070802.jpg" src="http://hackszine.com/gmaplatlon_20070802.jpg" width="500" height="502" /></p>

<p>Whether you want to quickly add a waypoint to your GPS, or view a map of a known location, it can often be convenient to use real latitude and longitude values with Google Maps instead of dealing with street addresses.</p>

<p>Rerieving a map for a lat/lon value is simple enough with Google Maps.  You can simply enter the decimal latitude and longitude into the search form instead of a street address.</p>

<p>However, if you're viewing a map and you want to retrieve the lat/lon location, there unfortunately isn't a convenient "get latitude and longitude" button.  Google Maps deals with latitude and longitude locations internally, though, so with this little snippet of javascript, you can easily get the job done:</p>

<blockquote><code>javascript:void(prompt('',gApplication.getMap().getCenter())</code></blockquote>

<p>This will return the coordinates of the map's center point.  You might want to double-click a position on the map before running the above code.  Doing so will reposition that point to the center of the map automatically. </p>

<p>Get Latitude and Longitude values from Google Maps - [<a href="http://lifehacker.com/software/google-maps/how-to-find-latitude-and-longitude-267361.php">via</a>] <a href="http://www.tech-recipes.com/rx/2403/google_maps_get_latitude_longitude_values">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/08/howto_use_latitude_and_longitu.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/08/howto_use_latitude_and_longitu.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/08/howto_use_latitude_and_longitu.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/08/howto_use_latitude_and_longitu.html?CMP=OTC-7G2N43923558</guid>
<category>Google Maps</category>
<pubDate>Thu, 02 Aug 2007 19:50:17 -0800</pubDate>

</item>

<item>
<title>Cross country motorcycle map mashup</title>
<itunes:summary> Ryan from 5Pears.org stopped by the Hacks booth at the Maker Faire yesterday. He&apos;s been traveling for the last 50 days across the country on his bike, using his phone and a GPS to automatically update a map which...</itunes:summary>
<description>
<![CDATA[<p><img alt="motorcyclegmaps_20070520.jpg" src="http://hackszine.com/motorcyclegmaps_20070520.jpg" width="499" height="499" /><br />
Ryan from 5Pears.org stopped by the Hacks booth at the Maker Faire yesterday.  He's been traveling for the last 50 days across the country on his bike, using his phone and a GPS to automatically update a map which details the route he's taken, where he is, and where he's stopped for things like gas and food.</p>

<p>When you're on the road that long and mapping your adventure in real-time, there's a bit of a security need that needs to be considered.  Ryan wanted to let his friends and family know where he is, but he didn't exactly want to give out information about where he is currently camping.  His solution was to have the PHP script that runs his site monitor his location for movement.  If he's been staying within the the same general location, the data won't be plotted to the map until he's moved somewhere else.</p>

<p>5 Pears travel blog - <a href="http://5pears.org/">Link.</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/cross_country_motorcycle_map_m.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/cross_country_motorcycle_map_m.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/05/cross_country_motorcycle_map_m.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/05/cross_country_motorcycle_map_m.html?CMP=OTC-7G2N43923558</guid>
<category>Google Maps</category>
<pubDate>Sun, 20 May 2007 10:08:15 -0800</pubDate>

</item>

<item>
<title>Use Google Earth as GPS</title>
<itunes:summary> In the latest installment of Kevin Kelly&apos;s Cool Tools, Alexander Rose shows how to use Google Earth to provide cost-effective GPS mapping in real time:I have been doing a lot of exploring and surveying in the desert recently, and...</itunes:summary>
<description>
<![CDATA[<p><img alt="Google GPS" src="http://hackszine.com/google-gps.jpg" width="399" height="250" /></p>

<p>In the latest installment of Kevin Kelly's <a href="http://www.kk.org/cooltools">Cool Tools</a>, Alexander Rose shows how to use Google Earth to provide cost-effective GPS mapping in real time:<blockquote>I have been doing a lot of exploring and surveying in the desert recently, and have been trying to find the right GPS mapping solution. The solution I found incorporated stuff I already had (laptop and GPS) with the help of some excellent, nearly free software. The best part is that it works even better than the $900 in-car GPS solutions as it uses always up-to-date satellite data, and is easily sharable.</p>

<p><br>Basically you run Google Earth and use some great donation-ware to link it in real time to a GPS. This means that your mapping software and maps worldwide are not only free, but you also get hi-res satellite views and in some cases 3D buildings (in downtown areas).</blockquote>The trick of this hack is getting Google Earth to work offline, when you're disconnected from the Internet, by updating the cache for your destination before you leave. Alexander's favorite part if his setup allows him to save a route and share it with others. <a href="http://www.kk.org/cooltools/archives/001623.php">Check out his post</a> for complete software, hardware, and connection details.</p>

<p><br><strong>Related:</strong></p>

<ul><li><a href="http://store.makezine.com/ProductDetails.asp?ProductCode=0596007035">Mapping Hacks</a>
<li><a href="http://store.makezine.com/ProductDetails.asp?ProductCode=0596101619">Google Maps Hacks</a></ul>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/use_google_earth_as_gps.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/use_google_earth_as_gps.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/03/use_google_earth_as_gps.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/03/use_google_earth_as_gps.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Tue, 13 Mar 2007 06:02:57 -0800</pubDate>

</item>

<item>
<title>Open Source Javascript Mapping</title>
<itunes:summary> If you&apos;re building any sort of web interface for geospatial data, take a peek at OpenLayers. OpenLayers implements a (still-developing) JavaScript API for building rich web-based geographic applications, similar to the Google Maps and MSN Virtual Earth APIs, with...</itunes:summary>
<description>
<![CDATA[<p><img alt="ciafact_20070215.jpg" src="http://www.hackszine.com/blog/archive/ciafact_20070215.jpg" width="500" height="204" /><br />
If you're building any sort of web interface for geospatial data, take a peek at OpenLayers.<br />
<blockquote>OpenLayers implements a (still-developing) JavaScript API for building rich web-based geographic applications, similar to the Google Maps and MSN Virtual Earth APIs, with one important difference -- OpenLayers is Free Software, developed for and by the Open Source software community.</blockquote><br />
OpenLayers is being used as a front end for a lot of interesting datasets.  My current favorite is a map interface to the CIA World Factbook (pictured above).  You can click on any country in the world and quickly find out statistics like birth rate, population, and number of cell phones.  Did you know that there are almost 10 times as many cell phones than land lines in Chad?</p>

<p><b>Resources:</b><br />
<ul><li><a href="http://openlayers.org/">OpenLayers</a> - open source javascript mapping library</li><li><a href="http://world.freemap.in/">World Free Map</a> - interactive CIA World Fact Book</li><li><a href="http://www.osgeo.org/">Open Source Geospatial Foundation</a></li><li><a href="http://store.makezine.com/ProductDetails.asp?ProductCode=0596007035">Mapping Hacks</a></li></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/open_source_javascript_mapping.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/open_source_javascript_mapping.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/02/open_source_javascript_mapping.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/02/open_source_javascript_mapping.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Fri, 16 Feb 2007 00:00:53 -0800</pubDate>

</item>

<item>
<title>Simple Zip Code Geocoding</title>
<itunes:summary> The ability to geocode, or translate into latitude and longitude, postal codes is a fairly useful hack to have in your programming toolbox. Quick and dirty zip geocoding allows you to do some neat things fairly efficiently and with...</itunes:summary>
<description>
<![CDATA[<p><img alt="mpls_20070203.jpg" src="http://www.hackszine.com/blog/archive/mpls_20070203.jpg" width="500" height="212" /></p>

<p>The ability to geocode, or translate into latitude and longitude, postal codes is a fairly useful hack to have in your programming toolbox.  Quick and dirty zip geocoding allows you to do some neat things fairly efficiently and with a minimal amount of code.  Though it's U.S. centric, it allows you to add location-based functionality to your apps without requiring any real personal information to be transfered or stored.</p>

<p>If your application only needs to convert a zip code (or any address) into a lat/lon coordinate, say for simple mapping purposes, the easiest solution is  to use the <a href="http://www.google.com/apis/maps/documentation/#Geocoding_Examples">Google Maps Geocoding API</a>.  In addition to the client-side javascript functionality, you can directly query the geocoding system from php using an http request like this:</p>

<p><code>http://maps.google.com/maps/geo?q=12345&output=xml&key=yourkeyhere</code></p>

<p>Just change 12345 to the zip (or any address) that you are looking up, and "yourkeyhere" should be your Google Map API key, which you can obtain <a href="http://www.google.com/apis/maps/signup.html">here</a>.  Developer.com has a good <a href="http://www.developer.com/db/article.php/3621981">PHP example</a> for making use of the returned XML in your server-side code.</p>

<p>Often times, it's useful to be able to do zip lookups based on a geographic region.  Maybe you want a list of all zip codes within a certain radius or bounding box.  Applications for this could include clustering map items that are near eachother, or searching a database for items that are nearest to a given location.  For this, it's really nice to have a MySQL table that contains zip codes along with their lat/lon coordinates.  Fortunately, several people have compiled this sort of information from public domain data, and you can even download a full <a href="http://nerdvittles.com/index.php?p=160">MySQL table dump here</a>, for free.</p>

<p>At this point, it's a pretty simple matter to query the database for location-based information.  For instance, let's say you have a web site with a guestbook that allows guests to leave their name and zip.  You could easily whip up an application that tells your guests how many other guests are in their area by using a basic bounding box with a query like this:</p>

<p><code>SELECT guest.name from guest, zipcode<br />
WHERE guest.zip = zipcode.zip<br />
AND zipcode.lat < [maxlat] AND zipcode.lat > [minlat]<br />
AND zipcode.lng < [maxlng] AND zipcode.lng > [minlng]</code></p>

<p>These are just a few ideas, but hopefully this should be enough to get you started.  If you have some good ideas for other geocoding applications (or any mapping/gis hacks in general), please give us a shout in the comments.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/simple_zip_code_geocoding.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/simple_zip_code_geocoding.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/02/simple_zip_code_geocoding.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/02/simple_zip_code_geocoding.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Sat, 03 Feb 2007 21:42:45 -0800</pubDate>

</item>

<item>
<title>Chart Your Route with Virtual Pedometers</title>
<itunes:summary> To prepare routes of varying lengths while training for her first marathon, The Marathon Mama (a.k.a. Kristina Pinto, my wife) used to simply drive from the house and clock distances using her car&apos;s trip odometer. But training for her...</itunes:summary>
<description>
<![CDATA[<p><img alt="WalkRunJog" src="http://www.hackszine.com/blog/archive/walkrunjog.jpeg" width="500" height="371" /></p>

<p>To prepare routes of varying lengths while training for her first marathon, <a href="http://themarathonmama.blogspot.com">The Marathon Mama</a> (a.k.a. <a href="http://www.craftzine.com/pub/au/Kristina_Pinto">Kristina Pinto</a>, my wife) used to simply drive from the house and clock distances using her car's trip odometer. But training for her second marathon, this time as a mother, she began to realize:<blockquote>It can get tedious to drive around with a toddler in the back seat asking, "Where we going?" as we pass our house several times to measure various routes. Besides, I often forget the mileage of my routes.</blockquote>In the past, she'd used a rolling "pen" to calculate mileage on a printed map (the roller increments as it rolls along the route, with calculations needing to be made for scale), but she always doubted its accuracy. Thankfully, her training partners (she'll be running the Boston Marathon for charity, as part of the <a href="http://www.kintera.org/faf/home/ccp.asp?ievent=186498&ccp=61332">Dana-Farber Marathon Challenge</a>) <a href="http://themarathonmama.blogspot.com/2006/11/virtual-pedometer.html">turned her on to some much more efficient and practical solutions</a>, provided by third-party Google Maps mashups:<blockquote>For city runners who jog on a lot of one-way streets, or any of you who walk or run and are looking to chart out the mileage on a new route: you don't need to get in your car to clock the miles anymore. There are several free websites that will help you out and determine the miles of a path anywhere in the country.<ul><li>You can calculate your own route or check out other people's preferred paths at <a href="http://www.walkjogrun.net/">WalkJogRun</a>.<br />
<li>Another DFMC runner recommended <a href="http://www.gmap-pedometer.com/">Gmaps Pedometer</a>, which offers similar services.</ul></blockquote>She concludes, "Now you don't have to get off your seat to count your miles, but you still have to get off the chair to actually run them."</p>

<p><br><strong>Related:</strong><br />
<ul><li><a href="http://store.makezine.com/ProductDetails.asp?ProductCode=0596101619/">Google Maps Hacks</a><br />
<li><a href="http://store.makezine.com/ProductDetails.asp?ProductCode=0596007035">Mapping Hacks</a><br />
<li><a href="https://www.kintera.org/faf/donorReg/donorPledge.asp?ievent=186498&lis=1&kntae186498=1E680C76CE4F4150AF656FD817560C6F&supId=146124063">Support The Marathon Mama's run to benefit cancer research</a></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/01/chart_your_route_with_virtual.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/01/chart_your_route_with_virtual.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/01/chart_your_route_with_virtual.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/01/chart_your_route_with_virtual.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Wed, 24 Jan 2007 06:30:26 -0800</pubDate>

</item>


</channel>
</rss>