Pages

Affichage des articles dont le libellé est Folium. Afficher tous les articles
Affichage des articles dont le libellé est Folium. Afficher tous les articles

mercredi 12 mai 2021

Afficher sur une carte des points géographiques issus d'un fichier CSV avec Folium

 Dans cet article : https://sti2d-sin-isn.blogspot.com/2020/02/utilisation-basique-de-folium-sous.html, je présentait Folium, excellent module de Python pour gérer des cartes géographiques et basé sur OpenStreetMap.

Je propose ici une suite. L'insertion de marqueurs à partir d'un fichier CSV.,Ici, on utilisera Pandas, autre excellent module de Python.

Voilà ce que je veux obtenir :


Ces villes n'ont pas élé choisies au hasard, non non, c'est du vécu... différents choix d'universités sur Parcoursup de Mademoiselle ;-)

Pour cet article, j'ai créé "à la main", un mini fichier CSV que voici  (à partir du site : Coordonnées GPS, latitude et longitude (coordonnees-gps.fr )


Au préalable, si vous ne les avez pas encore utilisés, donc pas installés, il faut, via la console, récupérer les deux modules. Sur Thonny, cela se fait dans le "gestionnaire de Plugins" (expliqué dans l'article ci-dessus).

Pour installer en lignes de commandes, c'est simple :

pip install folium

et 

pip install pandas

(copier-coller ces deux lignes (une à la fois, bien sûr))

Le code Python (commenté, je pense que c'est assez clair) :

Il suffit d'exécuter le script pour que le navigateur par défaut s'ouvre en affichant la carte.

Pour récupérer les fichiers sources, c'est ici !



samedi 29 février 2020

Utilisation basique de Folium sous Python

Folium est une librairie (ou module) Python permettant de travailler en cartographie, à partir de OpenStreetMap. On peut ainsi, avec juste quelques lignes de code, afficher dans une page Web une carte avec des options.

Par exemple, ces trois lignes :

Donnent cela :

Vous ne le voyez pas, mais on est centré sur la Tour Eiffel ! Si Si !!!

Détails sur ce script :
  • ligne 1 : On importe le module folium (à condition qu'il soit déjà installé, bien sur, sinon, voir partie correspondante ci-dessous...)
  • ligne 2 : on crée la carte sous une variable en instanciant un objet et en incluant les coordonnées GPS en degrés décimaux
  • ligne 3 : on demande à folium d'enregistrer la carte "sous". Ici, c'est ma clef USB f: et dans le répertoire SNT à la racine. Pour ouvrir la carte, on clique dessus comme un raccourci Web, cela ouvre votre navigateur par défaut.
Note : Si vous utilisez Edupython, folium est déjà intégré.
 Si Folium n'est pas sur le système, voici comment faire avec Thonny (C'est la méthode PIP mais simplifiée dans Thonny)  :

Aller dans "Outils" et "Gérer les plugins" :
Cette fenêtre apparaît : En théorie, folium n'est pas dans la liste à gauche :
Saisir folium puis cliquer sur le bouton :

C'est bien ce que l'on cherche ! On clique sur "Installer" :
Et voilà ! folium est installé, on peut fermer la fenêtre !

 Il est possible de changer le zoom de la carte en ajoutant un argument lors de la création :
L'argument saisi donne un certain zoom, bien sûr, on peut le changer...


Alors, j'avais pas raison ???? C'est bien la Tour Eiffel !

Pour le montrer à la Terre entière, on va ajouter un marqueur. Cela est on ne peut plus facile !

On veut ceci :
 on saisi la ligne 3 entre la 2 et la 4 :
On a bien les mêmes coordonnées mais là, c'est pour le marqueur.
Bien sûr, on peut autant de marqueurs que l'on veut...

On peut aussi ajouter une légende au marqueur :
 Il a juste fallu changer la ligne 3 avec :


Folium permet également de tracer des itinéraires :
 Le script correspondant :


Il est possible également d'automatiser l'ouverture de la carte à l'excution du script en insérant juste deux lignes :

  •  en ligne 2, on importe le module webbrowser qui gère la navigation Web
  •  en ligne 13, on demande au module d'ouvrir le fichier HTML, avec le navigateur par défaut,  correspondant à la carte, c'est tout !
 A vous de jouer !