Quel cadre de cartographie Web python utiliser? [fermé]


19

Je souhaite développer une application de cartographie Web. Je suis relativement familier avec Python et je recherche donc un framework python. Quelles sont mes options? quels sont les avantages et les inconvénients de chaque option?

Je recherche une option simple, qui affiche les informations géographiques sur la carte et permet à l'utilisateur d'utiliser "info" pour obtenir plus de détails. À ce stade, je n'ai pas besoin de requêtes ou de fonctionnalités dynamiques. Je préférerais une option bien documentée.


4
Vous devez fournir plus d'informations. Quelles fonctionnalités regardez-vous? Quel type de cartographie Web voulez-vous faire?
Devdatta Tengshe

Réponses:


15

Essayez Folium , c'est très simple pour commencer: vous créez votre projet en utilisant Python et vous ouvrez simplement la carte résultante.

Si vous voulez aller plus loin, vous pouvez trier par niveau décroissant de simplicité:

  • GeoDjango avec des ajouts comme Django-Leaflet . Vraiment le meilleur doc ici
  • FeatureServer Plus orienté côté serveur mais une démo OpenLayers ( dernière mise à jour 2015 )
  • MapFish seul. Basé sur des pylônes désormais obsolètes ( dernière mise à jour 2011 )
  • Papyrus , l'intégration de Mapfish dans Pyramid, un framework Python bien connu ( dernière mise à jour 2017 )

Comment Folium se compare-t-il à GeoDjango en termes de capacités dont ils disposent?
multigoodverse

2
Folium = principalement pour prévisualiser les données dans une carte Web et générer une carte Web statique. Aucune capacité d'édition ici. De l'autre côté, GeoDjango = pour gérer les données dans un site Web dynamique. Vous aurez besoin de coder plus mais vous pouvez faire un site web complet comme GeoDjango est seulement et une extension au framework web Django (pour créer un site web complet). Les capacités d'édition disponibles, la gestion des utilisateurs et des groupes sont également possibles.
ThomasG77

8

Vous pouvez essayer GeoDjango .

Cela peut être exagéré pour ce que vous voulez faire, mais il semble répondre aux critères que vous recherchez. C'est un framework web piloté par python qui incorpore beaucoup de grands projets SIG comme, gdal / ogr, OpenLayers, et prend en charge l'utilisation de géodatabases, y compris postgis / postgres.

Je l'expérimente de temps en temps depuis quelques mois et j'aime ça jusqu'à présent. Il y a certainement une courbe d'apprentissage, mais la documentation est assez bonne et il existe une forte communauté d'utilisateurs.

Je trouve que c'est une plateforme vraiment flexible et plus mature que ce à quoi je m'attendais. Jetez un oeil si vous ne l'avez pas déjà fait.


8

Si vous voulez un service Web de base en python, il y a deux façons:

  • geodjango, il s'agit d'une extension officielle intégrée à django. Cela fonctionne très bien mais c'est centré sur Django. Si vous aimez Django c'est parfait
  • flask (ou un autre webframework) + geoalchemy2 (extension de sqlalchemy) + shapely (lirairy pour manipuler Geo-object), c'est peut-être plus difficile que geodjango mais c'est ma solution préférée. Je préfère jinja2 et sqlalchemy que le template et orm de django.

Ensuite, branchez-le sur des couches ouvertes ou une brochure.

Mais regardez les solutions standard du serveur WMS ou WFS, cela peut être utile.


0

Qu'en est-il de MapFish, qui selon lui est

un cadre flexible et complet pour la création d'applications de cartographie Web riches ... basé sur le cadre Web Pylons Python.

Je ne peux pas prétendre l'avoir utilisé mais il est pré-installé sur ma machine OSGeo Live - OpenLayers et TileMill ont été mes `` frameworks '' de cartographie Web (quoi que cela signifie) de choix, mais aucun n'utilise beaucoup Python. Sur la base de leur site Web et de leur affiliation avec OSGeo, je n'hésiterais pas à recommander de tester leur technologie bien que, comme le dit le commentaire ci-dessus, votre choix devrait dépendre de l'application, pas seulement de la langue dans laquelle il est écrit.

Leur démo en ligne semble fonctionner efficacement et cela ressemble à un projet dynamique: pourquoi ne pas essayer leur tutoriel de «démarrage rapide» et voir dans quelle mesure il correspond à vos besoins?


2
Mapfish n'est plus actif.
raphael
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.