mitKBHs API + REST + XML + XSL = KML

[Hop direkte til Google Earth her]

mitKBH har inviteret os alle sammen ind på Blå Datastue. I sidste uge frigav mitKBH en API. Nu kan du lege bag scenen med de data, som brugerne (dig?) laver ved at skrive anmeldelser på mitKBH. Princippet bag deres API er kort fortalt. Du konstruerer en URL søgning (REST), der indholder nogle søgeparametre. Du får så en XML fil retur, som du kan arbejde videre på til dine egne mashups. Læs deres velskrevet mitKBH API Dokumentation . Husk, at klikke på nogle af de demoer, de har lavet. Her ser du hvordan en given URL danner en XML fil, hvilket er meget lærrigt at se opbygningen.

Jeg har tilbragt et par timer på Blå Datastue – Her kommer så hvad jeg fik tiden til at gå med. Jeg så i API dokumentationen at der var mulighed for at lave en geografisk radius afgrænsningssøgning. (alle anmeldte steder i mitKBH har geografiske koordinater tilknyttet). Jeg kom så på ideen med at lave en søgning på alle barer (som er anmeldt i mitKBH) indenfor en radius af 800 meter fra hvor jeg bor. Søgningen ser sådan her ud

  1. http://api.mitkbh.dk/1.x/nodes/?lat=55.67062&lon=12.55193&nodetype=4

Forklaring: “lat” og “lon” er de geografiske koordinater med min bopæl, nodetype=4 – det står for kategori – barer.
Du kan klikke her for at se XML output af denne søgning. Nu er der ikke meget sjovt ved bare at se en valid og velstruktureret XML i ens browser. Næste trin var visualisere data fra denne XML. Google Earth var et godt bud, hvor jeg ville fremvise disse data. Ergo, jeg skulle transformere min XML fil til noget Google Earth forstår. Google Earth benytter sig af en filtype, der hedder KML, hvilket også er en XML fil. Nu er vi så heldige, når vi snakker XML, at transformere en XML fil over til et andet XML output (eller anden slags filtype) er relativt let.

Jeg lavede en XSL (Extensible Stylesheet Language) fil. Denne XSL fil består en masse regler for hvilke data jeg vil have med over i den nye KML fil. Samtidigt beskrives også layout formattering, (deraf S’et for Stylesheet) i XSL filen. Nu tilføjede jeg denne XSL fil til den XML fil, jeg hentede fra mitKBHs API. Dette gøres på samme vis som når du tilføjer eksterne CSS filer til (X)HTML. Jeg kigger lige den på nye XML i Firefox og tager dernæst kilden fra “View Generated Source”, og husker at gemme filen som NN.kml – Her er så den færdige KML fil som du kan se i Google Earth.

Jeg må tilstå af de viste 24 barer, har jeg været på de 21. Altså ikke på en aften, men det kunne jo være forslaget til en dødrute som mitKBHs blog efterlyser. Jeg bemærker også at jo dårligere afstemning en bar har fået, jo bedre er den til at være med på en dødsrute. Måske jeg skulle lave et kort over alle barer i Københavns området, der har fået under 3 i gennemsnit i afstemningen. Så kan folk planlægge dødsruter ud fra min ovenstående tese.

Send indlæg på rundfart:
  • del.icio.us
  • Twitter
  • Netvibes
  • Facebook
  • Google Bookmarks

En kommentar

  1. Skrevet 25. juli 2007 den 22:45 | Permalink

    Super fedt – jeg glæder mig til at se din dødsrute! :)

Skriv en kommentar

Din email vil aldrig blive vist eller sendt videre til andre. Felter der skal udfyldes er markeret med *

*
*