Catalyseur d'énergies pour OpenStreetMap v0.5.0

Arrêts de bus

juillet 2017

Mappons des arrêts de bus

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 = '2017-07_busstop'
          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_busstop
        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 :
      highway=bus_stop
      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 = '2017-07_busstop'
          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_busstop
        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 = '2017-07_busstop'
          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

      Ce projet du mois est terminé, mais la cartographie dans OpenStreetMap ne s'arrête pas ! Vous pouvez continuer à enrichir les données à l'aide de nos outils et de la documentation.

      Tous ensemble, cartographions les arrêts de bus !

      Les objectifs de ce projet sont :

      • d'ajouter les arrêts de bus manquants
      • de bien préciser leurs noms, et caractéristiques (bancs, abri, accessibilité, etc)
      • de vérifier les tags note et fixme présents sur ces objets

      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/2017-07_busstop/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/2017-07_busstop/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.