Catalyseur d'énergies pour OpenStreetMap v0.5.0

En ce moment : éclairages de rue

L'éclairage public est essentiel pour la sécurité et le confort des usagers. Cartographions ensemble tous les éclairages de rue dans OpenStreetMap ! #ÉclairagePublic #ProjetDuMois

Statistiques

Podium

Inscrivez-vous ou connectez-vous pour voir le podium

#PseudoPoints

Top 10 villes - Qualité

Top 10 villes - Progression (30 jours)

Contributions par zone

Avancement

OpenStreetMap

Variation des décomptes

Ce graphique montre la variation du nombre d'objets entre chaque mesure, permettant d'identifier les périodes d'activité plus marquées.

OpenStreetMap

Variation mensuelle

Ce graphique montre la variation mensuelle agrégée du nombre d'objets, permettant d'identifier les mois les plus actifs.

OpenStreetMap

Suppressions

Ce graphique montre l'évolution du nombre de suppressions d'objets du projet.

Utilisez la molette de la souris pour zoomer, cliquez-glissez pour déplacer
OpenStreetMap
Changesets avec suppressions

Note : Le Changeset ID peut être absent pour les suppressions anciennes, car cette information n'était pas toujours enregistrée dans l'historique OSM.

DateUtilisateurChangeset IDNombre de suppressionsActions

Notes

Clés fréquentes

Clés les plus utilisées

    Borne de recharge - prises recensées

      Qualité de complétion

      Comment sont calculés les décomptes ?

      Les décomptes d'objets sont calculés depuis l'historique des changements stocké dans la base de données. Le fichier CSV mentionné dans les logs sert uniquement à importer temporairement les changements OSM (créations, modifications, suppressions) depuis le fichier d'historique général vers la table pdm_changes.

      Principe de calcul :

      Pour chaque date, on compte les objets qui existent à cette date en reconstituant leur état depuis l'historique :

      • Un objet existe à une date donnée s'il a été créé avant ou à cette date
      • Et s'il n'a pas été supprimé avant ou à cette date
      • Les objets actuels (non modifiés depuis la dernière mise à jour) sont aussi pris en compte
      Exemple de requête SQL pour un jour donné :

      Cette requête reconstitue l'état des objets à une date donnée depuis l'historique des changements.

      -- Compter les objets du projet pour une date donnée
      -- Remplacez '2025-01-15' par la date souhaitée
      WITH object_states AS (
        -- Dernier état connu de chaque objet avant ou à la date
        SELECT DISTINCT ON (osmid)
          osmid,
          action,
          ts,
          version
        FROM pdm_changes
        WHERE project = '2024-12_streetlamps'
          AND ts <= '2025-01-15T23:59:59Z'
        ORDER BY osmid, ts DESC, version DESC
      ),
      current_objects AS (
        -- Objets actuels qui n'ont pas été supprimés dans l'historique
        SELECT DISTINCT osm_id::TEXT AS osmid
        FROM pdm_project_streetlamps
        WHERE osm_id::TEXT NOT IN (
          SELECT osmid FROM object_states WHERE action = 'delete'
        )
      ),
      existing_objects AS (
        -- Union des objets actuels et des objets de l'historique non supprimés
        SELECT osmid FROM current_objects
        UNION
        SELECT osmid FROM object_states WHERE action != 'delete'
      )
      SELECT COUNT(*) AS count
      FROM existing_objects;
      Filtre OSM utilisé pour ce projet :
      amenity=street_lamp
      Exemple de requête SQL pour un jour et une zone donnés :

      Cette requête filtre les objets existants à une date donnée pour une zone administrative spécifique.

      -- Compter les objets du projet pour une date et une zone administrative
      -- Remplacez '2025-01-15' par la date et 12345 par l'ID de la zone (boundary)
      WITH object_states AS (
        -- Dernier état connu de chaque objet avant ou à la date
        SELECT DISTINCT ON (osmid)
          osmid,
          action,
          ts,
          version
        FROM pdm_changes
        WHERE project = '2024-12_streetlamps'
          AND ts <= '2025-01-15T23:59:59Z'
        ORDER BY osmid, ts DESC, version DESC
      ),
      current_objects AS (
        -- Objets actuels non supprimés
        SELECT DISTINCT osm_id::TEXT AS osmid
        FROM pdm_project_streetlamps
        WHERE osm_id::TEXT NOT IN (
          SELECT osmid FROM object_states WHERE action = 'delete'
        )
      ),
      existing_objects AS (
        -- Union des objets existants à la date
        SELECT osmid FROM current_objects
        UNION
        SELECT osmid FROM object_states WHERE action != 'delete'
      ),
      objects_in_boundary AS (
        -- Filtrer par zone administrative
        SELECT eo.osmid
        FROM existing_objects eo
        INNER JOIN pdm_features_boundary pfb ON eo.osmid = pfb.osmid
        WHERE pfb.project = '2024-12_streetlamps'
          AND pfb.boundary = 12345  -- ID de la zone (ex: département, commune)
          AND ('2025-01-15T23:59:59Z' BETWEEN pfb.start_ts AND pfb.end_ts
               OR (pfb.start_ts IS NULL AND pfb.end_ts IS NULL)
               OR ('2025-01-15T23:59:59Z' >= pfb.start_ts 
                   AND (pfb.end_ts IS NULL OR '2025-01-15T23:59:59Z' <= pfb.end_ts)))
      )
      SELECT COUNT(*) AS count
      FROM objects_in_boundary;
      Note : Les décomptes sont pré-calculés et stockés dans pdm_feature_counts pour améliorer les performances. Les requêtes ci-dessus montrent la logique de calcul utilisée.

      Comment participer

      Éclairages de rue

      Pour compléter tous les éclairages de rue du pays, participez à ce projet du mois dédié à l'éclairage public.

      Comment contribuer

      L'éclairage public est essentiel pour la sécurité et le confort des usagers, notamment la nuit. En cartographiant tous les éclairages de rue, nous améliorons la qualité des données OpenStreetMap pour les applications de navigation, les études d'urbanisme et les services publics.

      Tags à utiliser

      • amenity=street_lamp : Tag principal pour identifier un éclairage de rue
      • lamp_type=* : Type d'ampoule (LED, sodium, mercury, etc.)
      • height=* : Hauteur du lampadaire en mètres
      • support=* : Type de support (pole, wall, wire, ground)
      • operator=* : Organisme responsable de l'éclairage
      • lit=* : État de l'éclairage (yes/no/automatic)
      • control=* : Type de contrôle (timer, dusk-dawn, sensor, manual)

      Sources de données

      • Observations sur le terrain
      • Photos aériennes (BDOrtho IGN)
      • Photos de rue (Mapillary)
      • Notes OpenStreetMap

      Toutes les infos pour contribuer sont disponibles dans le wiki et sur le forum OSM fr.

      Données

      Retrouvez l'ensemble des données directement sur le site d'OpenStreetMap.

      API de mesures par zone

      Vous pouvez récupérer les statistiques de ce projet pour une zone administrative donnée (ville, département, etc.) via l'URL suivante (port 3000) :

      GET /projects/2024-12_streetlamps/statsOuvrir la requête

      Récupère les statistiques du projet; vous pouvez filtrer ou agréger côté client par zone.

      Exemple de requête :
      GET http://localhost:3000/projects/2024-12_streetlamps/stats
      Réponse JSON (extrait) :
      {
        "chart": [...],
        "count": 1234,
        "mapStyle": { "...": "..." },
        "qualityStats": { "...": "..." }
      }
      Note : Pour des statistiques précises par zone, récupérez les données et filtrez-les selon les limites administratives souhaitées. Les données sont mises à jour quotidiennement.

      Modifier dans JOSM

      Chargez les objets de ce projet pour un département dans JOSM pour les modifier directement.

      D'autres projets

      Retrouvez d'autres projets du mois, leurs outils, statistiques et données.