Successfully reported this slideshow.
Your SlideShare is downloading. ×

Introduction to Geo hacking with (amongst others) Yahoo Technology.

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 52 Ad

More Related Content

Viewers also liked (20)

Similar to Introduction to Geo hacking with (amongst others) Yahoo Technology. (20)

Advertisement

More from Christian Heilmann (20)

Recently uploaded (20)

Advertisement

Introduction to Geo hacking with (amongst others) Yahoo Technology.

  1. 1. Introduction to Geo hacking with (amongst others) Yahoo Technology. Chris&an Heilmann, Ignite, London, 2nd of March 2010
  2. 2. Geolocation is the new thing.
  3. 3. Good news is that it is not hard to do.
  4. 4. In the following half hour or so I will show you how to solve almost all Geo problems using YQL.
  5. 5. Using YQL in JavaScript:
  6. 6. There are a few different ingredients to playing with geo location.
  7. 7. Finding the current location. Turning a location into a place. Finding a geographical hierarchy. Geo-tagging information. Displaying geo information.
  8. 8. Finding the current location. Finding the current location happens in different ways.
  9. 9. Finding the current location. sniffing. The creepy way - IP
  10. 10. Finding the current location.
  11. 11. Finding the current location. h;p://isithackday.com/hacks/geo/js‐loca&on.html
  12. 12. Finding the current location. The problem with IP sniffing is accuracy.
  13. 13. Finding the current location. The other problem: it is not reliable.
  14. 14. Finding the current location. The non-creepy and more accurate way - the W3C geolocation API.
  15. 15. Finding the current location. Firefox/(Mobile) Safari/Chrome (dev build)
  16. 16. Finding the current location. Another way is of course to get location information from the user’s social presence.
  17. 17. Finding the current location. Plazes, FireEagle, Twitter, Yahoo, Flickr, Foursquare, Gowalla, Brightkite, Google Buzz/ Latitude, Dopplr...
  18. 18. Turning a location into a place. Having a latitude and longitude is fine and dandy but it is ambiguous.
  19. 19. Turning a location into a place. The same lat/lon pair could be a lot of things - the centre of a town, a point of interest...
  20. 20. Turning a location into a place. This is why we need to turn lat/lon into something that is human readable.
  21. 21. Turning a location into a place. This is called reverse geocoding and there are a few services for it out there.
  22. 22. Turning a location into a place. My personal favourite (as it works world-wide) is the Flickr reverse geocoder.
  23. 23. Turning a location into a place. h;p://www.flickr.com/services/api/flickr.places.findByLatLon.html
  24. 24. Turning a location into a place. You can use this using YQL: select * from flickr.places where lat=51.5142271 and lon=‐0.1289602
  25. 25. Turning a location into a place. To get more in- depth data, use flickr and Yahoo Geo: select * from geo.places where woeid in (   select place.woeid from flickr.places    where lat=51.5142271 and lon=‐0.1289602 )
  26. 26. Turning a location into a place.
  27. 27. Turning a location into a place.
  28. 28. Turning a location into a place. Quick word on woeid: Use it. (Flickr, Dopplr, Twitter and Yahoo do)
  29. 29. Finding a geographical hierarchy. What’s around a certain location? h;p://developer.yahoo.com/geo/
  30. 30. Turning a location into a place. GeoPlanet gives you hierarchies: Parent, Ancestors, Children, Siblings, Neigbours, BelongTos.
  31. 31. Finding a geographical hierarchy. h;p://isithackday.com/geoplanet‐explorer/?woeid=615702
  32. 32. Finding a geographical hierarchy. h;p://isithackday.com/geoplanet‐explorer/geodrilldown.php
  33. 33. Finding a geographical hierarchy.
  34. 34. Finding the current location. Putting it all together, we can get this: h;p://isithackday.com/hacks/geo/geotest.php
  35. 35. What if you have no location but only a Geo-tagging information. resource?
  36. 36. Geo-tagging information. h;p://developer.yahoo.com/geo/placemaker/
  37. 37. Placemaker takes a text, or a web URL Geo-tagging information. and extracts the geographical information from it.
  38. 38. select * from  Geo-tagging information. geo.placemaker where  documentContent = "Hey I  am in Atlanta! I came here  from London and will  travel onwards to Las  Vegas and Sao Paulo" and  documentType="text/ plain"
  39. 39. select * from geo.placemaker where  Geo-tagging information. documentURL = "h;p://icant.co.uk" and documentType="text/ html" and appid="" select * from geo.placemaker where  documentURL = "h;p://newsrss.bbc.co.uk/rss/ newsonline_uk_edi&on/front_page/rss.xml" and documentType="text/rss" and appid=""
  40. 40. Placemaker returns places and Geo-tagging information. references - you can use these to enhance texts with geo information.
  41. 41. To see Placemaker in action, check out Geo-tagging information. the GeoMaker hack. h;p://github.com/codepo8/geomaker
  42. 42. Geo-tagging information. h;p://icant.co.uk/geomaker/
  43. 43. Displaying geo Displaying geo information. information is done via Map APIs
  44. 44. By far the easiest Displaying geo information. way to build a very simple map is to use the Google static maps API.
  45. 45. <img src=”h;p://maps.google.com/maps/api/ sta&cmap? Displaying geo information. sensor=false &size=200x200 &maptype=roadmap &key=YOUR_MAP_KEY &markers=color:blue|label:1|37.4447,‐122.161 &markers=color:blue|label:2|37.3385,‐121.886 &markers=color:blue|label:3|37.3716,‐122.038 &markers=color:blue|label:4|37.7792,‐122.42”  alt=””>
  46. 46. If you want to use Displaying geo information. Yahoo Maps with the data returned from the earlier YQL calls here’s the code:
  47. 47. Displaying geo information.
  48. 48. Displaying geo information.
  49. 49. If you want to use Displaying geo information. any map provider easily without deep-diving into an API, use Mapstraction.
  50. 50. Displaying geo information. h;p://www.mapstrac&on.com/
  51. 51. That’s it! You have the tools, now find a cause and get geo hacking! h;p://delicious.com/tag/geotoys
  52. 52.  Chris&an Heilmann  h;p://wait‐&ll‐i.com  Cheers  h;p://developer‐evangelism.com  h;p://twi;er.com/codepo8   

×