Découvrez comment fonctionne l'algorithme de scoring des quartiers.
Choisissez le niveau de détail qui vous convient.
La qualité de votre environnement : parcs et espaces verts.
Facilité de déplacement : transports en commun (bus, tram), accessibilité, pistes cyclables et connexions vers le reste de la ville.
Proximité des commerces : supermarchés, boulangeries, restaurants, boutiques locales, marchés...
Profil économique du quartier : taux d'emploi, revenus moyens et densité de population.
Infrastructures de loisirs et sport : gymnases, piscines, terrains de sport, centres culturels, bibliothèques...
Services essentiels : Équipements publics.
Distance par rapport au point que vous avez sélectionné sur la carte. Plus c'est proche, meilleur est le score !
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 données utilisées par Karta proviennent de sources publiques et officielles :
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.
Contribution de chaque catégorie au score final (chargées dynamiquement depuis le serveur) :
Chargement des pondérations...
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.
Chargement du simulateur...
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.
L'algorithme opère un étirement linéaire autour de la moyenne (5.0) :
score_final = clip((score - 5.0) × 2.5 + 5.0, min=1, max=10)
| 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) |
Sources de données et pondérations internes pour chaque dimension :
Chargement des catégories...
Le score de proximité est calculé en temps réel selon le point sélectionné par l'utilisateur.
| 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) |
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).
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.
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é.
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.
Organisation des fichiers et répertoires du projet :