Tutorial sobe os Serviços Yahoo! PlaceMaker and Flickr API DEI-IST 2009/2010 Organização do Tutorial Yahoo! PlaceMaker e Yahoo! Geo Services Apresentação dos serviços Java Topology Suite (JTS) Invocação dos serviços através de XQuery Introdução à biblioteca de software Invocação da funcionalidades desde XQuery Informação geo-referenciada no Flickr Introdução à API do Flickr Invocação dos serviços através de XQuery Parte 1 YAHOO! PLACEMAKER Informação geográfica em textos Reconhecer nomes de locais Desambiguar nomes de locais reconhecidos Delimitar ocorrências de nomes de locais Problemas de ambiguidade geo/non-geo Associar nomes de locais a coordenadas (ou outros ids) Base de dados de nomes de locais (gazetteer) Problemas de ambiguidade geo/geo Abordagens recentes baseadas em técnicas de machine learning Martins et al. (2010) A Machine Learning Approach for Handling Place References in Text. In Proceedings of AGILE-2010. http://developer.yahoo.com/geo /placemaker/ Yahoo! PlaceMaker Service Cobertura global, suporta 21 línguas Utilização do serviço requer uma “API Key” Para a frase “Walter Gropius was born in Berlin.” Para o URL http://en.wikipedia.org/wiki/Walter_Gropius Parâmetros do Serviço PlaceMaker Parâmetros do Serviço PlaceMaker Serviço acessível em http://wherein.yahooapis.com Documentação detalhada sobre o formato de saída em http://developer.yahoo.com/geo/placemaker/guide/apireference.html#api-summary Invocação do serviço com XQuery Função de extensão gti:htmlpost() Executa um pedido HTTP POST ao URL do PlaceMaker Linguagem XQuery facilita manipulação dos resultados Filtragem dos locais reconhecidos num documento Manipulação das coordenadas associadas aos locais (JTS API) Serviço Yahoo! GeoPlanet Serviço Web de acesso a uma base de dados de locais http://developer.yahoo.com/geo/geoplanet/ Informação detalhada sobre nomes de locais ou woeids Hierarquia administrativa e caixas delimitadoras Parte 2 JAVA TOPOLOGY SUITE Java Topology Suite Uma API Java para processamento de representações de informação geográfica (i.e., geometrias) Implementa OpenGIS Consortium Simple Features for SQL Modelo completo para geometria linear 2D Point, LineString, LinearRing, Polygon (with holes) MultiPoint, MultiLineString, MultiPolygon, GeometryCollection Computação da relação espacial entre duas geometrias Operações de conjuntos “Booleanas” Modelo das 9 intersecções (DE-9IM) Interior, Boundary, Exterior Named predicates: Equals, Disjoint, Intersects, Touches, Crosses, Within, Contains, Overlaps Outras operações: Centroid, ConvexHull, Distance, ... Java Topology Suite URL : http://sourceforge.net/projects/jts-topo-suite Documentação: http://tsusiatsoftware.net/jts/main.html Invocação através da linguagem XQuery Funções de extensão “geo” Criação de geometrias Funções de I/O fromWKT(), toWKT(), fromGML(), toGML(), ... Relações entre geometrias e operações “set-theoretic” within(), touches(), overlaps(), intersects(), ... union(), intersection(), difference(), ... Outras operações de geometria computacional createPoint(), createLine(), createPolygonFromPoints(), ... distance(), convexHull(), area(), ... Documentação na página da cadeira... Parte 3 A API DO FLICKR E A BIBLIOTECA FLICKRJ A API do Flickr O Flickr é um site de partilha de fotos: Fotos têm timestamps Fotos estão associadas a tags e descriões textuais Muitas fotos estão associadas a coordenadas Fonte de dados muito interessante para aplicações de geo-processamento. API de serviços (e um wrapper em Java). A API do Flickr Documentação em http://www.flickr.com/services/api/ Métodos da API agrupados por classe Informação relacionada com utilizadores (people) Pesquisa e informação sobre fotografias (photos) flickr.photos.getWithGeoData , flickr.photos.search , flickr.photos.getInfo Metadados sobre fotografias (photos.geo) flickr.people.findByUsername , flickr.people.findByEmail flickr.photos.geo.getLocation , flickr.photos.geo.photosForLocation Vários critérios de pesquisa em flickr.photos.search tags, text, bbox, woe_id, lat, lon, radius, ... A API do Flickr Invocação em programas Java Wrapper sobre a API : http://flickrj.sourceforge.net/ Invovação através de XQuery Um exemplo mais complexo... Próximos passos... Visualizar locais mencionados em documentos textuais através do Google Earth, gerando um documento KML com os resultados do PlaceMaker. Procurar fotos relacionadas com os locais mencionados num documento textual, através dos resultados do PlaceMaker e usando a API do Flickr. Visualizar o polígono correspondente à área associada a um conceito geograficamente vago (e.g., baixa de Lisboa), através do Google Earth e usando dados do Flickr. Questões?