Title: Neogeography
1Neogeography
- Andrew Turner
- Mikel Maron
http//www.oreilly.com/catalog/neogeography/
2Neowho?
3But who are you?
4Andrew Turner
Company
Organizations
Projects
Publish
5Mikel Maron
6Free Stuff!
7Neogeography The CD
- Copy of Neogeography Shortcut PDF
- Project Materials
- GPX files, photos
- Excel spreadsheet
- Tools
- GPSBabel
- GoogleEarth
- JOSM
- Example Projects
- Map web pages
- Geo libraries
8Terminology
9Data Formats
- GeoRSS - syndication
- news, photos, blogs
- KML - storage
- GPX - data
- GPS tracks, waypoints
- Microformats
- webpages, mixed media content
- Machine Tags
10RSS
lt?xml version"1.0" encoding"UTF-8"?gt ltfeed
xmllang"en-US" xmlnsdc"http//purl.org/dc/elem
ents/1.1/" xmlbase"http//grwifi.net/feed"
xmlns"http//www.w3.org/2005/Atom"gt
lttitlegtGrand Rapids WiFi News, Updated Hotspot
Locations, and Commentslt/titlegt
ltidgthttp//grwifi.net/atom/locationslt/idgt ltlink
href"http//grwifi.net/feed" rel"self"
type"application/atomxml"/gt ltrightsgtCreative
Commons Attribution-NonCommercial-ShareAlike 2.0
http//creativecommons.org/licenses/by-nc-sa/2.0/
lt/rightsgt ltupdatedgt2007-03-28T1731330000lt/up
datedgt ltentrygt ltidgthttp//grwifi.net/locati
on/view/skelletonescomment3862lt/idgt
lttitlegtGrand Rapids WiFi Comment on The
Euclidlt/titlegt ltlink href"http//grwifi.net/l
ocation/view/skelletonescomment3862"
rel"alternate" type"text/html"/gt ltcategory
term"The Euclid"/gt ltauthorgtltnamegtmarilt/namegtlt
/authorgt ltcontent type"xhtml"gtltpgti know a
local band in kalamazoo called rising vacancy. i
was wondering how /pgtlt/contentgt
ltpublishedgt2007-03-28T1731330000lt/publishedgt
lt/entrygt ltentrygt ltidgthttp//grwifi.net/loca
tion/view/bk-east-pariscomment3855lt/idgt
lttitlegtGrand Rapids WiFi Comment on Burger King
- East Parislt/titlegt ltlink href"http//grwifi
.net/location/view/bk-east-pariscomment3855"
rel"alternate" type"text/html"/gt ltcategory
term"Burger King - East Paris"/gt
ltauthorgtltnamegtBrandinolt/namegtlt/authorgt
ltcontent type"xhtml"gtltpgtI love burger king
lt/pgtlt/contentgt ltpublishedgt2007-03-21T163819
0000lt/publishedgt lt/entrygt ltentrygt
ltidgthttp//grwifi.net/location/view/common-ground
comment3843lt/idgt lttitlegtGrand Rapids WiFi
Comment on Common Ground Coffee Shoplt/titlegt
ltlink href"http//grwifi.net/location/view/common
-groundcomment3843" rel"alternate"
type"text/html"/gt ltcategory term"Common
Ground Coffee Shop"/gt ltauthorgt
ltnamegtRex Cowanlt/namegt lt/authorgt ltcontent
type"xhtml"gt ltdiv xmlns"http//www.w3.org/
1999/xhtml"gtltpgtCommon Ground is a welcoming place
with a warm atmosphere, the clerk I talked to had
lt/pgtlt/contentgt ltpublishedgt2007-03-17T014559
0000lt/publishedgt lt/entrygt lt/feedgt
11GeoRSS
lt?xml version"1.0" encoding"UTF-8"?gt ltfeed
xmllang"en-US" xmlnsdc"http//purl.org/dc/elem
ents/1.1/" xmlbase"http//grwifi.net/feed"
xmlnsgeorss"http//www.georss.org/georss"
xmlns"http//www.w3.org/2005/Atom"gt
lttitlegtGrand Rapids WiFi News, Updated Hotspot
Locations, and Commentslt/titlegt
ltidgthttp//grwifi.net/atom/locationslt/idgt ltlink
href"http//grwifi.net/feed" rel"self"
type"application/atomxml"/gt ltrightsgtCreative
Commons Attribution-NonCommercial-ShareAlike 2.0
http//creativecommons.org/licenses/by-nc-sa/2.0/
lt/rightsgt ltupdatedgt2007-03-28T1731330000lt/up
datedgt ltentrygt ltidgthttp//grwifi.net/locati
on/view/skelletonescomment3862lt/idgt
lttitlegtGrand Rapids WiFi Comment on The
Euclidlt/titlegt ltlink href"http//grwifi.net/l
ocation/view/skelletonescomment3862"
rel"alternate" type"text/html"/gt ltcategory
term"The Euclid"/gt ltauthorgtltnamegtmarilt/namegtlt
/authorgt ltgeorsspointgt42.960126
-85.667997lt/georsspointgt ltcontent
type"xhtml"gtltpgti know a local band in kalamazoo
called rising vacancy. i was wondering how
/pgtlt/contentgt ltpublishedgt2007-03-28T173133
0000lt/publishedgt lt/entrygt ltentrygt
ltidgthttp//grwifi.net/location/view/bk-east-paris
comment3855lt/idgt lttitlegtGrand Rapids WiFi
Comment on Burger King - East Parislt/titlegt
ltlink href"http//grwifi.net/location/view/bk-eas
t-pariscomment3855" rel"alternate"
type"text/html"/gt ltcategory term"Burger
King - East Paris"/gt ltauthorgtltnamegtBrandinolt/n
amegtlt/authorgt ltgeorsspointgt42.911495
-85.568665lt/georsspointgt ltcontent
type"xhtml"gtltpgtI love burger king
lt/pgtlt/contentgt ltpublishedgt2007-03-21T163819
0000lt/publishedgt lt/entrygt ltentrygt
ltidgthttp//grwifi.net/location/view/common-ground
comment3843lt/idgt lttitlegtGrand Rapids WiFi
Comment on Common Ground Coffee Shoplt/titlegt
ltlink href"http//grwifi.net/location/view/common
-groundcomment3843" rel"alternate"
type"text/html"/gt ltcategory term"Common
Ground Coffee Shop"/gt ltauthorgt
ltnamegtRex Cowanlt/namegt lt/authorgt
ltgeorsspointgt42.962927 -85.637179lt/georsspointgt
ltcontent type"xhtml"gt ltdiv
xmlns"http//www.w3.org/1999/xhtml"gtltpgtCommon
Ground is a welcoming place with a warm
atmosphere, the clerk I talked to had
lt/pgtlt/contentgt ltpublishedgt2007-03-17T014559
0000lt/publishedgt lt/entrygt lt/feedgt
12What you get
13GeoRSS Namespaces
W3C Geo
xmlnsgeo"http//www.w3.org/2003/01/geo/wgs84_pos
"
GeoRSS Simple
xmlnsgeorss"http//www.georss.org/georss"
GeoRSS GML
xmlnsgml"http//www.opengis.net/gml"
14ltgeorsspointgt
ltentrygt lttitlegtPoint defined using
georsspointlt/titlegt ltlink
href"http//www.georss.org/simple.html"/gt
ltidgtPoint1lt/idgt ltupdatedgt2007-03-03T183002
Zlt/updatedgt ltcontentgtgetting ready to take
the mountain!lt/contentgt ltgeorsspointgt45.256
-71.92lt/georsspointgt lt/entrygt
15GeoRSS Point
16ltgmlcoordinatesgt
ltentrygt lttitlegtPoint defined using
georsspointlt/titlegt ltlink
href"http//www.georss.org/simple.html"/gt
ltidgtPoint1lt/idgt ltupdatedgt2007-03-03T183002
Zlt/updatedgt ltcontentgtgetting ready to take
the mountain!lt/contentgt ltgeorsswheregt
ltgmlPointgt ltgmlcoordinatesgt45.25
6,-71.92lt/gmlcoordinatesgt lt/gmlPointgt
lt/georsswheregt lt/entrygt
17ltgmlcoordgt
ltentrygt lttitlegtPoint defined using
georsspointlt/titlegt ltlink
href"http//www.georss.org/simple.html"/gt
ltidgtPoint1lt/idgt ltupdatedgt2007-03-03T183002
Zlt/updatedgt ltcontentgtgetting ready to take
the mountain!lt/contentgt ltgeorsswheregt
ltgmlPointgt ltgmlcoordgtltgmlXgt45.2
56lt/gmlXgt ltgmlYgt-71.92lt/gmlYgtlt/gmlcoordgt
lt/gmlPointgt lt/georsswheregt lt/entrygt
18ltgmlposgt
ltentrygt lttitlegtPoint defined using
georsspointlt/titlegt ltlink
href"http//www.georss.org/simple.html"/gt
ltidgtPoint1lt/idgt ltupdatedgt2007-03-03T183002
Zlt/updatedgt ltcontentgtgetting ready to take
the mountain!lt/contentgt ltgeorsswheregt
ltgmlPointgt ltgmlposgt45.256
-71.92lt/gmlposgt lt/gmlPointgt
lt/georsswheregt lt/entrygt
19ltgeorsslinegt
ltentrygt lttitlegtPoint defined using
georsspointlt/titlegt ltlink
href"http//www.georss.org/simple.html"/gt
ltidgtPoint1lt/idgt ltupdatedgt2007-03-03T183002
Zlt/updatedgt ltcontentgtgetting ready to take
the mountain!lt/contentgt ltgeorsslinegt45.256
-110.45 46.46 -109.48 43.84 -109.86lt/georsslinegt
lt/entrygt
More complex - gmlposList, gmlLinestring,
gmlcoord
20GeoRSS Box
ltgeorssboxgt SouthLat WestLon NorthLat
EastLon lt/georssboxgt
More complex - gmlEnvelope, gmlbox
21ltgeorssboxgt
ltentrygt lttitlegtPoint defined using
georsspointlt/titlegt ltlink
href"http//www.georss.org/simple.html"/gt
ltidgtPoint1lt/idgt ltupdatedgt2007-03-03T183002
Zlt/updatedgt ltcontentgtgetting ready to take
the mountain!lt/contentgt ltgeorssboxgt42.943
-71.032 43.039 -69.856lt/georssboxgt lt/entrygt
22GeoRSS Polygon
ltgeorsspolygongt lat1 lon1 lat2 lon2
lat3 lon3 lt/georsspolygongt
More complex - gmlexterior, gmlLinearRing,
gmlPolygon, gmlouterBoundaryIs
23ltgeorsspolygongt
ltentrygt lttitlegtPoint defined using
georsspointlt/titlegt ltlink
href"http//www.georss.org/simple.html"/gt
ltidgtPoint1lt/idgt ltupdatedgt2007-03-03T183002
Zlt/updatedgt ltcontentgtgetting ready to take
the mountain!lt/contentgt ltgeorsspolygongt
45.256 -110.45 46.46 -109.48 43.84
-109.86 45.256 -110.45 lt/georsspolygongt
lt/entrygt
24KML
? http//earth.google.com/kml/
25KML Point
lt?xml version"1.0" encoding"UTF-8"?gt ltkml
xmlns"http//earth.google.com/kml/2.1"gt
ltPlacemarkgt ltnamegtSimple placemarklt/namegt
ltdescriptiongtAttached to the ground.
Intelligently places itself at the height
of the underlying terrain.lt/descriptiongt
ltPointgt ltcoordinatesgt-122.0822035425683,37.4
2228990140251,0lt/coordinatesgt lt/Pointgt
lt/Placemarkgt lt/kmlgt
26KML Ground Overlay
ltGroundOverlaygt ltnamegtLarge-scale overlay
on terrainlt/namegt ltdescriptiongtOverlay
shows Mount Etna erupting on July
13th, 2001.lt/descriptiongt ltIcongt
lthrefgthttp//code.google.com/apis/kml/documentatio
n/etna.jpglt/hrefgt lt/Icongt
ltLatLonBoxgt ltnorthgt37.91904192681665lt/nort
hgt ltsouthgt37.46543388598137lt/southgt
lteastgt15.35832653742206lt/eastgt
ltwestgt14.60128369746704lt/westgt
ltrotationgt-0.1556640799496235lt/rotationgt
lt/LatLonBoxgt lt/GroundOverlaygt
27KML Path
ltPlacemarkgt ltnamegtAbsolute Extrudedlt/namegt
ltdescriptiongtTransparent green wall with
yellow outlineslt/descriptiongt
ltstyleUrlgtyellowLineGreenPolylt/styleUrlgt
ltLineStringgt ltextrudegt1lt/extrudegt
lttessellategt1lt/tessellategt
ltaltitudeModegtabsolutelt/altitudeModegt
ltcoordinatesgt -112.2550785337791,36.07954952145647
,2357 -112.2549277039738,36.081170834921
22,2357 -112.2552505069063,36.0826076130
7279,2357 -112.2564540158376,36.08395660
588506,2357 -112.2580238976449,36.085114
01044813,2357 lt/coordinatesgt
lt/LineStringgt lt/Placemarkgt
28KML Polygon
ltPlacemarkgt ltnamegtThe Pentagonlt/namegt
ltPolygongt ltextrudegt1lt/extrudegt
ltaltitudeModegtrelativeToGroundlt/altitudeModegt
ltouterBoundaryIsgt ltLinearRinggt
ltcoordinatesgt -77.05788457660967,38.8
7253259892824,100 -77.05465973756702,
38.87291016281703,100
-77.05315536854791,38.87053267794386,100
-77.05788457660967,38.87253259892824,100
lt/coordinatesgt lt/LinearRinggt
lt/outerBoundaryIsgt
ltinnerBoundaryIsgt ltLinearRinggt
ltcoordinatesgt -77.05668055019126,38.87
154239798456,100 -77.05542625960818,3
8.87167890344077,100
-77.05485125901024,38.87076535397792,100
-77.05668055019126,38.87154239798456,100
lt/coordinatesgt lt/LinearRinggt
lt/innerBoundaryIsgt lt/Polygongt lt/Placemarkgt
29More KML
- Styling
- Folders
- Network Links
30GPX
? http//earth.google.com/kml/
31Microformats
- HTML Semantic Markup
- Open standard - community driven
- http//microformats.org/
- Upcoming, Flickr, LinkedIn
32Microformat geo
ltdiv class"geo"gtGEO ltspan class"latitude"gt37.
386013lt/spangt, ltspan class"longitude"gt-122.0829
32lt/spangt lt/divgt
GEO 37.386013, -122.082932
? http//microformats.org/wiki/geo
33Microformat geo
ltdiv class"geo"gt ltabbr class"latitude"
title"37.408183"gtN 37 24.491lt/abbrgt ltabbr
class"longitude" title"-122.13855"gtW 122
08.313lt/abbrgt lt/divgt
34Microformat adr
ltdiv class"adr"gt ltdiv class"street-address"gt665
3rd St.lt/divgt ltdiv class"extended-address"gtSuit
e 207lt/divgt ltspan class"locality"gtSan
Franciscolt/spangt, ltspan class"region"gtCAlt/spangt
ltspan class"postal-code"gt94107lt/spangt ltdiv
class"country-name"gtU.S.A.lt/divgt lt/divgt
665 3rd St. Suite 207 San Francisco, CA 94107
? http//microformats.org/wiki/adr
35Microformats Example
36Microformats Tools
- Suda http//suda.co.uk/projects/microformats/geo/
- GreaseMonkey http//greasespot.net/
- GeoPress httpgeorss.org/geopress/
- GreaseRoute http//code.highearthorbit.com/greaser
oute/
?
37Machine Tags
aka TripleTags
namespacepredicatevalue
geotagged geolat37.775 geolon-122.418333
? http//machinetags.org
38Software Tools
39geotruc
http//korbinus.1gb.cc/geotruc/
40GPSBabel
? http//gpsbabel.org
413D Viewers
? http//earth.google.com/kml/
42Google Earth
http//earth.google.com/
43Hardware Tools
- GPS
- Camera
- Mobile Phone
- Mobile Device
- Laptop
44Hardware Tools
45Where are you?
46GPS
47Geocoding
- Where is
- 5002 Main St., Seattle, WA
- Oklahoma
- Hokitika, New Zealand
- The Sphinx
- Zhonguó
- SoHo
- here
48Address Geocoding
49Toponym Geocoding
http//ws.geonames.org/search?qlondon
- London, United Kingdom
- London, Canada
- Greater London, United Kingdom
- City of London, United Kingdom
- East London, South Africa
- London Borough of Enfield, UK
? http//geonames.org
50Reverse Geocoding
- Where is 40.7576, -73.97273?
? http//geonames.org
51Exonyms Endonyms
Trung Qu?c
Zhonguó
??
??
Middle Kindgom
China
Peoples Republic of China
http//sws.geonames.org/1814991/about.rdf
52Geolocation
53Geolocation IP Address
http//api.hostip.info/?ip12.215.42.19
http//api.hostip.info/get_html.php?ip12.215.42.1
9positiontrue
Country UNITED STATES (US) City Sugar Grove,
IL Latitude 41.7696 Longitude -88.4588
ltHostipLookupResultSet version"1.0.0"
xsischemaLocation"http//www.hostip.info/api/hos
tip-1.0.0.xsd"gt ltgmldescriptiongtThis is the
Hostip Lookup Servicelt/gmldescriptiongt ltgmlnamegt
hostiplt/gmlnamegt ltgmlboundedBygtltgmlNullgtinappl
icablelt/gmlNullgtlt/gmlboundedBygt ltgmlfeatureMem
bergt ltHostipgt ltgmlnamegtSugar Grove,
ILlt/gmlnamegt ltcountryNamegtUNITED
STATESlt/countryNamegt ltcountryAbbrevgtUSlt/countryAbb
revgt ltipLocationgt ltgmlPointPropertygt ltgmlPoint
srsName"http//www.opengis.net/gml/srs/epsg.xml
4326"gt ltgmlcoordinatesgt-88.4588,41.7696lt/gmlco
ordinatesgt lt/gmlPointgt lt/gmlPointPropertygt lt/i
pLocationgt lt/Hostipgt lt/gmlfeatureMembergt lt/Hostip
LookupResultSetgt
? http//hostip.info/
54Geolocation WiFi
55Geolocation Cell
56Geolocation Bluetooth
57Making Some Maps
58Mapping Libraries
- Google
- Yahoo
- Microsoft
- MapQuest
- Map24
- Multimap
- Ask Maps
- OpenLayers
59Mapstraction
http//mapstraction.com/
60Mapstraction
ltscript src"http//maps.google.com/maps?fileapi
v2keyGOOGLE_KEY" type"text/javascript"gtlt/scri
ptgt ltscript type"text/javascript"
src"http//api.maps.yahoo.com/ajaxymap?v3.0appi
dYAHOO_KEY"gtlt/scriptgt ltscript src"http//dev.vir
tualearth.net/mapcontrol/v3/mapcontrol.js"gtlt/scrip
tgt ltscript type"text/javascript"
src"mapstraction.js"gtlt/scriptgt
ltdiv idmap" class"mapstraction"
style"displaynone"gtlt/divgt ltscript
type"text/javascript"gt // initialize the
map with your choice of API var
mapstraction new Mapstraction(map',
provider) // create a lat/lon
object var myPoint new LatLonPoint(37.4041
960114344,-122.008194923401) //
display the map centered on a latitude and
longitude mapstraction.setCenterAndZoom(myPo
int, 15) // create a marker positioned at
a lat/lon my_marker new
Marker(myPoint) // add info bubble to the
marker my_marker.setInfoBubble(Map
abstraction rocks!) // display
marker mapstraction.addMarker(my_marker) lt
/scriptgt
61Mapstraction
var mapstraction new Mapstraction(map',
google)
62Mapstraction
mapstraction.swap('yahoo','yahoo')
63Mapstraction
mapstraction.swap('yahoo', 'microsoft')
64Mapstraction
mapstraction.swap('yahoo', 'openstreetmap')
65GeoStack
66GeoStack
67Licensing
68Project time!
69Community
70Community
- Geowanking mailing list
- http//del.icio.us/tag/neogeography
71Whats Next for Neogeography?
72Coming up
- More than points
- GeoJSON
- GeoRSS Multi-geometry
- KML Standardization?
- W3C NeoGeo
- Mobile?