+ All Categories
Home > Technology > RefreshDC - The How Of Geo

RefreshDC - The How Of Geo

Date post: 28-Oct-2014
Category:
Upload: andrew-turner
View: 7 times
Download: 0 times
Share this document with a friend
Description:
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.
Popular Tags:
218
The “How” of Geo Andrew Turner FortiusOne - GeoCommons [email protected] http://highearthorbit.com
Transcript
Page 1: RefreshDC - The How Of Geo

The “How” of Geo

Andrew TurnerFortiusOne - GeoCommons

[email protected]://highearthorbit.com

Page 2: RefreshDC - The How Of Geo

Who is @ajturner?

Page 3: RefreshDC - The How Of Geo

Airships

Page 4: RefreshDC - The How Of Geo

Vehicle Simulation

Page 5: RefreshDC - The How Of Geo

Astrium EADS

Page 6: RefreshDC - The How Of Geo

Vehicle Simulation

Page 7: RefreshDC - The How Of Geo

Convergence

Page 8: RefreshDC - The How Of Geo

Convergence uLocate WHERE

Page 9: RefreshDC - The How Of Geo

Where 2.0: The State of the Geospatial Web

August 2008

By Andrew Turner & Brady ForrestPreface by Tim O’Reilly

An O’Reilly Radar Report

Page 10: RefreshDC - The How Of Geo

Geo Community

Page 11: RefreshDC - The How Of Geo
Page 12: RefreshDC - The How Of Geo
Page 13: RefreshDC - The How Of Geo
Page 14: RefreshDC - The How Of Geo

Overview

Page 15: RefreshDC - The How Of Geo

Fast Overview

Page 16: RefreshDC - The How Of Geo

A Brief History of Mapping

*IANAH

*

Page 17: RefreshDC - The How Of Geo

StoryMapping

Page 18: RefreshDC - The How Of Geo

Emphemeral Maps http://maps.google.com

Page 19: RefreshDC - The How Of Geo

Meaning

Page 20: RefreshDC - The How Of Geo

Meaning

Page 21: RefreshDC - The How Of Geo

Navigation

Page 22: RefreshDC - The How Of Geo

Compass

Page 23: RefreshDC - The How Of Geo

1492 - Columbus sails the ocean blue

Page 24: RefreshDC - The How Of Geo

Cartographic Renaissance

Page 25: RefreshDC - The How Of Geo

So geographers, in Afric maps,With savage pictures fill their gaps,And o’er unhabitable downsPlace elephants for want of towns.

- Jonathan Swift

Page 26: RefreshDC - The How Of Geo

Ortelius Atlas

Page 27: RefreshDC - The How Of Geo

Exploration

Page 28: RefreshDC - The How Of Geo

Travel Guides

Page 29: RefreshDC - The How Of Geo

Driving Guides

Page 30: RefreshDC - The How Of Geo

GIS

Page 31: RefreshDC - The How Of Geo

Internet Maps

Page 32: RefreshDC - The How Of Geo

2005 - Google slips the map

Page 33: RefreshDC - The How Of Geo

2005 - Google slips the map

GPS becomes ubiquitous

mobile computing

urban renewalparticipatory web

Page 34: RefreshDC - The How Of Geo

HousingMaps http://housingmaps.com

Page 35: RefreshDC - The How Of Geo

Slippy Maps &

Spinny Globes

Page 36: RefreshDC - The How Of Geo
Page 37: RefreshDC - The How Of Geo

GoogleMaps http://maps.google.com

Page 38: RefreshDC - The How Of Geo

Interactivity http://maps.google.com

Page 39: RefreshDC - The How Of Geo

Design

Page 40: RefreshDC - The How Of Geo

Usability

Page 42: RefreshDC - The How Of Geo

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

http://openstreetmap.org/?lat=-33.9377&lon=18.4745&zoom=12&layers=B000FTF

Data Coverage and Quality

Page 43: RefreshDC - The How Of Geo

Brighton, UK

Page 44: RefreshDC - The How Of Geo

Brighton, UK

Page 45: RefreshDC - The How Of Geo

Data Ownership and Access

Page 46: RefreshDC - The How Of Geo

Data Ownership and Access

Page 47: RefreshDC - The How Of Geo

Technology Limitations

Page 48: RefreshDC - The How Of Geo

Technology Limitations

Page 49: RefreshDC - The How Of Geo

Where Next?

http://flickr.com/photos/loupiote/25426957

Page 50: RefreshDC - The How Of Geo

Storage

Page 51: RefreshDC - The How Of Geo

id name rating lat lon

10045 Vibe Bar 4.3 52.81 0.295

10046 Half Moon Pub

3.8 53.432 0.312

10047 Windmill 2.6 50.982 0.256

10048 Marquess oAnglesey

1.7 51.023 1.24

10049 Grange Pub

4.5 52.110 0.4562

10050 Coopers Arms

3.5 50.862 0.821

10051 Old Queens Head

3.2 52.591 0.312

10052 Oxo Tower

1.3 51.93 -0.351

10053 Riverside 3.9 52.18 0.62

Page 52: RefreshDC - The How Of Geo

id name rating lat lon

10045 Vibe Bar 4.3 52.81 0.295

10046 Half Moon Pub

3.8 53.432 0.312

10047 Windmill 2.6 50.982 0.256

10048 Marquess oAnglesey

1.7 51.023 1.24

10049 Grange Pub

4.5 52.110 0.4562

10050 Coopers Arms

3.5 50.862 0.821

10051 Old Queens Head

3.2 52.591 0.312

10052 Oxo Tower

1.3 51.93 -0.351

10053 Riverside 3.9 52.18 0.62

Page 53: RefreshDC - The How Of Geo
Page 54: RefreshDC - The How Of Geo

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)))

Page 55: RefreshDC - The How Of Geo

SELECT the_geom FROM geom_table WHERE ST_Distance(the_geom, GeomFromText('POINT(0.02839 51.50807)', -1)) < 100

Page 56: RefreshDC - The How Of Geo

SELECT the_geom FROM geom_table WHERE the_geom && 'BOX3D(0.02 51,0.03 52)'::box3d ANDST_Distance(the_geom, GeomFromText('POINT(0.02839 51.50807)', -1)) < 100

Page 57: RefreshDC - The How Of Geo

SpatiaLite

http://www.gaia-gis.it/spatialite/

SQLite + Spatial Types

Page 58: RefreshDC - The How Of Geo

GeoHash

http://geohash.org/

Page 59: RefreshDC - The How Of Geo

GeoHash

http://geohash.org/

Page 60: RefreshDC - The How Of Geo

GeoHash

http://geohash.org/

SELECT nameFROM pubsWHERE geohash LIKE "GCPUV%"

Page 61: RefreshDC - The How Of Geo

GeoHash

http://geohash.org/

SELECT nameFROM pubsWHERE geohash LIKE "GCPUVR%" OR geohash LIKE "GCPVJ2%"

Page 62: RefreshDC - The How Of Geo

Data

Page 63: RefreshDC - The How Of Geo

GeoNames http://geonames.org

Page 64: RefreshDC - The How Of Geo

GeoNames http://geonames.org

Page 65: RefreshDC - The How Of Geo

Implicit GeoData http://geocodr.net

Page 66: RefreshDC - The How Of Geo

Implicit GeoData http://geocodr.net

Page 67: RefreshDC - The How Of Geo

OpenStreetMap http://openstreetmap.org

Page 68: RefreshDC - The How Of Geo

OpenStreetMap http://openstreetmap.org

Page 69: RefreshDC - The How Of Geo

Wiki for the World

Page 70: RefreshDC - The How Of Geo

Flickr OSM http://www.flickr.com/map?&fLat=39.9227&fLon=116.4694&zl=6

Page 71: RefreshDC - The How Of Geo

Flickr Photos

Page 72: RefreshDC - The How Of Geo

OpenAerialMap http://openaerialmap.org

Page 73: RefreshDC - The How Of Geo

DC CTO http://data.octo.dc.gov/

Page 74: RefreshDC - The How Of Geo

GeoCommons Finder! http://geocommons.com

Page 75: RefreshDC - The How Of Geo

Sharing

Page 76: RefreshDC - The How Of Geo

GeoRSS

Page 77: RefreshDC - The How Of Geo

GeoRSS

Page 78: RefreshDC - The How Of Geo

GeoRSS

+

Page 79: RefreshDC - The How Of Geo

GeoRSS

<georss:point>45.256 -71.92

</georss:point>+

Page 80: RefreshDC - The How Of Geo

GeoRSS

<georss:point>45.256 -71.92

</georss:point>+

Page 81: RefreshDC - The How Of Geo

GeoRSS

<georss:point>45.256 -71.92

</georss:point>+

Page 82: RefreshDC - The How Of Geo

RSS / Atom<?xml version="1.0" encoding="UTF-8"?><feed xml:lang="en-US" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="http://grwifi.net/feed" xmlns="http://www.w3.org/2005/Atom"> <title>Grand Rapids WiFi: News, Updated Hotspot Locations, and Comments</title> <id>http://grwifi.net/atom/locations</id> <link href="http://grwifi.net/feed" rel="self" type="application/atom+xml"/> <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="http://grwifi.net/location/view/skelletones#comment3862" rel="alternate" type="text/html"/> <category term="The Euclid"/> <author><name>mari</name></author> <content type="xhtml"><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="http://grwifi.net/location/view/bk-east-paris#comment3855" rel="alternate" type="text/html"/> <category term="Burger King - East Paris"/> <author><name>Brandino</name></author> <content type="xhtml"><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="http://grwifi.net/location/view/common-ground#comment3843" rel="alternate" type="text/html"/> <category term="Common Ground Coffee Shop"/> <author> <name>Rex Cowan</name> </author> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml"><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>

Page 83: RefreshDC - The How Of Geo

GeoRSS<?xml version="1.0" encoding="UTF-8"?><feed xml:lang="en-US" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="http://grwifi.net/feed" xmlns:georss="http://www.georss.org/georss" xmlns="http://www.w3.org/2005/Atom"> <title>Grand Rapids WiFi: News, Updated Hotspot Locations, and Comments</title> <id>http://grwifi.net/atom/locations</id> <link href="http://grwifi.net/feed" rel="self" type="application/atom+xml"/> <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="http://grwifi.net/location/view/skelletones#comment3862" rel="alternate" type="text/html"/> <category term="The Euclid"/> <author><name>mari</name></author> <georss:point>42.960126 -85.667997</georss:point> <content type="xhtml"><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="http://grwifi.net/location/view/bk-east-paris#comment3855" rel="alternate" type="text/html"/> <category term="Burger King - East Paris"/> <author><name>Brandino</name></author> <georss:point>42.911495 -85.568665</georss:point> <content type="xhtml"><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="http://grwifi.net/location/view/common-ground#comment3843" rel="alternate" type="text/html"/> <category term="Common Ground Coffee Shop"/> <author> <name>Rex Cowan</name> </author> <georss:point>42.962927 -85.637179</georss:point> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml"><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>

Page 84: RefreshDC - The How Of Geo

GeoNames GeoRSS http://www.geonames.org/rss-to-georss-converter.html

Page 85: RefreshDC - The How Of Geo

KML<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.2"> <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>

Page 86: RefreshDC - The How Of Geo

KML Extended Data

<ExtendedData id="rooms"> <name>Rooms</name> <value>3</value></ExtendedData>

Page 87: RefreshDC - The How Of Geo

KML Network Links

</NetworkLink> <NetworkLink> <name><![CDATA[Pubs in London]]></name> <Link> <href>http://maker.geocommons.com/maps/839/overlays/1</href> </Link></NetworkLink>

Page 88: RefreshDC - The How Of Geo

{ "type": "Point", "coordinates": [100.0, 0.0] }

GeoJSON

Page 89: RefreshDC - The How Of Geo

GeoJSON { "blog": { "posts": [ { "type": "atom:item", "atom:summary": "post 1", "atom:description": "i love blogging" }, { "type": "atom:item", "atom:summary": "post 2 from CA", "atom:description": "geoblogging in California" "geometry": { "type", "Point", "coordinates": [-120, 40] } }, ], "geometry": { "type": "Polygon", "coordinates": [[[-121, 39], [-119, 39], [-119, 41], [-121, 41], [-121, 39]]] } } }

Page 90: RefreshDC - The How Of Geo

GeoWeb

Page 91: RefreshDC - The How Of Geo

Resources

• /places

• /places/89

• /places/89.atom

• /places/89.kml

Page 93: RefreshDC - The How Of Geo

Formats

HTML : RSS

Page 94: RefreshDC - The How Of Geo

Formats

HTML : RSS ::

Page 95: RefreshDC - The How Of Geo

Formats

HTML : RSS KML : GeoRSS::

Page 96: RefreshDC - The How Of Geo

Formats

Visualization : Syndication

HTML : RSS KML : GeoRSS::

Page 97: RefreshDC - The How Of Geo

OpenSearch

http://search.org?q={searchTerm}

Page 98: RefreshDC - The How Of Geo

OpenSearch

http://search.org?q={searchTerm}

Page 99: RefreshDC - The How Of Geo

OpenSearch

http://search.org?q={searchTerm}&lat={geo:lat}&lon={geo:lon}

-Geo

Page 100: RefreshDC - The How Of Geo

OpenSearch-Geohttp://maps.google.com/maps?near=43.3+-0.03

http://local.yahoo.com/?csz=43.3,-0.03http://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.4http://mapufacture.com/search?lat=43.3&lon=-0.03

Page 101: RefreshDC - The How Of Geo

OpenSearch-Geohttp://maps.google.com/maps?near=43.3+-0.03

http://local.yahoo.com/?csz=43.3,-0.03http://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.4http://mapufacture.com/search?lat=43.3&lon=-0.03

lat={geo:lat}&lon={geo:lon}&radius={geo:radius}

Page 102: RefreshDC - The How Of Geo

OpenSearch-Geohttp://maps.google.com/maps?near=43.3+-0.03

http://local.yahoo.com/?csz=43.3,-0.03http://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.4http://mapufacture.com/search?lat=43.3&lon=-0.03

lat={geo:lat}&lon={geo:lon}&radius={geo:radius}

bbox={geo:box}

Page 103: RefreshDC - The How Of Geo

OpenSearch-Geohttp://maps.google.com/maps?near=43.3+-0.03

http://local.yahoo.com/?csz=43.3,-0.03http://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.4http://mapufacture.com/search?lat=43.3&lon=-0.03

lat={geo:lat}&lon={geo:lon}&radius={geo:radius}

bbox={geo:box}

where={geo:locationString}

Page 104: RefreshDC - The How Of Geo

OpenSearch-Geohttp://maps.google.com/maps?near=43.3+-0.03

http://local.yahoo.com/?csz=43.3,-0.03http://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.4http://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}

Page 105: RefreshDC - The How Of Geo

Why should I share my data?

Page 106: RefreshDC - The How Of Geo

GeoStack

http://flickr.com/photos/alfr3do/7436142/

Page 107: RefreshDC - The How Of Geo

Create

Publish

Aggregate

Consume

Exif GeoRSS KML GeocodingGPX

GeoRSS KML Microformats MachineTags

GML KML GeoRSS GeoJSONWFS

Geo

Stac

k

Page 108: RefreshDC - The How Of Geo

Visualization

Page 109: RefreshDC - The How Of Geo

Mapstraction

Page 110: RefreshDC - The How Of Geo

Mapstraction API<script src="http://maps.google.com/maps?file=api&v=2&key=YOUR_KEY" type="text/javascript"></script><script type="text/javascript" src="mapstraction.js"></script>

<div id="mapstraction" style="width: 400px; height: 400px;"></div>

<script type="text/javascript">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>

Page 111: RefreshDC - The How Of Geo

Power of the Swap

var mapstraction = new Mapstraction(‘map’, ‘google’);

Page 112: RefreshDC - The How Of Geo

Power of the Swap

mapstraction.swap(‘mapstraction’, ‘yahoo’);

Page 113: RefreshDC - The How Of Geo

Power of the Swap

mapstraction.swap(‘mapstraction’, ‘microsoft’);

Page 114: RefreshDC - The How Of Geo

Power of the Swap

mapstraction.swap(‘mapstraction’, ‘openstreetmap’);

Page 115: RefreshDC - The How Of Geo

Overlays

mapstraction.addImageOverlay("over","images/santodomingo.png",50,-70.01544, 18.39777, -69.80567, 18.563517);

mapstraction.addImageOverlay("over",file,opacity,west,south,east,north);

Page 116: RefreshDC - The How Of Geo

Filters

mapstraction.removeAllFilters();mapstraction.addFilter('category', 'eq', 10 );mapstraction.doFilter();

Page 117: RefreshDC - The How Of Geo

Filters

mapstraction.removeAllFilters();mapstraction.addFilter('category', 'eq', 10 );mapstraction.doFilter();

mapstraction.toggleFilter('category', 'eq', 10 );

Page 118: RefreshDC - The How Of Geo

Sliders

Page 119: RefreshDC - The How Of Geo

OpenLayers http://openlayers.org

Page 120: RefreshDC - The How Of Geo

map = new OpenLayers.Map("map", { maxResolution: 360/512, projection: "EPSG:4326" , 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( "world", "/cgi-bin/tilecache/tilecache.cgi?", {layers: 'world'});map.addLayers([wms]);map.setCenter(new OpenLayers.LonLat(0, 32), 7);

Page 121: RefreshDC - The How Of Geo

map = new OpenLayers.Map("map", { maxResolution: 360/512, projection: "EPSG:4326" , 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( "world", "/cgi-bin/tilecache/tilecache.cgi?", {layers: 'world'});map.addLayers([wms]);map.setCenter(new OpenLayers.LonLat(0, 32), 7);

Page 122: RefreshDC - The How Of Geo

<link rel="stylesheet" href="../themes/gray.css" type="text/css" media="screen" />

<div id="map" class="gray smallmap"></div>

Page 123: RefreshDC - The How Of Geo

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;}

<link rel="stylesheet" href="../themes/gray.css" type="text/css" media="screen" />

<div id="map" class="gray smallmap"></div>

Page 124: RefreshDC - The How Of Geo

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;}

<link rel="stylesheet" href="../themes/gray.css" type="text/css" media="screen" />

<div id="map" class="gray smallmap"></div>

Page 125: RefreshDC - The How Of Geo

<link rel="stylesheet" href="../themes/hearts.css" type="text/css" media="screen" /><div id="map" class="hearts smallmap"></div>

Page 126: RefreshDC - The How Of Geo

.hearts .olControlZoomPanel div { background-image: url(img/hearts/hearts-zoom.png);}.hearts .olControlPanPanel div { background-image: url(img/hearts/hearts-panel.png);}

<link rel="stylesheet" href="../themes/hearts.css" type="text/css" media="screen" /><div id="map" class="hearts smallmap"></div>

Page 127: RefreshDC - The How Of Geo

.hearts .olControlZoomPanel div { background-image: url(img/hearts/hearts-zoom.png);}.hearts .olControlPanPanel div { background-image: url(img/hearts/hearts-panel.png);}

<link rel="stylesheet" href="../themes/hearts.css" type="text/css" media="screen" /><div id="map" class="hearts smallmap"></div>

Page 128: RefreshDC - The How Of Geo

Accessibility

Page 129: RefreshDC - The How Of Geo
Page 130: RefreshDC - The How Of Geo
Page 131: RefreshDC - The How Of Geo
Page 132: RefreshDC - The How Of Geo

ModestMaps

Page 133: RefreshDC - The How Of Geo

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); } }}

Page 134: RefreshDC - The How Of Geo

London2012 http://london2012.co.uk

Page 135: RefreshDC - The How Of Geo

Hurricane Tracking http://hurricanewiki.org

Page 136: RefreshDC - The How Of Geo

GeoCommons Maker! http://maker.geocommons.com

Page 137: RefreshDC - The How Of Geo

Analysis

Page 138: RefreshDC - The How Of Geo

WalkScore http://walkscore.com

Page 139: RefreshDC - The How Of Geo

MySociety House Price vs. Travel Time

http://www.mysociety.org/2007/more-travel-maps/

Page 140: RefreshDC - The How Of Geo

pgRouting

http://pgrouting.postlbs.org/

Page 141: RefreshDC - The How Of Geo

Safe Routing http://www.ridethecity.com

Page 142: RefreshDC - The How Of Geo

Fuel Efficiency Routing

Page 143: RefreshDC - The How Of Geo

Bakery Routing

Page 144: RefreshDC - The How Of Geo

Cartography

Page 145: RefreshDC - The How Of Geo

wrp.geothings.net

Page 146: RefreshDC - The How Of Geo
Page 147: RefreshDC - The How Of Geo

Maps for Farmers http://serveyourcountryfood.com

Page 148: RefreshDC - The How Of Geo

Tiles

Page 149: RefreshDC - The How Of Geo

Tiles

Page 150: RefreshDC - The How Of Geo

Tiles

Page 151: RefreshDC - The How Of Geo

TileCache http://tilecache.org

TileCache

Page 152: RefreshDC - The How Of Geo

TileCache http://tilecache.org

Image

WMS

Mapnik

Image

CRS

TileCache

Page 153: RefreshDC - The How Of Geo

TileCache http://tilecache.org

Image

WMS

Mapnik

Image

CRS

TileCacheTMS

900913(google)

Page 154: RefreshDC - The How Of Geo

Mapstraction Tilesmapstraction.addTileLayer("http://oakland-1950s.s3.amazonaws.com/{Z}-r{Y}-c{X}.jpg", 80);

Page 155: RefreshDC - The How Of Geo

New Orleans http://maps.thinknola.com

Page 156: RefreshDC - The How Of Geo

EveryBlock http://everyblock.com

Page 157: RefreshDC - The How Of Geo

BurningManEarth http://earth.burningman.org

Page 158: RefreshDC - The How Of Geo

What is a “Choropleth”?

Page 160: RefreshDC - The How Of Geo

Read

Page 161: RefreshDC - The How Of Geo
Page 162: RefreshDC - The How Of Geo

Public Geodata Repository

Page 163: RefreshDC - The How Of Geo

GeoData Visualization

Page 164: RefreshDC - The How Of Geo

Thematic Styling

Page 165: RefreshDC - The How Of Geo

Classification

Page 166: RefreshDC - The How Of Geo

Styling

Page 167: RefreshDC - The How Of Geo

Base Data

Page 168: RefreshDC - The How Of Geo

Comparative Analysis http://maker.geocommons.com/maps/839

Page 169: RefreshDC - The How Of Geo

Inspect the Data

Page 170: RefreshDC - The How Of Geo

Styled KML

Page 171: RefreshDC - The How Of Geo

Print Maps

Page 172: RefreshDC - The How Of Geo

Mapnik

Page 173: RefreshDC - The How Of Geo

Mapnik http://mapnik.com

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE Map><Map bgcolor="#b5d0d0" srs="+proj=latlong +datum=WGS84"> <Style name="world"> <Rule> <MaxScaleDenominator>250000000000</MaxScaleDenominator> <MinScaleDenominator>6000000</MinScaleDenominator> <PolygonSymbolizer> <CssParameter name="fill">#f2efe9</CssParameter> </PolygonSymbolizer> <LineSymbolizer> <CssParameter name="stroke">#b5d0d0</CssParameter> <CssParameter name="stroke-width">0.5</CssParameter> </LineSymbolizer> </Rule> </Style> <Layer name="world" status="on" srs="+proj=latlong +datum=WGS84"> <StyleName>world</StyleName> <Datasource> <Parameter name="type">shape</Parameter> <Parameter name="file">/Users/ajturner/Projects/mapnik/world_borders</Parameter> </Datasource> </Layer></Map>

Page 174: RefreshDC - The How Of Geo

OpenCycleMap http://opencyclemap.org

Page 175: RefreshDC - The How Of Geo

GPSies http://gpsies.com/

Page 176: RefreshDC - The How Of Geo

OpenCycleMap http://opencyclemap.org

Page 177: RefreshDC - The How Of Geo

Shenzen Maps

Page 178: RefreshDC - The How Of Geo

StumbleSafely http://www.outsideindc.com/stumblesafely

Page 179: RefreshDC - The How Of Geo

Cascadenick http://code.google.com/p/mapnik-utils/

* { line-width: 1; line-color: #999; polygon-fill: #fff; }

*[zoom>=6][zoom<12] { line-color: #f90;}#world-borders[zoom<10] NAME{ text-fill: #333;}

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE Map><Map bgcolor="#b5d0d0" srs="..."> <Stylesheet> Map { map-bgcolor: #ccc; } </Stylesheet> <Stylesheet src="example.mss"/> <Layer name="world" status="on" srs="..."> <StyleName>world</StyleName> <Datasource> <Parameter name="type">shape</Parameter> <Parameter name="file">...</Parameter> </Datasource> </Layer></Map>

example.mml example.mss

Page 180: RefreshDC - The How Of Geo

Geolocation

Page 181: RefreshDC - The How Of Geo

GPS

Page 182: RefreshDC - The How Of Geo

GSM

Page 183: RefreshDC - The How Of Geo

WiFi

Page 184: RefreshDC - The How Of Geo

IP Address

Page 185: RefreshDC - The How Of Geo

Proximity

Page 186: RefreshDC - The How Of Geo

User Tracking

Page 187: RefreshDC - The How Of Geo

W3C Geolocation http://dev.w3.org/geo/api/spec-source.html

Page 188: RefreshDC - The How Of Geo

navigator.geolocation.getCurrentPosition(function(pos) { alert( pos.latitude + ", " + pos.longitude );})

Page 189: RefreshDC - The How Of Geo

interface Geolocation { readonly attribute Position lastPosition;

void getCurrentPosition(in PositionCallback successCallback);

int watchPosition(in PositionCallback successCallback);

void clearWatch(in int watchId); };

Page 190: RefreshDC - The How Of Geo
Page 191: RefreshDC - The How Of Geo

PlundrDS

Page 192: RefreshDC - The How Of Geo
Page 193: RefreshDC - The How Of Geo

GeoClue

Page 194: RefreshDC - The How Of Geo

Core Location

Page 195: RefreshDC - The How Of Geo

FireEagle http://fireeagle.com

Page 196: RefreshDC - The How Of Geo

geotagging pacersM T W Th

Page 197: RefreshDC - The How Of Geo

geotagging pacersM T W Th1 23 4

Page 198: RefreshDC - The How Of Geo

geotagging pacersM T W Th1 23 4

Page 199: RefreshDC - The How Of Geo

geotagging pacersM T W Th1 23 4

Page 200: RefreshDC - The How Of Geo

geotagging pacersM T W Th1 23 4

Page 201: RefreshDC - The How Of Geo

BBC Bangladesh Boat Journey

Page 202: RefreshDC - The How Of Geo

Mobile

Page 203: RefreshDC - The How Of Geo

Mobline Placemarking

Page 204: RefreshDC - The How Of Geo

Android Innovations

cab4me

Page 205: RefreshDC - The How Of Geo

Ambient Location

OmniFocus

Page 206: RefreshDC - The How Of Geo

UrbanSpoon

Page 207: RefreshDC - The How Of Geo

VoteReport http://twittervotereport.com

Page 208: RefreshDC - The How Of Geo

Navigating Washington http://navigatingwashington.com

Page 209: RefreshDC - The How Of Geo

Navigating Washington http://navigatingwashington.com

Page 210: RefreshDC - The How Of Geo

Navigating Washington http://navigatingwashington.com

Page 211: RefreshDC - The How Of Geo

Ushahidi

Page 212: RefreshDC - The How Of Geo

Ushahidi

Page 213: RefreshDC - The How Of Geo

Ushahidi - Gaza http://labs.aljazeera.net/warongaza/

Page 214: RefreshDC - The How Of Geo

Dash http://dash.net

API

Page 215: RefreshDC - The How Of Geo

PocketMaps

Page 216: RefreshDC - The How Of Geo

PocketMaps

ruby: http://github.com/ajturner/pocketmapspython: http://aaronland.info/python/pocketMMap

height = 11width = 8.5margin = .25dpi = 144

bbox = (45.482882,-73.619899,45.532687,-73.547801)zoom = 16

out = "montreal_pocketmmap.pdf"

pm = pocketMMap(height, width, margin, dpi)pm.load_provider('OPEN_STREET_MAP')pm.draw(bbox, zoom)pm.save(out)

Page 217: RefreshDC - The How Of Geo

We’re Hiring Help build the GeoWeb

GeoWeb


Recommended