Ce projet consiste à exploiter un jeu de données représentant les regroupements d'arbres sur le territoire de Rennes. L'objectif est d'appliquer des concepts d'algorithmes, de structures de données et de complexité afin de manipuler, visualiser et analyser ces données.
Données disponibles : Jeu de données
Le projet est divisé en plusieurs étapes :
- Charger et transformer les données en liste de dictionnaires Python.
- Structurer les données en ne gardant que les informations utiles : latitude, longitude, dénomination, date de plantation, genre et ID unique.
- Utiliser Folium pour afficher les arbres sous forme de marqueurs.
- Ajouter des infobulles affichant le genre et la date de plantation des arbres.
- Implémenter la formule de Haversine pour mesurer la distance entre deux arbres.
- Identifier les paires d'arbres les plus proches et les plus éloignés.
- Construire un graphe complet où chaque arbre est un nœud et chaque arête est une distance entre arbres.
- Extraire un sous-graphe où les arbres distants de moins de 200m sont connectés.
- Identifier les arbres avec le plus grand nombre de voisins.
- Implémenter des algorithmes de recherche de plus court chemin pour optimiser le parcours des abeilles.
- Comparer Dijkstra, A, Bellman-Ford, et Floyd-Warshall*.
- Identifier les arbres favorables aux abeilles et simuler un scénario de collecte de pollen.
- Déterminer la meilleure répartition des ruches pour maximiser la collecte de pollen et couvrir les arbres mellifères.
- Python 3.x (installation recommandée via un environnement virtuel)
- Bibliothèques Python:
pip install -r requirements.txt
folium
matplotlib
networkx
numpy
geopy
Chaque groupe doit fournir :
- Un notebook Python avec le code et les analyses.
- Un fichier requirements.txt listant les bibliothèques nécessaires.
- Les cartes générées sous forme de fichiers HTML.
- Une archive ZIP contenant tous les fichiers (hors environnement virtuel).