Catalyseur d'énergies pour OpenStreetMap v0.5.0

Gendarmerie et Police nationale

novembre 2018

Les commissariats et gendarmeries sont des services publics essentiels, dans lesquels nous pouvons tous être amenés à nous rendre un jour ou l'autre. Pourtant, il en manque encore beaucoup dans OpenStreetMap. La récente mise à disposition de données ouvertes de qualité sur les points d'accueil de la Gendarmerie nationale et de la Police nous permet d'envisager de les ajouter tous sur la carte !

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 = '2018-11_police'
          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_police
        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 :
      nwr/amenity=police
      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 = '2018-11_police'
          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_police
        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 = '2018-11_police'
          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.

      Pendant un mois, focalisons-nous sur les priorités suivantes :

      • Ajouter les gendarmeries et commissariats manquants
      • Ajouter plus de détails sur les gendarmeries et commissariats existants

      Données

      L'ensemble des données produites avant, pendant et après le projet du mois sont disponibles aux adresses suivantes :

      Interroger les objets de ce projet avec Overpass Turbo :

      Ouvrir dans Overpass Turbo

      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/2018-11_police/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/2018-11_police/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.