I Drupal finns två stora moduler för geografiskt innehåll som hängt med i flera år och kommit att bli en standard för att bygga sajter med den här sortens innehåll. Båda skrivna av Brandon Bergren. Den ena är Location, vilken låter dig koppla geografisk information (rättare sagt, en punkt) till en nod, en användare eller något annat innehåll i Drupal. Den andra modulen är Gmap, som ger dig tillgång till Google's kart-API på din sajt. Tillsammans kan de visa ditt innehåll, på kartor.
Allie Micka höll tidigare idag sessionen Drupal as GeoCMS om de två moduler hon utvecklar för att ta Drupal ytterligare ett steg inom detta område - Geo och Geocode.
Den första, Geo, sparar geografisk data knutet till innehåll. Funktionen är lik Location men den stora och mycket viktiga skillnaden ligger i att Location endast kan spara punkter, så som adresser och koordinater. Geo bygger vidare på detta och erbjuder stöd för all möjlig geografisk data (enligt OpenGIS standard Simple Features). Du kan spara hela områden och vägbeskrivningar!
Något jag själv blev förvånad över, som Allie visade, var att denna funktionalitet redan finns i MySQL! Om du kör Drupal med MySQL ligger alltså hela härligheten och väntar på att användas. Det finns så klart också inbyggda funktioner för att göra geografiska beräkningar på datan, vilket ytterligare öppnar upp en värld av möjligheter med skräddarsydda lösningar som är enkla och går snabbt (well, allt är relativt) att implementera. Om du däremot kör PostgreSQL så har du inte samma möjlighet out-of-the-box men den finns tillgänglig och den är dessutom kraftfullare än MySQL's och med ännu bättre funktioner för bland annat beräkning av avstånd mellan punkter, längd på linjer, överlappande områden och annat godis.
Den andra modulen Allie utvecklar, Geocode, kan ses som ett lager för Geo. Den tar geografisk information i alla möjliga format och omvandlar den till det standardiserade format som Geo hanterar. Bilder med adresser i textfält, exif-data från fotografier, filer med GPX och IP-adresser. Du kan använda modulen genom att lägga till den som ett fält och använda andra fält som dess widget. Med andra ord kan den ligga helt transparent och bara suga ut geo-data från dina befintliga nodfält.
Vidare ger Geocode Views-stöd. Jag har, som kanske är bekant, en liten crush på Views. Det blev inte sämre (bättre?) av att se Geocode lägga till en display för att spotta ut geografisk information (en polygon av ett område) i SVG-format och med några enkla knapptryck få en snygg bild av den råa datan. Barnsligt kul! Andra format som den hanterar för Views är SimpleGEO, GeoRSS och KML.
Sammanfattningsvis är detta ett fortsatt hett område där det händer mycket och jag kommer följa det med stort intresse!
(Bild av thejourney1972)
