mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-10-09 17:02:46 +02:00
up
This commit is contained in:
parent
66bbce5e85
commit
a695a8ef03
9 changed files with 353 additions and 12 deletions
|
@ -13,6 +13,31 @@ import matplotlib.pyplot as plt
|
|||
import matplotlib.dates as mdates
|
||||
from datetime import datetime
|
||||
import argparse
|
||||
import csv
|
||||
|
||||
|
||||
def get_city_name(insee_code):
|
||||
"""
|
||||
Récupère le nom de la ville à partir du code INSEE.
|
||||
|
||||
Args:
|
||||
insee_code: Code INSEE de la commune
|
||||
|
||||
Returns:
|
||||
Nom de la ville ou None si non trouvé
|
||||
"""
|
||||
try:
|
||||
csv_path = os.path.join(os.path.dirname(__file__), "osm-commerces-villes-export.csv")
|
||||
if os.path.exists(csv_path):
|
||||
with open(csv_path, 'r') as f:
|
||||
reader = csv.DictReader(f)
|
||||
for row in reader:
|
||||
if row.get('zone') == insee_code:
|
||||
return row.get('name')
|
||||
return None
|
||||
except Exception as e:
|
||||
print(f"Erreur lors de la récupération du nom de la ville: {e}")
|
||||
return None
|
||||
|
||||
|
||||
def parse_args():
|
||||
|
@ -217,15 +242,26 @@ def generate_graph(df, output_path=None):
|
|||
plt.legend()
|
||||
|
||||
zone_label = ""
|
||||
city_name = None
|
||||
# Ajouter des informations sur la commune
|
||||
if "code_insee" in df.columns and len(df["code_insee"].unique()) == 1:
|
||||
insee_code = df["code_insee"].iloc[0]
|
||||
plt.figtext(0.02, 0.02, f"Commune: {insee_code}", fontsize=10)
|
||||
zone_label = insee_code
|
||||
city_name = get_city_name(insee_code)
|
||||
if city_name:
|
||||
plt.figtext(0.02, 0.02, f"Commune: {insee_code} - {city_name}", fontsize=10)
|
||||
zone_label = f"{insee_code} - {city_name}"
|
||||
else:
|
||||
plt.figtext(0.02, 0.02, f"Commune: {insee_code}", fontsize=10)
|
||||
zone_label = insee_code
|
||||
elif "zone" in df.columns and len(df["zone"].unique()) == 1:
|
||||
zone = df["zone"].iloc[0]
|
||||
plt.figtext(0.02, 0.02, f"Zone: {zone}", fontsize=10)
|
||||
zone_label = zone
|
||||
city_name = get_city_name(zone)
|
||||
if city_name:
|
||||
plt.figtext(0.02, 0.02, f"Zone: {zone} - {city_name}", fontsize=10)
|
||||
zone_label = f"{zone} - {city_name}"
|
||||
else:
|
||||
plt.figtext(0.02, 0.02, f"Zone: {zone}", fontsize=10)
|
||||
zone_label = zone
|
||||
|
||||
plt.title(f"{zone_label} : {label_objet} dans le temps")
|
||||
|
||||
|
@ -333,12 +369,29 @@ def generate_completion_graph(df, output_path=None):
|
|||
plt.legend()
|
||||
|
||||
# Ajouter des informations sur la commune
|
||||
zone_label = ""
|
||||
if "code_insee" in df.columns and len(df["code_insee"].unique()) == 1:
|
||||
insee_code = df["code_insee"].iloc[0]
|
||||
plt.figtext(0.02, 0.02, f"Commune: {insee_code}", fontsize=10)
|
||||
city_name = get_city_name(insee_code)
|
||||
if city_name:
|
||||
plt.figtext(0.02, 0.02, f"Commune: {insee_code} - {city_name}", fontsize=10)
|
||||
zone_label = f"{insee_code} - {city_name}"
|
||||
else:
|
||||
plt.figtext(0.02, 0.02, f"Commune: {insee_code}", fontsize=10)
|
||||
zone_label = insee_code
|
||||
elif "zone" in df.columns and len(df["zone"].unique()) == 1:
|
||||
zone = df["zone"].iloc[0]
|
||||
plt.figtext(0.02, 0.02, f"Zone: {zone}", fontsize=10)
|
||||
city_name = get_city_name(zone)
|
||||
if city_name:
|
||||
plt.figtext(0.02, 0.02, f"Zone: {zone} - {city_name}", fontsize=10)
|
||||
zone_label = f"{zone} - {city_name}"
|
||||
else:
|
||||
plt.figtext(0.02, 0.02, f"Zone: {zone}", fontsize=10)
|
||||
zone_label = zone
|
||||
|
||||
# Mettre à jour le titre avec le nom de la zone
|
||||
if zone_label:
|
||||
plt.title(f"{zone_label} : Évolution du taux de complétion dans le temps")
|
||||
|
||||
# Ajouter la date de génération
|
||||
now = datetime.now().strftime("%Y-%m-%d %H:%M")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue