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

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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