SlideShare a Scribd company logo
1 of 39
Place not Space; Geo without MapsFOWA London, October 2009Gary Gale, Yahoo! Geo Technologies
PLACES, PEOPLE and THINGS atibens on Flickr : http://www.flickr.com/photos/atibens/2616899638/
Knowing where our users are, and the places that are important to them Knowing the geographic context of everything we index, manage and publish Knowing  geographic locations, and the names of places We Connect Places, People and Things
SOME NUMBERS KoenVereeken on Flickr : http://www.flickr.com/photos/koenvereeken/2088902012/
85% of all data stored is unstructured This doubles every 3 months 80% of all data contains a geo reference Source: Gartner Group Mr Faber on Flickr : http://www.flickr.com/photos/mrfaber/247946146/
MINE THAT CONTENT tjblackwell on Flickr : http://www.flickr.com/photos/tjblackwell/3652375290/
Content / URL + = Places & References
http://www.vicchi.org/speaking
UNLOCK PLACEMAKER https://developer.apps.yahoo.com/wsregapp/ bohman on Flickr : http://www.flickr.com/photos/bohman/210977249/
http://wherein.yahooapis.com/v1/document
Placemaker Parameters appid 100% mandatory	 inputLanguage en-US, fr-CA, … outputType XML or RSS documentContent text to geoparse documentTitle optional title documentURL URL to geoparse documentType MIME type of doc autoDisambiguate remove duplicates focusWoeid filter around a WOEID
WOEIDs stevefaeembra on Flickr : http://www.flickr.com/photos/stevefaeembra/3567750853/
Unique Permanent Global Language Neutral London = Londra = Londres = ロンドン United States = États-Unis = StatiUniti = 미국 Ensures that geography can be employed consistently and globally straup on Flickr : http://www.flickr.com/photos/straup/3504862388/
GeoPlanet A Global Location Repository Names + Geometry +Topology WOEIDs for ,[object Object]
 postal codes,  airports
 admin regions, time zones
 telephone code areas
 marketing areas
 points of interest
 colloquial areas
neighbourhoodswoodleywonderworks on Flickr : http://www.flickr.com/photos/wwworks/2222523978/
// POST to Placemaker $ch = curl_init();  define('POSTURL', 'http://wherein.yahooapis.com/v1/document'); define('POSTVARS', 'appid='.	$key.'&documentContent='.urlencode($content). 	'&documentType=text/plain&outputType=xml'.$lang); $ch = curl_init(POSTURL); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, POSTVARS); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   $placemaker = curl_exec($ch); curl_close($ch);
PLACES that_james on Flickr : http://www.flickr.com/photos/that_james/496797309/
<placeDetails> <place> <woeId>44418</woeId> <type>Town</type> <name> <![CDATA[London, England, GB]]> </name> <centroid> <latitude>51.5063</latitude> <longitude>-0.12714</longitude> </centroid> </place> <matchType>0</matchType> <weight>1</weight> <confidence>10</confidence> </placeDetails> One place for WOEID 44418
REFERENCES misterbisson on Flickr : http://www.flickr.com/photos/maisonbisson/117720946/
<reference> <woeIds>44418</woeIds> <start>1079</start> <end>1089</end> <isPlaintextMarker>1</isPlaintextMarker> <text><![CDATA[London, UK]]></text> <type>plaintext</type> <xpath><![CDATA[]]></xpath> </reference> <reference> <woeIds>44418</woeIds> <start>1116</start> <end>1126</end> <isPlaintextMarker>1</isPlaintextMarker> <text><![CDATA[London, UK]]></text> <type>plaintext</type> <xpath><![CDATA[]]></xpath> </reference> Two references for WOEID 44418 Two references for WOEID 44418
// turn into an PHP object and loop over the results $places = simplexml_load_string($placemaker, 	'SimpleXMLElement', 	LIBXML_NOCDATA);     if($places->document->placeDetails){ 		$foundplaces = array(); // create a hashmap of the places found to mix with // the references found foreach($places->document->placeDetails as $p){ 		$wkey = 'woeid'.$p->place->woeId; 		$foundplaces[$wkey]=array( 			'name'=>str_replace(', ZZ','',$p->place->name).'',    		    'type'=>$p->place->type.'',    		    'woeId'=>$p->place->woeId.'',    		    'lat'=>$p->place->centroid->latitude.'',    		    'lon'=>$p->place->centroid->longitude.'’ 		); 	} }
// loop over references and filter out duplicates $refs = $places->document->referenceList->reference; $usedwoeids = array(); foreach($refs as $r){ foreach($r->woeIds as $wi){ if(in_array($wi,$usedwoeids)){ 			continue; 	} else { 		$usedwoeids[] = $wi.''; 	} 	$currentloc = $foundplaces["woeid".$wi]; if($r->text!='' && $currentloc['name']!='' &&  		$currentloc['lat']!='' && $currentloc['lon']!=''){ 		$text = preg_replace('/+/',' ',$r->text); 		$name = addslashes(str_replace(', ZZ’, 			$currentloc['name'])); 		$desc = addslashes($text); 		$lat = $currentloc['lat']; 		$lon = $currentloc['lon']; 		$class = stripslashes($desc)."|$name|$lat|$lon"; 		$placelist.= "<li>". 	} }
select * from flickr.photos.info where photo_id in (select id from flickr.photos.search where woe_id=44418) and license=4;
<placeDetails> <place> <woeId>44418</woeId> <type>Town</type> <name> <![CDATA[London, England, GB]]> </name> <centroid> <latitude>51.5063</latitude> <longitude>-0.12714</longitude> </centroid> </place> <matchType>0</matchType> <weight>1</weight> <confidence>10</confidence> </placeDetails> ragewear on Flickr : http://www.flickr.com/photos/ragewear/3367122893/
http://developer.yahoo.com/yui/
http://developer.yahoo.com/yql/
THE INTERNET IS BROKEN Nesster on Flickr : http://www.flickr.com/photos/nesster/3168425434/
// load the URL, using YQL to filter the HTML // and fix UTF-8 nasties $url = 'http://www.vicchi.org/speaking'; $realurl = 'http://query.yahooapis.com/v1/public/yql’. 				'?q=select%20*%20'. 				'from%20html%20where%20url%20%3D%20%22'. 				urlencode($url).'%22&format=xml'; $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $realurl);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  $c = curl_exec($ch);  curl_close($ch); if(strstr($c,'<')){ 	$c = preg_replace("/.*<results>|<results>.*/",'',$c); 	$c = preg_replace("/<xml version=amp;quot;10amp;quot;".                     " encoding=amp;quot;UTF-8amp;quot;>/",'',$c); 	$c = strip_tags($c); 	$c = preg_replace("/[?]+/"," ",$c); }
MINOR ANNOYANCES swooshthesnail on Flickr : http://www.flickr.com/photos/swooshthesnail/3281681399/
50,000 BYTES ASurroca on Flickr : http://www.flickr.com/photos/asurroca/147049402/
X NO JSON

More Related Content

Similar to Place not Space; Geo without Maps

Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Lance Roggendorff
 
Maintaining your own branch of Drupal core
Maintaining your own branch of Drupal coreMaintaining your own branch of Drupal core
Maintaining your own branch of Drupal coredrumm
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuerymanugoel2003
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applicationselliando dias
 
August 10th, 2009 Pete De Mulle Twitter
August 10th, 2009 Pete De Mulle TwitterAugust 10th, 2009 Pete De Mulle Twitter
August 10th, 2009 Pete De Mulle TwitterStraight North
 
FVCP - Facebook , Twitter and Meetup API / Widgets
FVCP - Facebook , Twitter and Meetup API / WidgetsFVCP - Facebook , Twitter and Meetup API / Widgets
FVCP - Facebook , Twitter and Meetup API / WidgetsPete DuMelle
 
Spyware/Malware FVCP
Spyware/Malware  FVCPSpyware/Malware  FVCP
Spyware/Malware FVCPPete DuMelle
 
Illuminated Hacks -- Where 2.0 101 Tutorial
Illuminated Hacks -- Where 2.0 101 TutorialIlluminated Hacks -- Where 2.0 101 Tutorial
Illuminated Hacks -- Where 2.0 101 Tutorialmikel_maron
 
Great Developers Steal
Great Developers StealGreat Developers Steal
Great Developers StealBen Scofield
 
Drupal Lightning FAPI Jumpstart
Drupal Lightning FAPI JumpstartDrupal Lightning FAPI Jumpstart
Drupal Lightning FAPI Jumpstartguestfd47e4c7
 
Five things for you - Yahoo developer offers
Five things for you - Yahoo developer offersFive things for you - Yahoo developer offers
Five things for you - Yahoo developer offersChristian Heilmann
 
ESRI Developer Summit 2008 - Microsoft Virtual Earth
ESRI Developer Summit 2008 - Microsoft Virtual EarthESRI Developer Summit 2008 - Microsoft Virtual Earth
ESRI Developer Summit 2008 - Microsoft Virtual EarthChris Pendleton
 
Evolution of API With Blogging
Evolution of API With BloggingEvolution of API With Blogging
Evolution of API With BloggingTakatsugu Shigeta
 
Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5Stephan Schmidt
 

Similar to Place not Space; Geo without Maps (20)

Photostream
PhotostreamPhotostream
Photostream
 
Photostream
PhotostreamPhotostream
Photostream
 
Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data
 
JQuery Basics
JQuery BasicsJQuery Basics
JQuery Basics
 
SFUSGS
SFUSGSSFUSGS
SFUSGS
 
Maintaining your own branch of Drupal core
Maintaining your own branch of Drupal coreMaintaining your own branch of Drupal core
Maintaining your own branch of Drupal core
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuery
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applications
 
Views notwithstanding
Views notwithstandingViews notwithstanding
Views notwithstanding
 
August 10th, 2009 Pete De Mulle Twitter
August 10th, 2009 Pete De Mulle TwitterAugust 10th, 2009 Pete De Mulle Twitter
August 10th, 2009 Pete De Mulle Twitter
 
FVCP - Facebook , Twitter and Meetup API / Widgets
FVCP - Facebook , Twitter and Meetup API / WidgetsFVCP - Facebook , Twitter and Meetup API / Widgets
FVCP - Facebook , Twitter and Meetup API / Widgets
 
Spyware/Malware FVCP
Spyware/Malware  FVCPSpyware/Malware  FVCP
Spyware/Malware FVCP
 
Web Scraping with PHP
Web Scraping with PHPWeb Scraping with PHP
Web Scraping with PHP
 
Illuminated Hacks -- Where 2.0 101 Tutorial
Illuminated Hacks -- Where 2.0 101 TutorialIlluminated Hacks -- Where 2.0 101 Tutorial
Illuminated Hacks -- Where 2.0 101 Tutorial
 
Great Developers Steal
Great Developers StealGreat Developers Steal
Great Developers Steal
 
Drupal Lightning FAPI Jumpstart
Drupal Lightning FAPI JumpstartDrupal Lightning FAPI Jumpstart
Drupal Lightning FAPI Jumpstart
 
Five things for you - Yahoo developer offers
Five things for you - Yahoo developer offersFive things for you - Yahoo developer offers
Five things for you - Yahoo developer offers
 
ESRI Developer Summit 2008 - Microsoft Virtual Earth
ESRI Developer Summit 2008 - Microsoft Virtual EarthESRI Developer Summit 2008 - Microsoft Virtual Earth
ESRI Developer Summit 2008 - Microsoft Virtual Earth
 
Evolution of API With Blogging
Evolution of API With BloggingEvolution of API With Blogging
Evolution of API With Blogging
 
Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5
 

More from Gary Gale

Turn Left For Coffee
Turn Left For CoffeeTurn Left For Coffee
Turn Left For CoffeeGary Gale
 
A Sense Of Place
A Sense Of PlaceA Sense Of Place
A Sense Of PlaceGary Gale
 
The (Geo) (Mobile) (Smart) Web
The (Geo) (Mobile) (Smart) WebThe (Geo) (Mobile) (Smart) Web
The (Geo) (Mobile) (Smart) WebGary Gale
 
5 Location Trends For 2011
5 Location Trends For 20115 Location Trends For 2011
5 Location Trends For 2011Gary Gale
 
A (Mostly) Complete & (Mostly) Accurate History Of Location (Abridged)
A (Mostly) Complete & (Mostly) Accurate History Of Location (Abridged)A (Mostly) Complete & (Mostly) Accurate History Of Location (Abridged)
A (Mostly) Complete & (Mostly) Accurate History Of Location (Abridged)Gary Gale
 
Of Data Silos, Geo-Babel & Other Geo Malaises
Of Data Silos, Geo-Babel & Other Geo MalaisesOf Data Silos, Geo-Babel & Other Geo Malaises
Of Data Silos, Geo-Babel & Other Geo MalaisesGary Gale
 
Welcome To W3G
Welcome To W3GWelcome To W3G
Welcome To W3GGary Gale
 
Of Data Silos, Geo-Babel & Other Geo Malaises
Of Data Silos, Geo-Babel & Other Geo MalaisesOf Data Silos, Geo-Babel & Other Geo Malaises
Of Data Silos, Geo-Babel & Other Geo MalaisesGary Gale
 
Welcome To The World Of The Geo-Data Silo
Welcome To The World Of The Geo-Data SiloWelcome To The World Of The Geo-Data Silo
Welcome To The World Of The Geo-Data SiloGary Gale
 
Hyperlocal or Hype (and Local)?
Hyperlocal or Hype (and Local)?Hyperlocal or Hype (and Local)?
Hyperlocal or Hype (and Local)?Gary Gale
 
Hyperlocal Deities, Pachyderms, the Letter W, the Number 3 and some Geo
Hyperlocal Deities, Pachyderms, the Letter W, the Number 3 and some GeoHyperlocal Deities, Pachyderms, the Letter W, the Number 3 and some Geo
Hyperlocal Deities, Pachyderms, the Letter W, the Number 3 and some GeoGary Gale
 
Ubiquitous Location, The New Frontier and Hyperlocal Nirvana
Ubiquitous Location, The New Frontier and Hyperlocal NirvanaUbiquitous Location, The New Frontier and Hyperlocal Nirvana
Ubiquitous Location, The New Frontier and Hyperlocal NirvanaGary Gale
 
Location, LB(M)S, Hype, Stealth Data and Stuff
Location, LB(M)S, Hype, Stealth Data and StuffLocation, LB(M)S, Hype, Stealth Data and Stuff
Location, LB(M)S, Hype, Stealth Data and StuffGary Gale
 
Location & Privacy; from OMG! to WTF?
Location & Privacy; from OMG! to WTF?Location & Privacy; from OMG! to WTF?
Location & Privacy; from OMG! to WTF?Gary Gale
 
WhereCamp EU 2010 Keynote
WhereCamp EU 2010 KeynoteWhereCamp EU 2010 Keynote
WhereCamp EU 2010 KeynoteGary Gale
 
WhereCamp EU 2010 Welcome
WhereCamp EU 2010 WelcomeWhereCamp EU 2010 Welcome
WhereCamp EU 2010 WelcomeGary Gale
 
(Almost) Everything You Ever Wanted To Know About Geo (with WOEIDs)
(Almost) Everything You Ever Wanted To Know About Geo (with WOEIDs)(Almost) Everything You Ever Wanted To Know About Geo (with WOEIDs)
(Almost) Everything You Ever Wanted To Know About Geo (with WOEIDs)Gary Gale
 
Location ... It's Moving On
Location ... It's Moving OnLocation ... It's Moving On
Location ... It's Moving OnGary Gale
 
Location & Privacy; from OMG! to WTF?
Location & Privacy; from OMG! to WTF?Location & Privacy; from OMG! to WTF?
Location & Privacy; from OMG! to WTF?Gary Gale
 
Moving LBS Beyond Mobile
Moving LBS Beyond MobileMoving LBS Beyond Mobile
Moving LBS Beyond MobileGary Gale
 

More from Gary Gale (20)

Turn Left For Coffee
Turn Left For CoffeeTurn Left For Coffee
Turn Left For Coffee
 
A Sense Of Place
A Sense Of PlaceA Sense Of Place
A Sense Of Place
 
The (Geo) (Mobile) (Smart) Web
The (Geo) (Mobile) (Smart) WebThe (Geo) (Mobile) (Smart) Web
The (Geo) (Mobile) (Smart) Web
 
5 Location Trends For 2011
5 Location Trends For 20115 Location Trends For 2011
5 Location Trends For 2011
 
A (Mostly) Complete & (Mostly) Accurate History Of Location (Abridged)
A (Mostly) Complete & (Mostly) Accurate History Of Location (Abridged)A (Mostly) Complete & (Mostly) Accurate History Of Location (Abridged)
A (Mostly) Complete & (Mostly) Accurate History Of Location (Abridged)
 
Of Data Silos, Geo-Babel & Other Geo Malaises
Of Data Silos, Geo-Babel & Other Geo MalaisesOf Data Silos, Geo-Babel & Other Geo Malaises
Of Data Silos, Geo-Babel & Other Geo Malaises
 
Welcome To W3G
Welcome To W3GWelcome To W3G
Welcome To W3G
 
Of Data Silos, Geo-Babel & Other Geo Malaises
Of Data Silos, Geo-Babel & Other Geo MalaisesOf Data Silos, Geo-Babel & Other Geo Malaises
Of Data Silos, Geo-Babel & Other Geo Malaises
 
Welcome To The World Of The Geo-Data Silo
Welcome To The World Of The Geo-Data SiloWelcome To The World Of The Geo-Data Silo
Welcome To The World Of The Geo-Data Silo
 
Hyperlocal or Hype (and Local)?
Hyperlocal or Hype (and Local)?Hyperlocal or Hype (and Local)?
Hyperlocal or Hype (and Local)?
 
Hyperlocal Deities, Pachyderms, the Letter W, the Number 3 and some Geo
Hyperlocal Deities, Pachyderms, the Letter W, the Number 3 and some GeoHyperlocal Deities, Pachyderms, the Letter W, the Number 3 and some Geo
Hyperlocal Deities, Pachyderms, the Letter W, the Number 3 and some Geo
 
Ubiquitous Location, The New Frontier and Hyperlocal Nirvana
Ubiquitous Location, The New Frontier and Hyperlocal NirvanaUbiquitous Location, The New Frontier and Hyperlocal Nirvana
Ubiquitous Location, The New Frontier and Hyperlocal Nirvana
 
Location, LB(M)S, Hype, Stealth Data and Stuff
Location, LB(M)S, Hype, Stealth Data and StuffLocation, LB(M)S, Hype, Stealth Data and Stuff
Location, LB(M)S, Hype, Stealth Data and Stuff
 
Location & Privacy; from OMG! to WTF?
Location & Privacy; from OMG! to WTF?Location & Privacy; from OMG! to WTF?
Location & Privacy; from OMG! to WTF?
 
WhereCamp EU 2010 Keynote
WhereCamp EU 2010 KeynoteWhereCamp EU 2010 Keynote
WhereCamp EU 2010 Keynote
 
WhereCamp EU 2010 Welcome
WhereCamp EU 2010 WelcomeWhereCamp EU 2010 Welcome
WhereCamp EU 2010 Welcome
 
(Almost) Everything You Ever Wanted To Know About Geo (with WOEIDs)
(Almost) Everything You Ever Wanted To Know About Geo (with WOEIDs)(Almost) Everything You Ever Wanted To Know About Geo (with WOEIDs)
(Almost) Everything You Ever Wanted To Know About Geo (with WOEIDs)
 
Location ... It's Moving On
Location ... It's Moving OnLocation ... It's Moving On
Location ... It's Moving On
 
Location & Privacy; from OMG! to WTF?
Location & Privacy; from OMG! to WTF?Location & Privacy; from OMG! to WTF?
Location & Privacy; from OMG! to WTF?
 
Moving LBS Beyond Mobile
Moving LBS Beyond MobileMoving LBS Beyond Mobile
Moving LBS Beyond Mobile
 

Recently uploaded

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Recently uploaded (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Place not Space; Geo without Maps

  • 1. Place not Space; Geo without MapsFOWA London, October 2009Gary Gale, Yahoo! Geo Technologies
  • 2. PLACES, PEOPLE and THINGS atibens on Flickr : http://www.flickr.com/photos/atibens/2616899638/
  • 3. Knowing where our users are, and the places that are important to them Knowing the geographic context of everything we index, manage and publish Knowing geographic locations, and the names of places We Connect Places, People and Things
  • 4. SOME NUMBERS KoenVereeken on Flickr : http://www.flickr.com/photos/koenvereeken/2088902012/
  • 5. 85% of all data stored is unstructured This doubles every 3 months 80% of all data contains a geo reference Source: Gartner Group Mr Faber on Flickr : http://www.flickr.com/photos/mrfaber/247946146/
  • 6. MINE THAT CONTENT tjblackwell on Flickr : http://www.flickr.com/photos/tjblackwell/3652375290/
  • 7. Content / URL + = Places & References
  • 9. UNLOCK PLACEMAKER https://developer.apps.yahoo.com/wsregapp/ bohman on Flickr : http://www.flickr.com/photos/bohman/210977249/
  • 11. Placemaker Parameters appid 100% mandatory inputLanguage en-US, fr-CA, … outputType XML or RSS documentContent text to geoparse documentTitle optional title documentURL URL to geoparse documentType MIME type of doc autoDisambiguate remove duplicates focusWoeid filter around a WOEID
  • 12. WOEIDs stevefaeembra on Flickr : http://www.flickr.com/photos/stevefaeembra/3567750853/
  • 13. Unique Permanent Global Language Neutral London = Londra = Londres = ロンドン United States = États-Unis = StatiUniti = 미국 Ensures that geography can be employed consistently and globally straup on Flickr : http://www.flickr.com/photos/straup/3504862388/
  • 14.
  • 15. postal codes, airports
  • 16. admin regions, time zones
  • 19. points of interest
  • 21. neighbourhoodswoodleywonderworks on Flickr : http://www.flickr.com/photos/wwworks/2222523978/
  • 22. // POST to Placemaker $ch = curl_init(); define('POSTURL', 'http://wherein.yahooapis.com/v1/document'); define('POSTVARS', 'appid='. $key.'&documentContent='.urlencode($content). '&documentType=text/plain&outputType=xml'.$lang); $ch = curl_init(POSTURL); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, POSTVARS); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $placemaker = curl_exec($ch); curl_close($ch);
  • 23. PLACES that_james on Flickr : http://www.flickr.com/photos/that_james/496797309/
  • 24. <placeDetails> <place> <woeId>44418</woeId> <type>Town</type> <name> <![CDATA[London, England, GB]]> </name> <centroid> <latitude>51.5063</latitude> <longitude>-0.12714</longitude> </centroid> </place> <matchType>0</matchType> <weight>1</weight> <confidence>10</confidence> </placeDetails> One place for WOEID 44418
  • 25. REFERENCES misterbisson on Flickr : http://www.flickr.com/photos/maisonbisson/117720946/
  • 26. <reference> <woeIds>44418</woeIds> <start>1079</start> <end>1089</end> <isPlaintextMarker>1</isPlaintextMarker> <text><![CDATA[London, UK]]></text> <type>plaintext</type> <xpath><![CDATA[]]></xpath> </reference> <reference> <woeIds>44418</woeIds> <start>1116</start> <end>1126</end> <isPlaintextMarker>1</isPlaintextMarker> <text><![CDATA[London, UK]]></text> <type>plaintext</type> <xpath><![CDATA[]]></xpath> </reference> Two references for WOEID 44418 Two references for WOEID 44418
  • 27. // turn into an PHP object and loop over the results $places = simplexml_load_string($placemaker, 'SimpleXMLElement', LIBXML_NOCDATA); if($places->document->placeDetails){ $foundplaces = array(); // create a hashmap of the places found to mix with // the references found foreach($places->document->placeDetails as $p){ $wkey = 'woeid'.$p->place->woeId; $foundplaces[$wkey]=array( 'name'=>str_replace(', ZZ','',$p->place->name).'', 'type'=>$p->place->type.'', 'woeId'=>$p->place->woeId.'', 'lat'=>$p->place->centroid->latitude.'', 'lon'=>$p->place->centroid->longitude.'’ ); } }
  • 28. // loop over references and filter out duplicates $refs = $places->document->referenceList->reference; $usedwoeids = array(); foreach($refs as $r){ foreach($r->woeIds as $wi){ if(in_array($wi,$usedwoeids)){ continue; } else { $usedwoeids[] = $wi.''; } $currentloc = $foundplaces["woeid".$wi]; if($r->text!='' && $currentloc['name']!='' && $currentloc['lat']!='' && $currentloc['lon']!=''){ $text = preg_replace('/+/',' ',$r->text); $name = addslashes(str_replace(', ZZ’, $currentloc['name'])); $desc = addslashes($text); $lat = $currentloc['lat']; $lon = $currentloc['lon']; $class = stripslashes($desc)."|$name|$lat|$lon"; $placelist.= "<li>". } }
  • 29. select * from flickr.photos.info where photo_id in (select id from flickr.photos.search where woe_id=44418) and license=4;
  • 30. <placeDetails> <place> <woeId>44418</woeId> <type>Town</type> <name> <![CDATA[London, England, GB]]> </name> <centroid> <latitude>51.5063</latitude> <longitude>-0.12714</longitude> </centroid> </place> <matchType>0</matchType> <weight>1</weight> <confidence>10</confidence> </placeDetails> ragewear on Flickr : http://www.flickr.com/photos/ragewear/3367122893/
  • 33.
  • 34.
  • 35. THE INTERNET IS BROKEN Nesster on Flickr : http://www.flickr.com/photos/nesster/3168425434/
  • 36. // load the URL, using YQL to filter the HTML // and fix UTF-8 nasties $url = 'http://www.vicchi.org/speaking'; $realurl = 'http://query.yahooapis.com/v1/public/yql’. '?q=select%20*%20'. 'from%20html%20where%20url%20%3D%20%22'. urlencode($url).'%22&format=xml'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $realurl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $c = curl_exec($ch); curl_close($ch); if(strstr($c,'<')){ $c = preg_replace("/.*<results>|<results>.*/",'',$c); $c = preg_replace("/<xml version=amp;quot;10amp;quot;". " encoding=amp;quot;UTF-8amp;quot;>/",'',$c); $c = strip_tags($c); $c = preg_replace("/[?]+/"," ",$c); }
  • 37. MINOR ANNOYANCES swooshthesnail on Flickr : http://www.flickr.com/photos/swooshthesnail/3281681399/
  • 38. 50,000 BYTES ASurroca on Flickr : http://www.flickr.com/photos/asurroca/147049402/
  • 40. POST NOT GET sludgegulper on Flickr : http://www.flickr.com/photos/sludgeulper/2645478209/
  • 41. WANT TO KNOW MORE? selva on Flickr : http://www.flickr.com/photos/selva/24604141/
  • 46. THANK YOU FOR LISTENING quinn.anya on Flickr : http://www.flickr.com/photos/quinnanya/3118626057/

Editor's Notes

  1. The placeDetails container defines a place – there’s one per place found – it holdsWOEID – the unique identifier for the placetype – the place type name for the placename – the fully qualified name of the placecentroid – the centroid coordinatesmatchType – the type of match (0=text/text & coordinates, 1=coordinates only)weight – relative weight of the place within the documentconfidence – confidence that the document mentions the place
  2. WOEID – list of WOEIDs referencing the placestart & end – index of first and last character in the place reference or -1 if type is XPathisPlaintextMarker – flag indicating if the reference is plain texttext – the actual place referencetype – type of reference – plaintext, Xpath, Xpathwithcountsxpath – xpath of the reference
  3. So now we have the places, their references and their WOEIDs we can easily hook into services which understand WOEIDsSuch as FlickrBecause not only does Flickr love you, it also knows about WOEIDs, as this YQL fragment shows
  4. But what about those services that don’t speak WOEID fluently?Looking back at the place definitions, we have WOEIDs.Well each WOEID has metadata attributes associated with it, such as the centroid of a place with the longitude and latitudeAnd because geo should be technologically agnostic, so must we, so with these coordinates we can use other services, such as Google Earth