Welches Python-Web-Mapping-Framework soll verwendet werden? [geschlossen]

19

Ich interessiere mich für die Entwicklung einer Web-Mapping-Anwendung. Ich bin relativ vertraut mit Python und suche daher ein Python-Framework. Welche Möglichkeiten habe ich? Was sind die Vor- und Nachteile jeder Option?

Ich suche nach einer einfachen Option, bei der die geografischen Informationen auf der Karte angezeigt werden und der Benutzer mithilfe von "info" weitere Details abrufen kann. An dieser Stelle benötige ich keine Abfragen oder dynamische Funktionen. Ich würde eine gut dokumentierte Option bevorzugen.

vagvaf
quelle
4
Sie müssen weitere Informationen bereitstellen. Welche Funktionen sehen Sie? Welche Art von Web-Mapping möchten Sie durchführen?
Devdatta Tengshe

Antworten:

15

Probieren Sie Folium aus , es ist ganz einfach: Sie erstellen Ihr Projekt mit Python und öffnen einfach die resultierende Map.

Wenn Sie tiefer gehen möchten, können Sie nach absteigender Einfachheit sortieren:

  • GeoDjango mit Ergänzungen wie Django-Leaflet . Wirklich bester Doc hier
  • FeatureServer Serverorientierter, aber eine OpenLayers-Demo ( letzte Aktualisierung 2015 )
  • MapFish allein. Basierend auf jetzt veralteten Pylonen ( letzte Aktualisierung 2011 )
  • Papyrus , die Mapfish-Integration in Pyramid, ein bekanntes Python-Framework ( letzte Aktualisierung 2017 )
ThomasG77
quelle
Wie ist der Vergleich zwischen Folium und GeoDjango hinsichtlich der verfügbaren Funktionen?
Multigoodverse
2
Folium = hauptsächlich zur Vorschau von Daten in einer Webkarte und zum Generieren einer statischen Webkarte. Keine Bearbeitungsmöglichkeiten hier. Auf der anderen Seite GeoDjango = zum Verwalten von Daten auf einer dynamischen Website. Sie müssen mehr Code schreiben, können aber eine vollständige Website erstellen, da GeoDjango nur eine Erweiterung des Django-Webframeworks ist (um eine vollständige Website zu erstellen). Bearbeitungsmöglichkeiten zur Verfügung, Verwalten von Benutzern und Gruppen ist ebenfalls möglich.
ThomasG77
8

Sie könnten GeoDjango versuchen .

Es könnte übertrieben sein für das, was Sie tun möchten, aber es scheint die Kriterien zu erfüllen, die Sie suchen. Es ist ein Python-basiertes Webframework, das viele großartige GIS-Projekte wie gdal / ogr und OpenLayers enthält und die Verwendung von Geodatabases einschließlich postgis / postgres unterstützt.

Ich habe ein paar Monate lang immer wieder damit experimentiert und mag es bis jetzt. Es gibt definitiv eine Lernkurve, aber die Dokumentation ist ziemlich gut und es gibt eine starke Benutzergemeinschaft.

Ich finde, dass es eine sehr flexible und ausgereifte Plattform ist, als ich es erwartet hatte. Schauen Sie doch mal vorbei.

akthor
quelle
8

Wenn Sie einen grundlegenden Webservice in Python wünschen, gibt es zwei Möglichkeiten:

  • geodjango, dies ist eine in django integrierte offizielle erweiterung. Es funktioniert großartig, ist aber djangozentrisch. Wenn Sie Django mögen, ist es perfekt
  • flask (oder ein anderes webframework) + geoalchemy2 (erweiterung von sqlalchemy) + wohlgeformt (lirairy zum manipulieren von geo-objekten), vielleicht ist es schwieriger als geodjango, aber es ist meine lieblingslösung. Ich bevorzuge jinja2 und sqlalchemy gegenüber djangos template und orm.

Stecken Sie es dann in offene Schichten oder in die Packungsbeilage.

Aber bei Standardlösungen WMS oder WFS Server kann es hilfreich sein.

black_rez
quelle
0

Wie geht es über MapFish, die nach sich selbst ist

ein flexibles und vollständiges Framework zum Erstellen umfangreicher Web-Mapping-Anwendungen ... basierend auf dem Pylons Python-Web-Framework.

Ich kann nicht behaupten, dass ich es verwendet habe, aber es ist auf meinem OSGeo Live- Computer vorinstalliert. OpenLayers und TileMill waren meine bevorzugten Web-Mapping-Frameworks (was auch immer das bedeutet), verwenden aber nicht viel Python. Aufgrund ihrer Website und ihrer Zugehörigkeit zu OSGeo würde ich ohne zu zögern empfehlen, ihre Technologie zu testen, obwohl, wie der obige Kommentar besagt, Ihre Wahl von der Anwendung abhängen sollte, nicht nur von der Sprache, in der sie geschrieben ist.

Ihre Online- Demo scheint effizient zu funktionieren und es scheint ein Projekt mit Schwung zu sein: Probieren Sie das 'Schnellstart'-Tutorial aus und sehen Sie, wie gut es Ihren Anforderungen entspricht.

RobinLovelace
quelle
2
Mapfish ist nicht mehr aktiv.
Raffael