Geodjango : le module du framework Django de python dédié aux applications géographiques web.


Avant Geodjango fut Django

Django est framework gratuit et open source de python. Il s’agit d’un ensemble de modules (composants) qui facilite le développement de sites web plus rapidement. Aujourd’hui Django est un des avantages principaux liés à l’apprentissage de python. L’idée originelle était de permettre le développement de sites web complets, interfacés avec une base de données, dans un laps de temps très court. Disposant d’une documentation très fournie et basée sur une communauté très active, Django est selon ses concepteurs :  » le framework web pour les perfectionnistes sous pression « .

 

Place à Geodjango

Geodjango est la version géographique du framework Django qui le transforme en  un système géographique Web complet. Il vise à faciliter au maximum la création d’application Web GIS et l’exploitation du potentiel de données géolocalisées.

Puisque Geodjango tire ses racines de django, il est basé sur son ORM. On entend par ORM (Object Relational Mapping), « un objet cartographique relationnel type de programme informatique qui se place en interface entre un programme applicatif et une base de données relationnelle pour simuler une base de données orientée objet » (source : Wikipédia).

Ainsi, Geodjango permet de manipuler des données spatiales (vectorielles, matricielles, attributaires) dans des bases de données géospatiales telles que PostGIS, Postgresql ou MySQL, effectuer des requêtes spatiales et manipuler les informations contenues dans celles-ci.

 

L’accès à ces fonctionnalités reste conditionné par l’installation préalable de certaines bibliothèques et librairies comme :

  • GEOS : Geometry Engine Open Source qui implémente la spécification OCG Simple Feature for SQL.
  • GDAL : Geospatial Data Abstraction Library. Il s’agit d’une bibliothèque à code source ouvert qui utilise des formats de données SIG.
  • PROJ.4, qui correspond à la bibliothèque de projections cartographiques et implémente les API requises pour travailler avec des systèmes de référence spatiale et des projections.

L’une des principales forces de Geodjango réside dans la pluralité des interfaces de programmation d’applications (API). On peut  en citer : API modèle, API base de données, API formulaire, API QuerySet GIS, API GEOS, API GDAL, etc.

Quelques sites utilisant Geodjango

596acres

596acres crée des outils pour aider les voisins à voir les terrains vacants comme des opportunités et à créer les espaces verts nécessaires, qui deviennent des points focaux pour l’organisation communautaire et l’engagement civique. Il se base sur une plateforme cartographique très interactive et robuste reposant sur Geodjango.  http://596acres.org/

Mammoth Lakes Trail System 

Le réseau de sentiers Mammoth Lakes offre des possibilités de loisirs illimitées sur plus de 300 milles de sentiers. Des plateaux granitiques aux lacs troutés en passant par les forêts de pins et les prairies alpines, il y en a pour tous les goûts, pour toutes les saisons, tous les goûts et tous les goûts, qu’ils soient motorisés ou non.

 

Sources :

https://python.doctor/page-django-introduction-python

https://www.pythonforbeginners.com/learn-python/what-is-django/

https://medium.com/swlh/what-is-django-and-why-is-it-so-popular-2b225620cca0

https://www.djangoproject.com/

https://tutorial.djangogirls.org/en/django/

https://docs.djangoproject.com/fr/2.2/intro/overview/

https://docs.djangoproject.com/fr/2.1/ref/contrib/gis/

https://groups.google.com/forum/#!topic/geodjango/J6invftKRu0

https://matthewdaly.co.uk/blog/2016/03/26/building-a-location-aware-web-app-with-geodjango/

https://fr.wikipedia.org/wiki/Mapping_objet-relationnel

https://www.techiediaries.com/django-gis-geodjango/

https://realpython.com/location-based-app-with-geodjango-tutorial/

https://django.readthedocs.io/en/2.2.x/ref/contrib/gis/db-api.html

http://596acres.org/mission-and-story/

https://www.mammothtrails.org/

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *