Vorheriger Artikel Nächster Artikel

Kartograph: aus Geodaten individuelle Karten generieren

Karten-Darstellungen innerhalb einer Website, sei es der Anfahrtsweg zur Kneipe oder die Route im Reise-Blog, werden meist mit oder OpenStreetMap umgesetzt. Das Einbinden ist einfach, die Optik aber immer die Gleiche. Die Standard-Darstellung, die Mercator-Projektion, stellt die runde Erde auf einer flachen Ebene dar. Gregor Aisch möchte mit seinem Kartograph dem Betrachterauge Abwechslung bieten.

Kartograph: aus Geodaten individuelle Karten generieren
Eine Italienkarte erzeugt mit KARTOGRAPH
Eine Italienkarte erzeugt mit KARTOGRAPH

Basierend auf den beiden JavaScript-Frameworks jQuery und Raphaël werden SVG-Files (vektorbasierende Grafiken) eingelesen und gerendert. Die SVGs kann man sich dabei entweder aus einem großen Vorlagen-Archiv holen oder auch mit einem Map-Generator erzeugen. Im Visual Editor kann man aus 27 verschiedenen Projektions-Arten wählen und sich so seine Karte nach Belieben erzeugen lassen. Andere Projektionsarten (Übersicht bei Wikimedia) sind etwa die Mollweide-Projektion (zeigt die Erdoberfläche als Ellipse) oder die Robinson-Projektion (wirkt natürlicher, weil sie nur an den Polen leichte Winkelverzerrungen hat). Aus den SVG-Daten wird dann mit Hilfe eines Python-Skripts die SVG-Map erzeugt, die man zum Einbinden in die eigene Website, neben der Bibliothek „kartograph.js“ benötigt. Stylen kann man die Ebenen im eigenen CSS.

Mit dem Karthograph kann man außerdem Daten visualisieren. Dabei werden durch Einfärbung einzelner Bereiche, durch ein Punktemuster oder anhand von Balken zum Beispiel Einwohnerzahlen oder die Kriminalitätsdichte dargestellt. Auch Animationen können damit erzeugt werden, etwa ein sich bewegendes Schiff.

Noch befindet sich der Kartograph in der Entwicklung, deshalb können bisher nur ESRI-Daten (ein Format speziell für Geodaten) eingelesen werden, der Umfang wird aber laut Gregor Aisch noch erweitert. Auf GitHub ist das Projekt zum genaueren Betrachten hinterlegt. Auch wie die Skript-Datei arbeitet ist dokumentiert.

NEU: Lass dir diesen Artikel vorlesen
Ein Service von t3n, in Kooperation mit Narando.
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
5 Antworten
  1. von !i! am 15.05.2012 (23:16 Uhr)

    So ganz finde ich den Ansatz von kartograph nicht gelungen, da das Rendering/Streaming von Vektordaten heutzutage noch ziemlich experimentell ist. Es gibt da leider noch keinen Standart, der Geschwindigkeit aber auch Wartbarkeit und Design gut unter einen Hut bringt.
    Dem gegenüber haben doch klassische Rasterkarten sich etabliert. Sie werden auf den Kartenservern gerendert, was dank OpenStreetMap Daten auch sehr günstig erfolgen kann. Stylesprachen gibt es einen ganzen Zoo, genauso wie Renderer und WMS/TMS Server. Auf den Client kommt es dann mit einer von einem Dutzend Webmap Libs und fertig. (siehe http://www.switch2osm.org)

    Klar wäre Vektorstreaming und custom Design/Layout eine prima Sache, in der Praxis ist es aber meiner Meinung nach, für den großflächigen Einsatz bei Highperformance Portalen noch nicht angekommen.

    Antworten Teilen
  2. von acsr am 20.05.2012 (18:33 Uhr)

    Das Rendering / Streaming von Vektordaten ist – glaube ich – wenig experimentell. Noch nie was von Flash gehört?

    Das Nachladen von Vektordaten und die Verarbeitung im Browser ist hochgradig effektiv, insbesondere wenn die Auflösung steigt. Die unselige Pixel-Kachel-Lieferung ist ja grade der Grund für die lausige Qualität im Interface.

    Man muss hier klar unterscheiden:

    Sobald die initiale Informationsdichte über ein bestimmtes Maß steigt, hat zunächst vielleicht das Pixelmaterial die Nase vorn. Mit steigender Ladezeit dreht sich der Spieß aber schnell um. Sobald man individuell rendert ebenfalls. Unbrauchbare Pixel zu cachen macht keinen Sinn.

    Der Ansatz von Kartograph zielt nicht auf Performanz. Allerdings kann Kartograph all jene Anwendungsfälle abdecken, die die bestehenden Techniken nicht abdecken und auch nicht abdecken wollen. Insbesondere sind mit offenen Frameworks jene Probleme lösbar, an die bisher niemand gedacht hat. z.B. ästhetische! OpenStreetMap Daten und ästhetische Qualität sind zweierlei. Fast alle Karten im Web sehen im Vergleich mit gedruckten oder klassisch gezeichneten Karten lausig aus. Darunter leidet auch die Informationsqualität.

    Ich beschäftige mich seit 2000 mit alternativen Karten Projektionen und der Visualisierung geografischer Daten für Print und Applikationen (nicht primär Web). Kartograph ist definitiv ein großer Wurf für einen einzelnen Entwickler. Da sieht man mal wieder wieviel effektiver die Entwicklung mit Python sein kann. Mal sehen wie sich das "entwickelt".

    Um für einzelne Portale individuelle Karten zu generieren reicht es allemale. Wie diese dann ausgeliefert werden ist Optimierung für die jeweilige Applikation. Man muss die Karten erstmal haben! Kacheln macht für die hier angebotenen Projektionen in der Regel gar keinen Sinn!

    Antworten Teilen
  3. von !i! am 24.05.2012 (14:31 Uhr)

    Nun vielleicht habe ich mich noch nciht präzise genug ausgedrückt. Was mir im Hinterkopf schwebte, sind grosse Portale wie GC.com oder Foursquare. Da gibt es noch keine Technologie, wie geographische Daten effektiv an dutzende User gestreamt werden kann.

    Mit dem Styling von OSM Karten hast du sicherlich recht. Es gibt aber mit Stemen Design schon sehrschöne Beispiele, die zeigen, dass die jetzigen Werkzeuge noch nicht ausgereizt sind.

    Antworten Teilen
  4. von acsr am 24.05.2012 (15:30 Uhr)

    Große Portale die geografische Daten streamen wollen, sollten den Use Case analysieren, wenn sie Performanz Probleme haben. Es ist heute insbesondere für Mobile Devices wesentlich effektiver kompakte Nettodaten zu übertragen und erst auf dem Device zu rendern. Dazu helfen Mediaqueries ggf. Devices zu identifizieren die mit fertig gerenderten Daten beliefert müssen. Giesskannenprinzip hilft nicht.

    Apple macht seit Jahren vor, wie sowas läuft. Man kann einen geblurrten Pausenclown liefern und bevor der User wach ist das Ergebnis einfaden. Kommt demnächst WAP für Armbanduhren geht der ganze Schweinezyklus, den ich seit C64 und Amiga kenne, sowieso wieder von vorne los.

    Medienunabhängige Datenhaltung und Auslieferung ist ein nicht triviales System! Es gibt nicht die EINE lösung. Ich würde diese Aufgaben immer auf verschiedene Module auslagern die als Komponenten austauschbar sind. NGINX und Varnish statt Apache und Squid im Frontend sind schon sehr nett. Alles Wege um jeden Part nach vorne zu bringen. Wenn man die Datenlayer mit sinnvollen Z-Koordinaten versieht, statt Kategorien zu vergeben, kann das ebenfalls zu effektiver Nutzung von OpenGL 3D führen etc. . Alles eine Frage der pfiffigen Konzeption.

    Antworten Teilen
  5. von acsr am 24.05.2012 (15:44 Uhr)

    Sorry, NGINX und Varnish sind natürlich nur Frontend der Server-Dienst Kaskade die die auszuliefernden daten zusammenbaut. Einfach mal die WSGI Pipelines im Python Umfeld anschauen. Die Großen wie Youtube, Google etc. nutzen das ja nicht aus Freude am Spielen.

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema Google Maps
Umfassendes Update: Google Maps lässt jetzt auch einen Tisch reservieren
Umfassendes Update: Google Maps lässt jetzt auch einen Tisch reservieren

Google verpasst seinem Kartendienst das Material Design. In der neuesten Version integriert Maps außerdem Uber noch stärker und baut OpenTable ein. » weiterlesen

Kaltstart im Tech-Paradies: 10 Apps, um in San Francisco Fuß zu fassen
Kaltstart im Tech-Paradies: 10 Apps, um in San Francisco Fuß zu fassen

Neu in San Francisco? Wer als Gründer, Webworker oder Journalist zum ersten Mal ins Epizentrum der Tech-Szene kommt, sollte sich vorab mit einigen nützlichen Apps auf dem Smartphone eindecken. » weiterlesen

Apple startet „Maps Connect“ – Die Cupertino-Alternative zu Googles „My Business“
Apple startet „Maps Connect“ – Die Cupertino-Alternative zu Googles „My Business“

Apple liefert mit „Maps Connect“ die hauseigene Alternative zu Googles „My Business“. Erstmals können Nutzer die Standorte von Unternehmen auf Apples Karten hinterlegen. » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n 38 jetzt kostenfrei probelesen! Alle Inhalte des t3n Magazins Diesen Hinweis verbergen