DataViz

Bases croisées : le dictionnaire des données de l'onglet DataViz

En bref

  • Pour qui : les data scientists et développeurs qui veulent réutiliser les données des cartes et graphiques DataViz, et toute personne qui veut savoir d'où vient un chiffre.
  • Ce que vous trouverez : la liste des fichiers communs, le sens de chaque champ (définition, source, unité), les totaux de contrôle et la commande pour tout recalculer.
  • Données utilisées : BD TOPO (communes), hébergements Insee, catalogue des 2 872 sites, écocompteurs, GTFS Loopi, Apidae, commerces, emploi URSSAF, covoiturage et recharge.
  • Mise à jour : 9 novembre 2026, à chaque lancement du script scripts/dataviz/build_base.py.

Toutes les pages de l'onglet DataViz partent des mêmes fichiers : un fond de carte des communes et une table d'indicateurs par commune. On rapproche les sources une seule fois, au même endroit. Ainsi, un chiffre affiché sur deux pages différentes est toujours le même.

Communes
512
toute l'Isère, BD TOPO 2026
Champs par commune
40
dont 5 indicateurs déduits
Sites projetés
2 872
dont 2 667 en Isère
Compteurs projetés
420
dont 258 avec un total 2025

Comment les fichiers sont fabriqués

Diagramme

Comment lire : chaque source, à gauche, est lue par un seul script. Le script rattache chaque ligne à une commune, puis écrit les fichiers de droite. Les pages DataViz lisent seulement ces fichiers, jamais les données brutes.

Les fichiers

Tous les fichiers sont servis par le portail sous /dataviz/base/. On peut les ouvrir dans le navigateur ou les télécharger.

FichierContenuTaille
communes.jsonFond de carte : contour SVG de chaque commune et du département547 Ko
communes-indicateurs.json40 indicateurs pour chacune des 512 communes543 Ko
communes-indicateurs.csvLa même table à plat, pour un tableur (séparateur point-virgule)85 Ko
epci-indicateurs.jsonLes indicateurs additionnés par intercommunalité (18 EPCI)13 Ko
sites.jsonLes 2 872 sites du catalogue, placés sur le fond de carte592 Ko
compteurs.jsonLes 420 compteurs de passage, placés sur le fond de carte, avec leur total 2025151 Ko
meta.jsonDate de calcul, sources, totaux de contrôle3 Ko

Comment lire : un fichier par usage. Pour une carte, il faut communes.json plus un fichier de valeurs. Pour un tableau ou un graphique, communes-indicateurs.json suffit.

Les indicateurs, commune par commune

Le tableau reprend les principaux indicateurs. Cliquez sur un en-tête pour trier ; filtrez par intercommunalité.

Chargement du tableau…

Comment lire : une ligne par commune. Le tri par défaut place en tête les communes qui ont le plus de lits touristiques. « Lits pour 100 hab. » est un calcul (déduit) : plus il est élevé, plus la commune dépend du tourisme.

Dictionnaire des données

communes.json : le fond de carte

Un objet unique. Les coordonnées sont déjà converties dans le repère du dessin : aucune projection n'est à faire côté navigateur.

ChampDéfinitionSourceUnité
viewBoxCadre du dessin SVG, "0 0 1000 1015"calculpixels SVG
width, heightLargeur (1000) et hauteur (1015) du dessincalculpixels SVG
projectionParamètres pour passer du Lambert-93 au dessin (voir plus bas)calcul—
outlineContour du département (chemin SVG)BD TOPO, union des communeschemin SVG
simplification_mTolérance de simplification des contourscalculmètres
features[].inseeCode Insee de la commune (5 caractères)BD TOPO, couche communetexte
features[].nomNom officielBD TOPOtexte
features[].dContour de la commune (attribut d d'un path SVG)BD TOPO, simplifiéechemin SVG
features[].cx, cyPoint d'étiquette, toujours à l'intérieur de la communecalcul (pôle d'inaccessibilité)pixels SVG
features[].populationPopulation municipaleBD TOPO (recensement Insee)habitants
features[].surface_km2Surface, calculée sur le contour completBD TOPOkm²
features[].epci, epci_sirenIntercommunalité de rattachement et son numéro SIRENBD TOPO, couche epcitexte

Comment lire : pour dessiner la carte, on trace un path par élément de features, puis outline par-dessus. Les communes voisines partagent exactement la même frontière, sans trou ni chevauchement.

communes-indicateurs.json : les indicateurs croisés

Un objet dont chaque clé est un code Insee. Les communes sans donnée valent 0 (et non « absent »).

ChampDéfinitionSource (dossier du bucket)Unité
nom, population, surface_km2, epci, epci_sirenComme dans communes.jsonBD TOPO—
densite_hab_km2Population divisée par la surface (déduit)calculhab./km²
litsLits touristiques marchands : hôtels, campings et autres hébergements collectifsHébergements/Hébergements par commune.xlsx (Insee, 1er janvier 2026)lits
lits_hotels, lits_campings, lits_autres_collectifsDétail de lits par type (autres collectifs : résidences de tourisme, villages vacances, auberges de jeunesse)idemlits
etablissements, etablissements_hotels, etablissements_campings, etablissements_autres_collectifsNombre d'hébergements, au total et par typeidemétablissements
lits_pour_100_habLits pour 100 habitants, appelé aussi taux de fonction touristique (déduit)calcullits / 100 hab.
sitesSites touristiques du catalogue situés dans la communedocs/public/tables/sites-isere.jsonsites
sites_par_categorieDétail de sites par catégorie : Loisirs et baignade, Nature et paysages, Neige, Patrimoine et culture, Sports de natureidemsites
sites_surfrequentesSites de la liste « sur-fréquentés » d'Isère AttractivitéSites et équipements/Sites sur-fréquentés.xlsx, via le cataloguesites
sites_conseillesLieux conseillés en report par Isère Attractivitéidemsites
score_moyen_sitesMoyenne du score de données exploitables des sites de la commune (déduit)cataloguenote sur 10
compteursCompteurs de passage situés dans la communeFréquentation/eco-compteur-Isère/sites/sites_isere.csv et archives Fréquentation/DONNEES brutes ecocompteurs ENS/compteurs
compteurs_actifs_2025Parmi eux, ceux qui ont au moins un jour de mesure en 2025comptages journaliers 2025 et mesures ENS 2025compteurs
arrets_tcArrêts de transport en commun distincts (même nom à 10 m près = un seul arrêt)Transports/Données transports Loopi~/data/gtfs/*.zip, fichiers stops.txtarrêts
arrets_tc_pour_1000_habArrêts pour 1 000 habitants (déduit)calcularrêts / 1 000 hab.
garesGares de voyageurs (intérêt national, régional ou local)Transports/Equipements gares, taxis et aéroport par commune.xlsx (BPE Insee)gares
parkingsParkings recensés par l'IGNBD TOPO, couche equipement_de_transportparkings
aires_covoiturage, places_covoiturageAires de covoiturage et leurs placesTransports/Mobilités alternatives (covoiturage, bornes élecrtiques.).xlsx, feuille « Covoiturage » (BNLC)aires, places
stations_recharge, points_rechargeStations de recharge électrique et points de chargeidem, feuille « recharges électriques »stations, points
evenementsFiches de fêtes et manifestations, rattachées par la commune de leur adresseActivités/Fêtes et manifestations.xlsx (Apidae)fiches
restaurantsRestaurants et restauration rapideCommerces/Commerces par commune.xlsx, feuille « Commerces par commune 4 »établissements
restaurants_pour_1000_habRestaurants pour 1 000 habitants (déduit)calculrestaurants / 1 000 hab.
commercesGrandes surfaces, commerces alimentaires de proximité et commerces de biens courants (hors restaurants)idemétablissements
grandes_surfaces, commerces_alimentaires, commerces_courantsDétail de commercesidemétablissements
emplois_tourismeSalariés des activités du tourisme en 2025 (codes APE 55, 56, 79, 77.21, 91.02 à 91.04, 93.2)Emploi/emplois en Isère par commune.xlsx (URSSAF)salariés
emplois_tourisme_detailDétail : hebergement (55), restauration (56), agences_voyage (79), loisirs (77.21, 91.02 à 91.04, 93.2)idemsalariés
etablissements_employeurs_tourismeÉtablissements employeurs de ces mêmes activités en 2025idemétablissements

Comment lire : un champ est une colonne de la table, une commune est une ligne. Les champs marqués « (déduit) » sont des rapports calculés à partir des autres : ils ne viennent d'aucun fichier source.

epci-indicateurs.json : les intercommunalités

Un objet dont chaque clé est le numéro SIREN de l'intercommunalité. Il contient nom, communes (nombre de communes membres) et la somme des indicateurs de comptage des communes : population, surface_km2, lits et son détail, sites, sites_par_categorie, sites_surfrequentes, sites_conseilles, compteurs, compteurs_actifs_2025, arrets_tc, gares, parkings, aires_covoiturage, places_covoiturage, stations_recharge, points_recharge, evenements, restaurants, commerces, emplois_tourisme, etablissements_employeurs_tourisme. Les rapports lits_pour_100_hab et densite_hab_km2 sont recalculés à l'échelle de l'intercommunalité (déduit).

sites.json : les sites placés sur la carte

Une liste d'objets, un par site, dans le même ordre que le tableau de tous les sites.

ChampDéfinitionSourceUnité
idRang du site dans tables/sites-isere.jsoncatalogueentier
x, yPosition dans le repère du fond de cartecalcul depuis la latitude et la longitudepixels SVG
nom, categorie, type, commune, inseeIdentité du sitecatalogue (scripts/build_sites_catalog.py)texte
scoreRichesse des données exploitables autour du sitecataloguenote sur 10
surfrequenteLe site est dans la liste des sites sur-fréquentés d'Isère Attractivitécatalogueoui / non
conseillePrésent seulement si le site est un lieu conseillé en reportcatalogueoui
position_approcheePrésent seulement si le site est placé au centre de sa commune, faute de coordonnéescatalogueoui
fichePrésent seulement si le site a une fiche détaillée : adresse de la pageportaillien

Comment lire : 205 sites sont dans un département voisin (Savoie, Drôme, Hautes-Alpes…). Leur position sort du cadre de la carte de l'Isère : il faut les masquer ou les rogner.

compteurs.json : les compteurs de passage

Une liste d'objets, un par compteur. Les 49 compteurs des espaces naturels sensibles (ENS) présents dans les deux sources ne comptent qu'une fois.

ChampDéfinitionSourceUnité
idIdentifiant Eco-Compteur du site de comptagesites_isere.csv, sites.csv des archives ENStexte
x, yPosition dans le repère du fond de cartecalculpixels SVG
lat, lonPosition géographiqueidemdegrés
nomNom du site de comptageidemtexte
source« Eco-Compteur Isère », « écocompteurs ENS » ou les deuxcalcultexte
gestionnaireOrganisme qui gère le compteursites_isere.csv (domain_name)texte
modesCe qui est compté : piétons, vélos, trottinettes, voitures, véhicules, motos, bususer_types, channels.csvliste
debut, fin, periodePremier et dernier jour de mesure ; periode donne les annéesidemdate
inseeCommune qui contient le compteur (point dans le polygone)calcultexte
total_2025Passages comptés en 2025, tous modes et tous sens confonduscomptages/comptages_journalier_2025_2026.csv, sinon measures.csv de l'archive ENS 2025passages
jours_2025Jours de 2025 avec au moins une mesureidemjours
couverture_2025Part des jours de 2025 mesurés, de 0 à 1 (déduit)calculratio
moyenne_jourtotal_2025 divisé par jours_2025 (déduit)calculpassages / jour
total_2025_sourceFichier qui a servi au totalcalcultexte

Comment lire : les champs total_2025 à moyenne_jour n'existent que pour les 258 compteurs mesurés en 2025. Avant de comparer deux compteurs, vérifiez couverture_2025 : un compteur à 0,4 a manqué plus de la moitié de l'année.

Le repère de la carte

Toutes les positions sont en pixels SVG, dans un cadre de 1000 sur 1015 : le nord en haut, l'axe vertical vers le bas. La conversion part du Lambert-93 (le système de coordonnées officiel en France, en mètres) :

Code
x = 10 + (X - 836000) * 0.0075734 y = 10 + (6534500 - Y) * 0.0075734

Comment lire : X et Y sont les coordonnées Lambert-93 du point, en mètres. Un pixel vaut environ 132 mètres. Pour un point en latitude et longitude, utilisez project(lon, lat) du module Python décrit plus bas.

Les totaux de contrôle

Les totaux ci-dessous sont recalculés à chaque lancement et écrits dans meta.json.

IndicateurTotal IsèreContrôle
Population1 298 990somme des 512 communes de la BD TOPO
Lits touristiques40 674identique à la ligne « Total » du fichier Insee
Hébergements451idem
Sites du catalogue en Isère2 667sur 2 872 sites
Compteurs420417 Eco-Compteur Isère + 3 compteurs ENS absents du premier fichier
Arrêts de transport en commun7 140149 flux GTFS lus
Fêtes et manifestations6 051sur 6 052 fiches (une seule est dans le Rhône)
Restaurants4 322identique à l'analyse « Commerces et emploi »
Commerces hors restaurants4 914idem
Emplois salariés du tourisme (2025)21 286lignes URSSAF des codes APE du tourisme
Aires de covoiturage4745 313 places, identique à l'analyse « Covoiturage »
Stations de recharge4291 024 points de charge

Lits : 40 674 et non 81 348

L'analyse « Capacité d'hébergement » de l'onglet Analyses affiche 81 348 lits et 902 établissements. Elle additionne aussi la ligne « Total » du fichier Insee, donc tout est compté deux fois. Le bon total est 40 674 lits dans 451 établissements, celui des bases croisées.

Comment rejouer les calculs

Depuis le dossier docs/, avec l'environnement Python du projet (pandas, duckdb, shapely, pyproj, openpyxl, ftfy) :

TerminalCode
python -I -W ignore scripts/dataviz/build_base.py

Le calcul prend moins d'une minute. Il lit les données brutes dans data/ sans jamais les modifier. Il réécrit un fichier seulement si son contenu change : on peut le relancer autant de fois qu'on veut.

Pour réutiliser les bases dans un autre script Python, importez le module commun :

Code
import sys from pathlib import Path sys.path.insert(0, str(Path("scripts/dataviz").resolve())) from common import project, load_communes, load_indicateurs, load_sites, load_compteurs, commune_of, OUT ind = load_indicateurs() # {"38185": {"nom": "Grenoble", "lits": 2377, ...}, ...} x, y = project(5.7245, 45.1885) # longitude, latitude -> position sur le fond de carte insee = commune_of(5.7245, 45.1885) # "38185"

Comment lire : OUT est le dossier public/dataviz/. Un script qui y écrit un fichier JSON le rend disponible sous /dataviz/… dans le portail.

Limites

  • Hébergement incomplet : le fichier Insee ne compte que l'hébergement marchand collectif (hôtels, campings, résidences de tourisme, villages vacances, auberges). Les meublés de tourisme et les résidences secondaires n'y sont pas. Dans les stations de ski, la capacité réelle est donc bien plus grande. Certaines stations affichent 0 lit d'hôtel : c'est souvent un manque du fichier, pas une absence d'hôtel.
  • Transports en commun partiels : les GTFS du bucket contiennent les cars Région Isère, les trains, Ruban (Bourgoin-Jallieu) et les autocars longue distance, mais pas le réseau urbain de Grenoble (M réso) ni celui du Pays voironnais. Grenoble n'a que 51 arrêts dans la base : la métropole est très sous-estimée.
  • Rattachement des événements : la commune vient du texte de l'adresse Apidae. Les noms de stations (Alpe d'Huez, Les Sept Laux, Le Collet…) et d'anciennes communes sont convertis par une table de correspondance. Une fiche peut décrire un événement récurrent : evenements compte des fiches, pas des jours de fête.
  • Compteurs hétérogènes : un compteur de déchèterie, une piste cyclable urbaine et un sentier d'espace naturel n'ont pas le même sens. Filtrez sur modes et gestionnaire. Certaines valeurs de comptage sont reconstruites par le fournisseur après une panne.
  • Emploi : les effectifs URSSAF ne comptent que les salariés du privé, au lieu de l'établissement. Les petites valeurs peuvent manquer (secret statistique) : elles valent 0 ici. Les saisonniers ne sont pas tous visibles dans une moyenne annuelle.
  • Sites : le catalogue rassemble plusieurs sources. 331 sites sans coordonnées sont placés au centre de leur commune (position_approchee). Un même lieu peut encore apparaître sous deux noms proches.
  • Fond de carte simplifié : les contours sont lissés à 60 m près pour alléger le fichier. Ils servent à dessiner, pas à mesurer : les surfaces sont calculées sur les contours complets.