Your SlideShare is downloading. ×
RefreshDC - The How Of Geo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

RefreshDC - The How Of Geo

1,726
views

Published on

Talk given to RefreshDC at the January 2009 meeting. …

Talk given to RefreshDC at the January 2009 meeting.

Since I was only given 2 days to prepare, it's an agglomeration of the last couple of talks I've given in Nairobi, FOWA London, and Web2Expo.

The talk is a very broad overview of the current GeoWeb technologies and examples. In future talks I will definitely be focusing more on specific topics to get more in-depth discussion and analysis of tools and techniques.

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,726
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
60
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. The “How” of Geo Andrew Turner FortiusOne - GeoCommons andrew@fortiusone.com http://highearthorbit.com
  • 2. Who is @ajturner?
  • 3. Airships
  • 4. Vehicle Simulation
  • 5. Astrium EADS
  • 6. Vehicle Simulation
  • 7. Convergence
  • 8. Convergence uLocate WHERE
  • 9. Where 2.0: August 2008 The State of the Geospatial Web An O’Reilly Radar Report By Andrew Turner & Brady Forrest Preface by Tim O’Reilly
  • 10. Geo Community
  • 11. Overview
  • 12. Fast Overview
  • 13. A Brief History of Mapping * *IANAH
  • 14. StoryMapping
  • 15. Emphemeral Maps http://maps.google.com
  • 16. Meaning
  • 17. Meaning
  • 18. Navigation
  • 19. Compass
  • 20. 1492 - Columbus sails the ocean blue
  • 21. Cartographic Renaissance
  • 22. So geographers, in Afric maps, With savage pictures fill their gaps, And o’er unhabitable downs Place elephants for want of towns. - Jonathan Swift
  • 23. Ortelius Atlas
  • 24. Exploration
  • 25. Travel Guides
  • 26. Driving Guides
  • 27. GIS
  • 28. Internet Maps
  • 29. 2005 - Google slips the map
  • 30. urban renewal participatory web 2005 - Google slips the map mobile computing GPS becomes ubiquitous
  • 31. HousingMaps http://housingmaps.com
  • 32. Slippy Maps & Spinny Globes
  • 33. GoogleMaps http://maps.google.com
  • 34. Interactivity http://maps.google.com
  • 35. Design
  • 36. Usability
  • 37. http://maps.google.com/maps?f=q&hl=en&geocode=&q=Cape+Town&ie=UTF8&ll=-33.938803,18.486214&spn=0.182293,0.331306&z=12 Data Coverage and Quality
  • 38. http://maps.google.com/maps?f=q&hl=en&geocode=&q=Cape+Town&ie=UTF8&ll=-33.938803,18.486214&spn=0.182293,0.331306&z=12 Data Coverage and Quality http://openstreetmap.org/?lat=-33.9377&lon=18.4745&zoom=12&layers=B000FTF
  • 39. Brighton, UK
  • 40. Brighton, UK
  • 41. Data Ownership and Access
  • 42. Data Ownership and Access
  • 43. Technology Limitations
  • 44. Technology Limitations
  • 45. Where Next? http://flickr.com/photos/loupiote/25426957
  • 46. Storage
  • 47. id name rating lat lon 10045 Vibe Bar 4.3 52.81 0.295 10046 Half Moon 3.8 53.432 0.312 Pub 10047 Windmill 2.6 50.982 0.256 10048 Marquess 1.7 51.023 1.24 oAnglesey Grange 10049 4.5 52.110 0.4562 Pub Coopers 10050 3.5 50.862 0.821 Arms Old 10051 3.2 52.591 0.312 Queens Oxo 10052 1.3 51.93 -0.351 Head Tower 10053 Riverside 3.9 52.18 0.62
  • 48. id name rating lat lon 10045 Vibe Bar 4.3 52.81 0.295 10046 Half Moon 3.8 53.432 0.312 Pub 10047 Windmill 2.6 50.982 0.256 10048 Marquess 1.7 51.023 1.24 oAnglesey Grange 10049 4.5 52.110 0.4562 Pub Coopers 10050 3.5 50.862 0.821 Arms Old 10051 3.2 52.591 0.312 Queens Oxo 10052 1.3 51.93 -0.351 Head Tower 10053 Riverside 3.9 52.18 0.62
  • 49. SELECT name,latitude,longitude, acos(SIN( PI()* 40.7383040 /180 )*SIN( PI()*latitude/180 ) )+(cos(PI()* 40.7383040 /180)*COS( PI()*latitude/180) *COS(PI()*longitude/180-PI()* -73.99319 /180) )* 3963.191 AS distance FROM allcountries WHERE 3963.191 * ACOS( (SIN(PI()* 40.7383040 /180)*SIN(PI() * latitude/180)) + (COS(PI()* 40.7383040 /180)*cos(PI()*latitude/180)*COS(PI() * longitude/180-PI()* -73.99319 /180)) ) < = 1.5 ORDER BY 3963.191 * ACOS( (SIN(PI()* 40.7383040 /180)*SIN(PI()*latitude/180)) + (COS(PI()* 40.7383040 /180)*cos(PI()*latitude/180)*COS(PI() * longitude/180-PI()* -73.99319 /180)) )
  • 50. SELECT the_geom FROM geom_table WHERE ST_Distance(the_geom, GeomFromText('POINT(0.02839 51.50807)', -1)) < 100
  • 51. SELECT the_geom FROM geom_table WHERE the_geom && 'BOX3D(0.02 51,0.03 52)'::box3d AND ST_Distance(the_geom, GeomFromText('POINT(0.02839 51.50807)', -1)) < 100
  • 52. SpatiaLite SQLite + Spatial Types http://www.gaia-gis.it/spatialite/
  • 53. GeoHash http://geohash.org/
  • 54. GeoHash http://geohash.org/
  • 55. GeoHash SELECT name FROM pubs WHERE geohash LIKE quot;GCPUV%quot; http://geohash.org/
  • 56. GeoHash SELECT name FROM pubs WHERE geohash LIKE quot;GCPUVR%quot; OR geohash LIKE quot;GCPVJ2%quot; http://geohash.org/
  • 57. Data
  • 58. GeoNames http://geonames.org
  • 59. GeoNames http://geonames.org
  • 60. Implicit GeoData http://geocodr.net
  • 61. Implicit GeoData http://geocodr.net
  • 62. OpenStreetMap http://openstreetmap.org
  • 63. OpenStreetMap http://openstreetmap.org
  • 64. Wiki for the World
  • 65. Flickr OSM http://www.flickr.com/map? &fLat=39.9227&fLon=116.4694&zl=6
  • 66. Flickr Photos
  • 67. OpenAerialMap http://openaerialmap.org
  • 68. DC CTO http://data.octo.dc.gov/
  • 69. GeoCommons Finder! http://geocommons.com
  • 70. Sharing
  • 71. GeoRSS
  • 72. GeoRSS
  • 73. GeoRSS +
  • 74. GeoRSS <georss:point> + 45.256 -71.92 </georss:point>
  • 75. GeoRSS <georss:point> + 45.256 -71.92 </georss:point>
  • 76. GeoRSS <georss:point> + 45.256 -71.92 </georss:point>
  • 77. RSS / Atom <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <feed xml:lang=quot;en-USquot; xmlns:dc=quot;http://purl.org/dc/elements/1.1/quot; xml:base=quot;http://grwifi.net/feedquot; xmlns=quot;http://www.w3.org/2005/Atomquot;> <title>Grand Rapids WiFi: News, Updated Hotspot Locations, and Comments</title> <id>http://grwifi.net/atom/locations</id> <link href=quot;http://grwifi.net/feedquot; rel=quot;selfquot; type=quot;application/atom+xmlquot;/> <rights>Creative Commons Attribution-NonCommercial-ShareAlike 2.0 http://creativecommons.org/licenses/by-nc-sa/2.0/ </rights> <updated>2007-03-28T17:31:33+00:00</updated> <entry> <id>http://grwifi.net/location/view/skelletones#comment3862</id> <title>Grand Rapids WiFi: Comment on The Euclid</title> <link href=quot;http://grwifi.net/location/view/skelletones#comment3862quot; rel=quot;alternatequot; type=quot;text/htmlquot;/> <category term=quot;The Euclidquot;/> <author><name>mari</name></author> <content type=quot;xhtmlquot;><p>i know a local band in kalamazoo called rising vacancy. i was wondering how …/p></content> <published>2007-03-28T17:31:33+00:00</published> </entry> <entry> <id>http://grwifi.net/location/view/bk-east-paris#comment3855</id> <title>Grand Rapids WiFi: Comment on Burger King - East Paris</title> <link href=quot;http://grwifi.net/location/view/bk-east-paris#comment3855quot; rel=quot;alternatequot; type=quot;text/htmlquot;/> <category term=quot;Burger King - East Parisquot;/> <author><name>Brandino</name></author> <content type=quot;xhtmlquot;><p>I love burger king </p></content> <published>2007-03-21T16:38:19+00:00</published> </entry> <entry> <id>http://grwifi.net/location/view/common-ground#comment3843</id> <title>Grand Rapids WiFi: Comment on Common Ground Coffee Shop</title> <link href=quot;http://grwifi.net/location/view/common-ground#comment3843quot; rel=quot;alternatequot; type=quot;text/htmlquot;/> <category term=quot;Common Ground Coffee Shopquot;/> <author> <name>Rex Cowan</name> </author> <content type=quot;xhtmlquot;> <div xmlns=quot;http://www.w3.org/1999/xhtmlquot;><p>Common Ground is a welcoming place with a warm atmosphere, the clerk I talked to had …</p></ content> <published>2007-03-17T01:45:59+00:00</published> </entry> </feed>
  • 78. GeoRSS <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <feed xml:lang=quot;en-USquot; xmlns:dc=quot;http://purl.org/dc/elements/1.1/quot; xml:base=quot;http://grwifi.net/feedquot; xmlns:georss=quot;http://www.georss.org/georssquot; xmlns=quot;http:// www.w3.org/2005/Atomquot;> <title>Grand Rapids WiFi: News, Updated Hotspot Locations, and Comments</title> <id>http://grwifi.net/atom/locations</id> <link href=quot;http://grwifi.net/feedquot; rel=quot;selfquot; type=quot;application/atom+xmlquot;/> <rights>Creative Commons Attribution-NonCommercial-ShareAlike 2.0 http://creativecommons.org/licenses/by-nc-sa/2.0/ </rights> <updated>2007-03-28T17:31:33+00:00</updated> <entry> <id>http://grwifi.net/location/view/skelletones#comment3862</id> <title>Grand Rapids WiFi: Comment on The Euclid</title> <link href=quot;http://grwifi.net/location/view/skelletones#comment3862quot; rel=quot;alternatequot; type=quot;text/htmlquot;/> <category term=quot;The Euclidquot;/> <author><name>mari</name></author> <georss:point>42.960126 -85.667997</georss:point> <content type=quot;xhtmlquot;><p>i know a local band in kalamazoo called rising vacancy. i was wondering how …/p></content> <published>2007-03-28T17:31:33+00:00</published> </entry> <entry> <id>http://grwifi.net/location/view/bk-east-paris#comment3855</id> <title>Grand Rapids WiFi: Comment on Burger King - East Paris</title> <link href=quot;http://grwifi.net/location/view/bk-east-paris#comment3855quot; rel=quot;alternatequot; type=quot;text/htmlquot;/> <category term=quot;Burger King - East Parisquot;/> <author><name>Brandino</name></author> <georss:point>42.911495 -85.568665</georss:point> <content type=quot;xhtmlquot;><p>I love burger king </p></content> <published>2007-03-21T16:38:19+00:00</published> </entry> <entry> <id>http://grwifi.net/location/view/common-ground#comment3843</id> <title>Grand Rapids WiFi: Comment on Common Ground Coffee Shop</title> <link href=quot;http://grwifi.net/location/view/common-ground#comment3843quot; rel=quot;alternatequot; type=quot;text/htmlquot;/> <category term=quot;Common Ground Coffee Shopquot;/> <author> <name>Rex Cowan</name> </author> <georss:point>42.962927 -85.637179</georss:point> <content type=quot;xhtmlquot;> <div xmlns=quot;http://www.w3.org/1999/xhtmlquot;><p>Common Ground is a welcoming place with a warm atmosphere, the clerk I talked to had …</p></content> <published>2007-03-17T01:45:59+00:00</published> </entry> </feed>
  • 79. GeoNames GeoRSS http://www.geonames.org/rss-to-georss-converter.html
  • 80. KML <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <kml xmlns=quot;http://earth.google.com/kml/2.2quot;> <Placemark> <name>Simple placemark</name> <description>Attached to the ground. Intelligently places itself at the height of the underlying terrain.</description> <Point> <coordinates>-122.0822035425683,37.42228990140251,0</coordinates> </Point> </Placemark> </kml>
  • 81. KML Extended Data <ExtendedData id=quot;roomsquot;> <name>Rooms</name> <value>3</value> </ExtendedData>
  • 82. KML Network Links </NetworkLink> <NetworkLink> <name><![CDATA[Pubs in London]]></name> <Link> <href>http://maker.geocommons.com/maps/839/overlays/1</href> </Link> </NetworkLink>
  • 83. GeoJSON { quot;typequot;: quot;Pointquot;, quot;coordinatesquot;: [100.0, 0.0] }
  • 84. GeoJSON { quot;blogquot;: { quot;postsquot;: [ { quot;typequot;: quot;atom:itemquot;, quot;atom:summaryquot;: quot;post 1quot;, quot;atom:descriptionquot;: quot;i love bloggingquot; }, { quot;typequot;: quot;atom:itemquot;, quot;atom:summaryquot;: quot;post 2 from CAquot;, quot;atom:descriptionquot;: quot;geoblogging in Californiaquot; quot;geometryquot;: { quot;typequot;, quot;Pointquot;, quot;coordinatesquot;: [-120, 40] } }, ], quot;geometryquot;: { quot;typequot;: quot;Polygonquot;, quot;coordinatesquot;: [[[-121, 39], [-119, 39], [-119, 41], [-121, 41], [-121, 39]]] } } }
  • 85. GeoWeb
  • 86. Resources • /places • /places/89 • /places/89.atom • /places/89.kml
  • 87. Web Aligned http://highearthorbit.com/a-proposal-georss-kml
  • 88. Formats HTML : RSS
  • 89. Formats HTML : RSS ::
  • 90. Formats HTML : RSS :: KML : GeoRSS
  • 91. Formats HTML : RSS :: KML : GeoRSS Visualization : Syndication
  • 92. OpenSearch http://search.org?q={searchTerm}
  • 93. OpenSearch http://search.org?q={searchTerm}
  • 94. OpenSearch-Geo http://search.org?q={searchTerm} &lat={geo:lat}&lon={geo:lon}
  • 95. OpenSearch-Geo http://maps.google.com/maps?near=43.3+-0.03 http://local.yahoo.com/?csz=43.3,-0.03 http://upcoming.org/search?lat=43.3&lon=-0.03 http://api.flickr.com/services/photos_public.gne?bbox=-0.03,43.3, -0.04,43.4 http://mapufacture.com/search?lat=43.3&lon=-0.03
  • 96. OpenSearch-Geo http://maps.google.com/maps?near=43.3+-0.03 http://local.yahoo.com/?csz=43.3,-0.03 http://upcoming.org/search?lat=43.3&lon=-0.03 http://api.flickr.com/services/photos_public.gne?bbox=-0.03,43.3, -0.04,43.4 http://mapufacture.com/search?lat=43.3&lon=-0.03 lat={geo:lat}&lon={geo:lon}&radius={geo:radius}
  • 97. OpenSearch-Geo http://maps.google.com/maps?near=43.3+-0.03 http://local.yahoo.com/?csz=43.3,-0.03 http://upcoming.org/search?lat=43.3&lon=-0.03 http://api.flickr.com/services/photos_public.gne?bbox=-0.03,43.3, -0.04,43.4 http://mapufacture.com/search?lat=43.3&lon=-0.03 lat={geo:lat}&lon={geo:lon}&radius={geo:radius} bbox={geo:box}
  • 98. OpenSearch-Geo http://maps.google.com/maps?near=43.3+-0.03 http://local.yahoo.com/?csz=43.3,-0.03 http://upcoming.org/search?lat=43.3&lon=-0.03 http://api.flickr.com/services/photos_public.gne?bbox=-0.03,43.3, -0.04,43.4 http://mapufacture.com/search?lat=43.3&lon=-0.03 lat={geo:lat}&lon={geo:lon}&radius={geo:radius} bbox={geo:box} where={geo:locationString}
  • 99. OpenSearch-Geo http://maps.google.com/maps?near=43.3+-0.03 http://local.yahoo.com/?csz=43.3,-0.03 http://upcoming.org/search?lat=43.3&lon=-0.03 http://api.flickr.com/services/photos_public.gne?bbox=-0.03,43.3, -0.04,43.4 http://mapufacture.com/search?lat=43.3&lon=-0.03 lat={geo:lat}&lon={geo:lon}&radius={geo:radius} bbox={geo:box} where={geo:locationString} area={geo:polygon}
  • 100. Why should I share my data?
  • 101. GeoStack http://flickr.com/photos/alfr3do/7436142/
  • 102. Create Exif GeoRSS KML GPX Geocoding GeoStack Publish GeoRSS KML Microformats MachineTags Aggregate GML KML GeoRSS WFS GeoJSON Consume
  • 103. Visualization
  • 104. Mapstraction
  • 105. Mapstraction API <script src=quot;http://maps.google.com/maps?file=api&v=2&key=YOUR_KEYquot; type=quot;text/javascriptquot;> </script> <script type=quot;text/javascriptquot; src=quot;mapstraction.jsquot;></script> <div id=quot;mapstractionquot; style=quot;width: 400px; height: 400px;quot;></div> <script type=quot;text/javascriptquot;> var mapstraction = new Mapstraction('mapstraction','google'); var myPoint = new LatLonPoint(37.4041, -122.0081); mapstraction.setCenterAndZoom(myPoint, 10); mapstraction.addControls({ pan: true, zoom: 'small', map_type: true }); </script>
  • 106. Power of the Swap var mapstraction = new Mapstraction(‘map’, ‘google’);
  • 107. Power of the Swap mapstraction.swap(‘mapstraction’, ‘yahoo’);
  • 108. Power of the Swap mapstraction.swap(‘mapstraction’, ‘microsoft’);
  • 109. Power of the Swap mapstraction.swap(‘mapstraction’, ‘openstreetmap’);
  • 110. Overlays mapstraction.addImageOverlay (quot;overquot;,file,opacity,west,south,east,north); mapstraction.addImageOverlay(quot;overquot;,quot;images/ santodomingo.pngquot;,50,-70.01544, 18.39777, -69.80567, 18.563517);
  • 111. Filters mapstraction.removeAllFilters(); mapstraction.addFilter('category', 'eq', 10 ); mapstraction.doFilter();
  • 112. Filters mapstraction.removeAllFilters(); mapstraction.addFilter('category', 'eq', 10 ); mapstraction.doFilter(); mapstraction.toggleFilter('category', 'eq', 10 );
  • 113. Sliders
  • 114. OpenLayers http://openlayers.org
  • 115. map = new OpenLayers.Map(quot;mapquot;, { maxResolution: 360/512, projection: quot;EPSG:4326quot; , numZoomLevels: 20, minZoomLevel: 0, maxZoomLevel: 19, controls: [ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanPanel(), new OpenLayers.Control.ZoomPanel() ] }); var wms = new OpenLayers.Layer.WMS( quot;worldquot;, quot;/cgi-bin/tilecache/tilecache.cgi?quot;, {layers: 'world'} ); map.addLayers([wms]); map.setCenter(new OpenLayers.LonLat(0, 32), 7);
  • 116. map = new OpenLayers.Map(quot;mapquot;, { maxResolution: 360/512, projection: quot;EPSG:4326quot; , numZoomLevels: 20, minZoomLevel: 0, maxZoomLevel: 19, controls: [ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanPanel(), new OpenLayers.Control.ZoomPanel() ] }); var wms = new OpenLayers.Layer.WMS( quot;worldquot;, quot;/cgi-bin/tilecache/tilecache.cgi?quot;, {layers: 'world'} ); map.addLayers([wms]); map.setCenter(new OpenLayers.LonLat(0, 32), 7);
  • 117. <link rel=quot;stylesheetquot; href=quot;../themes/gray.cssquot; type=quot;text/cssquot; media=quot;screenquot; /> <div id=quot;mapquot; class=quot;gray smallmapquot;></div>
  • 118. <link rel=quot;stylesheetquot; href=quot;../themes/gray.cssquot; type=quot;text/cssquot; media=quot;screenquot; /> <div id=quot;mapquot; class=quot;gray smallmapquot;></div> div.gray .olControlZoomPanel { top: 14px; left: 14px; } div.gray .olControlZoomPanel div { background-image: url(img/gray/gray_zoom_horiz.png); height: 18px; width: 18px; } div.gray .olControlZoomPanel .olControlZoomInItemInactive { top: 0px; left: 25px; background-position: 18px 0px; } div.gray .olControlZoomPanel .olControlZoomToMaxExtentItemInactive { top: 0px; left: 0px; background-position: 0px -18px; } div.gray .olControlZoomPanel .olControlZoomOutItemInactive { top: 0px; left: 0px; background-position: 0px 0px; }
  • 119. <link rel=quot;stylesheetquot; href=quot;../themes/gray.cssquot; type=quot;text/cssquot; media=quot;screenquot; /> <div id=quot;mapquot; class=quot;gray smallmapquot;></div> div.gray .olControlZoomPanel { top: 14px; left: 14px; } div.gray .olControlZoomPanel div { background-image: url(img/gray/gray_zoom_horiz.png); height: 18px; width: 18px; } div.gray .olControlZoomPanel .olControlZoomInItemInactive { top: 0px; left: 25px; background-position: 18px 0px; } div.gray .olControlZoomPanel .olControlZoomToMaxExtentItemInactive { top: 0px; left: 0px; background-position: 0px -18px; } div.gray .olControlZoomPanel .olControlZoomOutItemInactive { top: 0px; left: 0px; background-position: 0px 0px; }
  • 120. <link rel=quot;stylesheetquot; href=quot;../themes/hearts.cssquot; type=quot;text/cssquot; media=quot;screenquot; /> <div id=quot;mapquot; class=quot;hearts smallmapquot;></div>
  • 121. <link rel=quot;stylesheetquot; href=quot;../themes/hearts.cssquot; type=quot;text/cssquot; media=quot;screenquot; /> <div id=quot;mapquot; class=quot;hearts smallmapquot;></div> .hearts .olControlZoomPanel div { background-image: url(img/hearts/hearts-zoom.png); } .hearts .olControlPanPanel div { background-image: url(img/hearts/hearts-panel.png); }
  • 122. <link rel=quot;stylesheetquot; href=quot;../themes/hearts.cssquot; type=quot;text/cssquot; media=quot;screenquot; /> <div id=quot;mapquot; class=quot;hearts smallmapquot;></div> .hearts .olControlZoomPanel div { background-image: url(img/hearts/hearts-zoom.png); } .hearts .olControlPanPanel div { background-image: url(img/hearts/hearts-panel.png); }
  • 123. Accessibility
  • 124. ModestMaps
  • 125. package { public class ModestMapsSample extends Sprite { private var map:Map; public function ModestMapsSample() { map = new TweenMap(stage.stageWidth - 2 * PADDING, stage.stageHeight - 2 * PADDING, true, new MicrosoftRoadMapProvider(), new MapExtent(37.829853, 37.700121, -122.212601, -122.514725)); map.addChild(new MapControls(map)); map.addChild(new ZoomSlider(map)); addChild(map); } } }
  • 126. London2012 http://london2012.co.uk
  • 127. Hurricane Tracking http://hurricanewiki.org
  • 128. GeoCommons Maker! http://maker.geocommons.com
  • 129. Analysis
  • 130. WalkScore http://walkscore.com
  • 131. MySociety House Price http://www.mysociety.org/2007/more-travel-maps/ vs. Travel Time
  • 132. pgRouting http://pgrouting.postlbs.org/
  • 133. Safe Routing http://www.ridethecity.com
  • 134. Fuel Efficiency Routing
  • 135. Bakery Routing
  • 136. Cartography
  • 137. wrp.geothings.net
  • 138. Maps for Farmers http://serveyourcountryfood.com
  • 139. Tiles
  • 140. Tiles
  • 141. Tiles
  • 142. TileCache TileCache http://tilecache.org
  • 143. Image WMS Mapnik TileCache Image CRS TileCache http://tilecache.org
  • 144. Image WMS TMS Mapnik TileCache 900913 Image (google) CRS TileCache http://tilecache.org
  • 145. Mapstraction Tiles mapstraction.addTileLayer(quot;http://oakland-1950s.s3.amazonaws.com/{Z}-r{Y}-c{X}.jpgquot;, 80);
  • 146. New Orleans http://maps.thinknola.com
  • 147. EveryBlock http://everyblock.com
  • 148. BurningManEarth http://earth.burningman.org
  • 149. What is a “Choropleth”?
  • 150. ColorBrewer http://www.personal.psu.edu/cab38/ ColorBrewer/ColorBrewer.html
  • 151. Read
  • 152. Public Geodata Repository
  • 153. GeoData Visualization
  • 154. Thematic Styling
  • 155. Classification
  • 156. Styling
  • 157. Base Data
  • 158. Comparative Analysis http://maker.geocommons.com/maps/839
  • 159. Inspect the Data
  • 160. Styled KML
  • 161. Print Maps
  • 162. Mapnik
  • 163. <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <!DOCTYPE Map> <Map bgcolor=quot;#b5d0d0quot; srs=quot;+proj=latlong +datum=WGS84quot;> <Style name=quot;worldquot;> <Rule> <MaxScaleDenominator>250000000000</MaxScaleDenominator> <MinScaleDenominator>6000000</MinScaleDenominator> <PolygonSymbolizer> <CssParameter name=quot;fillquot;>#f2efe9</CssParameter> </PolygonSymbolizer> <LineSymbolizer> <CssParameter name=quot;strokequot;>#b5d0d0</CssParameter> <CssParameter name=quot;stroke-widthquot;>0.5</CssParameter> </LineSymbolizer> </Rule> </Style> <Layer name=quot;worldquot; status=quot;onquot; srs=quot;+proj=latlong +datum=WGS84quot;> <StyleName>world</StyleName> <Datasource> <Parameter name=quot;typequot;>shape</Parameter> <Parameter name=quot;filequot;>/Users/ajturner/Projects/mapnik/world_borders</Parameter> </Datasource> </Layer> </Map> Mapnik http://mapnik.com
  • 164. OpenCycleMap http://opencyclemap.org
  • 165. GPSies http://gpsies.com/
  • 166. OpenCycleMap http://opencyclemap.org
  • 167. Shenzen Maps
  • 168. StumbleSafely http://www.outsideindc.com/stumblesafely
  • 169. example.mml example.mss <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> * { <!DOCTYPE Map> line-width: 1; <Map bgcolor=quot;#b5d0d0quot; srs=quot;...quot;> line-color: #999; <Stylesheet> polygon-fill: #fff; Map { map-bgcolor: #ccc; } } </Stylesheet> <Stylesheet src=quot;example.mssquot;/> *[zoom>=6][zoom<12] { <Layer name=quot;worldquot; status=quot;onquot; srs=quot;...quot;> line-color: #f90; <StyleName>world</StyleName> } <Datasource> #world-borders[zoom<10] NAME <Parameter name=quot;typequot;>shape</Parameter> { <Parameter name=quot;filequot;>...</Parameter> text-fill: #333; </Datasource> } </Layer> </Map> Cascadenick http://code.google.com/p/mapnik-utils/
  • 170. Geolocation
  • 171. GPS
  • 172. GSM
  • 173. WiFi
  • 174. IP Address
  • 175. Proximity
  • 176. User Tracking
  • 177. W3C Geolocation http://dev.w3.org/geo/api/spec-source.html
  • 178. navigator.geolocation.getCurrentPosition(function(pos) { alert( pos.latitude + quot;, quot; + pos.longitude ); })
  • 179. interface Geolocation { readonly attribute Position lastPosition; void getCurrentPosition(in PositionCallback successCallback); int watchPosition(in PositionCallback successCallback); void clearWatch(in int watchId); };
  • 180. PlundrDS
  • 181. GeoClue
  • 182. Core Location
  • 183. FireEagle http://fireeagle.com
  • 184. geotagging pacers M T W Th
  • 185. geotagging pacers M T W Th 1 23 4
  • 186. geotagging pacers M T W Th 1 23 4
  • 187. geotagging pacers M T W Th 1 23 4
  • 188. geotagging pacers M T W Th 1 23 4
  • 189. BBC Bangladesh Boat Journey
  • 190. Mobile
  • 191. Mobline Placemarking
  • 192. Android Innovations cab4me
  • 193. Ambient Location OmniFocus
  • 194. UrbanSpoon
  • 195. VoteReport http://twittervotereport.com
  • 196. Navigating Washington http://navigatingwashington.com
  • 197. Navigating Washington http://navigatingwashington.com
  • 198. Navigating Washington http://navigatingwashington.com
  • 199. Ushahidi
  • 200. Ushahidi
  • 201. Ushahidi - Gaza http://labs.aljazeera.net/warongaza/
  • 202. API Dash http://dash.net
  • 203. PocketMaps
  • 204. PocketMaps height = 11 width = 8.5 margin = .25 dpi = 144 bbox = (45.482882,-73.619899,45.532687,-73.547801) zoom = 16 out = quot;montreal_pocketmmap.pdfquot; pm = pocketMMap(height, width, margin, dpi) pm.load_provider('OPEN_STREET_MAP') pm.draw(bbox, zoom) pm.save(out) ruby: http://github.com/ajturner/pocketmaps python: http://aaronland.info/python/pocketMMap
  • 205. GeoWeb We’re Hiring Help build the GeoWeb
  • 206. Asante sana! andrew@highearthorbit.com highearthorbit.com twitter.com/ajturner