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

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

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