mf2 geotagging mashup

felix schwenzel, , in artikel    

seit einiger zeit geotagge ich einige der fotos die hier auf wirres.net erscheinen. anfangs habe ich die geodaten, also den ort an dem das bild aufgenommen wurde, nur ausgelesen und gespeichert, wenn ich das foto per email veröffentlicht habe („moblog“), seit einiger zeit, wenn ich bilder über instagramm, bzw. ownyourgram veröffentliche, sind sie auch geogetagged. hier die liste von artikeln und bildern mit angehängten ortsdaten. dieser artikel ist auch mit ortsdaten versehen, wobei das natürlich nur so mittel-sinnvoll ist.

ausserdem habe ich, seit ich das indieweb ansatzweise verstanden habe, meine übersichts- und artikelseiten mit microformaten formatiert, dass heisst sie sind maschinenlesbar, bzw. lassen sich mit einem microformat-parser lesen. zum beispiel meine startseite, so sieht sie aus sicht eines mf2-parsers aus.

in den auslesbaren daten stecken (natürlich) auch die geodaten. also hab ich mir gedacht, wenn mein HTML meine API ist (frei nach aaron parecki), kann ich doch auch mal einen mashup machen. also hab ich mir an zwei abenden dieses script programmiert zusammengesucht: mf2-to-gmap.php es hat keine abhängigkeiten, ausser einer javascript-erweiterung für google maps, „Overlapping Marker Spiderfier for Google Maps“ von george mackerron.

das script funktioniert in etwa so:

  • zuerst werden die microformate der zielseite ausgelesen und
  • die relevanten daten in einen array geschrieben,
  • der als json-datei zwischengespeichert wird.
  • die json-daten werden von einem javascript eingelesen und
  • mit der standard-google-maps-API als markierungen auf einer karte dargestellt.

das ist alles sehr unspektakulär und eigentlich die grundübung für die google-maps-API benutzung. allerdings überlagern sich natürlich viele marker. in der übersicht sieht man ein riesiges cluster in berlin, wo ich natürlich die meisten bilder und artikel erstelle, aber auch ein riesiges cluster in schottland, wo wir in diesem sommer eine fotosafari gemacht haben.

übersichtskarte einiger meiner bilder

aber selbst wenn man die karte ganz nah ran zoomt, gibt es orte, an denen besonders viele markierungen liegen, teilweise auf exakt dem gleichen punkt. google bietet für seine maps zwar diverse cluster-funktionen an, aber die räumen das bild lediglich ein bisschen auf und lösen das problem der übereinanderliegenden markierungen nicht. mit dem „Overlapping Marker Spiderfier“ lässt sich das problem aber lösen:

das vorläufige ergebnis sieht so aus: eine karte aller geogetaggten bilder seit ca. 24 monaten oder eine karte aller geogetaggten artikel die auf der startseite gelistet sind.

besonders praktisch ist aber, dass die microformate nicht nur die geo-daten leicht auslesbar machen, sondern auch die inhalte. so kann ich direkt auf der karte auch gleich die bilder, mitsamt den anmerkungen anzeigen:

artikel in der karte anzeigen

natürlich funktioniert das ganze auch bei anderen seiten die ihre daten mit microformaten markieren und auslesbar machen, zum beispiel mit einer karte von aaron pareckis reise-seite.

ausser meiner seite und der von aaron parecki habe ich allerdings keine seite mit eingebetteten mf2 geodaten gefunden. falls es noch andere gibt, über http://wirres.net/widgets/geo/?url=[hier url eingeben] könnte man die daten dann visualisieren.