Retour
Logo Karta

Documentation Karta

Découvrez comment fonctionne l'algorithme de scoring des quartiers.
Choisissez le niveau de détail qui vous convient.

Les 7 dimensions évaluées

Cadre de vie

La qualité de votre environnement : parcs et espaces verts.

Mobilité

Facilité de déplacement : transports en commun (bus, tram), accessibilité, pistes cyclables et connexions vers le reste de la ville.

Commerces

Proximité des commerces : supermarchés, boulangeries, restaurants, boutiques locales, marchés...

Socio-économique

Profil économique du quartier : taux d'emploi, revenus moyens et densité de population.

Équipements

Infrastructures de loisirs et sport : gymnases, piscines, terrains de sport, centres culturels, bibliothèques...

Services urbains

Services essentiels : Équipements publics.

Proximité

Distance par rapport au point que vous avez sélectionné sur la carte. Plus c'est proche, meilleur est le score !

Comment le score final est calculé ?

Chaque dimension reçoit une note de 1 à 10. Ensuite, ces notes sont combinées avec des pondérations (certains critères comptent plus que d'autres). Le résultat ? Votre score final sur 10.

Toutes les dimensions ne pèsent pas le même poids
Par exemple, la "mobilité" et le "cadre de vie" peuvent avoir plus d'importance dans le calcul que d'autres critères, car ce sont souvent les éléments les plus recherchés.

D'où viennent les données ?

Toutes les données utilisées par Karta proviennent de sources publiques et officielles :

INSEE (Institut National de la Statistique) Data Dijon Métropole (Open Data)
Transparence totale
Vous pouvez consulter ces données publiques directement sur data.metropole-dijon.fr et insee.fr.

Méthodologie générale

Le système de scoring de Karta repose sur une approche multi-critères combinant normalisation robuste, pondération catégorielle et amélioration du contraste.

Pipeline de calcul

  1. Collecte des données : Agrégation depuis sources publiques (INSEE, Dijon Métropole)
  2. Normalisation robuste : Transformation des valeurs brutes en scores 1-10
  3. Agrégation par catégorie : Calcul des scores par dimension avec pondérations internes
  4. Amélioration du contraste : Application de l'algorithme de contrast enhancement
  5. Score global : Combinaison pondérée des 7 catégories
  6. Bonus de proximité : Ajustement dynamique selon la position sélectionnée

Pondérations globales

Contribution de chaque catégorie au score final (chargées dynamiquement depuis le serveur) :

Chargement des pondérations...

Simulateur de Pondération

Testez l'impact des pondérations sur la carte en temps réel. Ajustez les curseurs ci-dessous pour voir comment le score global évolue si l'on privilégie certains critères.
Note : Ceci est une simulation locale à titre de test. Elle ne modifie pas les données réelles.

Ajuster les poids

Chargement du simulateur...

Légende (Score)
0-3 5 9-10

Amélioration du Contraste (Contrast Enhancement)

Après le calcul des scores, un algorithme d'amélioration du contraste est appliqué pour accentuer les différences entre quartiers et améliorer la lisibilité de la carte.

Principe mathématique

L'algorithme opère un étirement linéaire autour de la moyenne (5.0) :

  • Les scores supérieurs à 5 sont amplifiés vers le haut
  • Les scores inférieurs à 5 sont diminués vers le bas
  • Le résultat est plafonné entre 1 et 10
  • Facteur d'amplification : 2.5
Formule mathématique
score_final = clip((score - 5.0) × 2.5 + 5.0, min=1, max=10)

Exemples de transformation

Score initial Calcul Score final Variation
3.0 (3.0 - 5.0) × 2.5 + 5.0 1.0 -2.0 (plancher atteint)
4.0 (4.0 - 5.0) × 2.5 + 5.0 2.5 -1.5
5.0 (5.0 - 5.0) × 2.5 + 5.0 5.0 0.0 (inchangé)
6.0 (6.0 - 5.0) × 2.5 + 5.0 7.5 +1.5
7.5 (7.5 - 5.0) × 2.5 + 5.0 10.0 +2.5 (plafond atteint)
Impact et justification
Cette transformation préserve l'ordre relatif des quartiers mais améliore la différenciation visuelle. Elle ne modifie pas les tendances, mais rend la carte plus contrastée et donc plus facile à interpréter pour l'utilisateur final.

Détails par catégorie

Sources de données et pondérations internes pour chaque dimension :

Chargement des catégories...

Score de proximité (calcul dynamique)

Le score de proximité est calculé en temps réel selon le point sélectionné par l'utilisateur.

Règles de calcul

Condition Bonus appliqué
Quartier contenant le point sélectionné +3.0 points
Quartier frontalier (adjacent) +1.5 points
Distance au point Décroissance linéaire (max à 0km)

Limites et biais

Données manquantes
Certains quartiers peuvent avoir des données incomplètes, ce qui peut affecter leur score. Les valeurs manquantes sont traitées par imputation ou exclusion selon la méthodologie.
Actualité des données
Les données proviennent de sources officielles qui ne sont pas mises à jour en temps réel. Un décalage temporel peut exister entre la situation actuelle et les statistiques disponibles.

Architecture Technique

L'application est conçue pour être rapide et modulaire. Elle sépare distinctement le calcul complexe (réalisé en amont) de la visualisation fluide (dans votre navigateur).

1. Le Moteur (Backend)

C'est le cerveau de l'application. Écrit en Python, il lit les fichiers de données brutes (GeoJSON, CSV), effectue tous les croisements géographiques et applique les algorithmes de scoring. Ce travail lourd est fait côté serveur pour ne pas ralentir votre appareil.

2. L'API (Le Pont)

Une fois les scores calculés, ils sont exposés via une API Web. Elle agit comme un distributeur automatique : quand vous ouvrez la carte, elle livre uniquement les données nécessaires (formes des quartiers et notes finales) au format JSON optimisé.

3. L'Interface (Frontend)

Votre navigateur reçoit ces données légères. Grâce à Mapbox GL et JavaScript, il dessine la carte et applique les couleurs en temps réel. C'est cette étape qui rend l'expérience interactive et fluide pour l'utilisateur.

Structure du projet

Organisation des fichiers et répertoires du projet :

Racine du projet
api.py
Backend Flask + calculs
scores_config.yaml
Configuration scoring
requirements.txt
Dépendances Python
Dockerfile
Config. Docker
frontend/ Interface utilisateur
landing.html
+ .js, .css
map.html
+ .js, .css
data.html
+ .js
docs.html
+ .js (actuel)
logo.*
.svg, .ico
DATA/ Données géographiques (GeoJSON)
BIEN_ETRE/
• espace_vert.geojson
• point_fraicheur.csv
EQUIPEMENTS/
• culture.geojson
• education.geojson
• enseignement_superieur
• petite_enfance.geojson
• sante.geojson
• sport.geojson
INSEE/
• iris_dijon_metropole
• revenus_iris.csv
MOBILITE/
• arret_bus.geojson
• ligne_bus.geojson
• piste_cyclable.geojson
• station_velo.geojson
• ...
VIE_URBAINE/
• commerce.geojson
• marche.geojson
• restaurant.geojson
• parking.geojson
• ...