Carte des accidents

image

Je vais vous parler du projet «Accident Map» - une carte interactive des accidents en Russie. La carte simplifie l'analyse des accidents et aide à trouver les causes réelles des accidents. Comment est venue l'idée, où ont-ils pris les données et pourquoi ont-ils ouvert le code source?

En 2018, 19088 personnes sont décédées dans des accidents de la route sur les routes russes



Le chiffre diminue chaque année, mais reste encore beaucoup plus important que dans les pays développés, où l'on accorde beaucoup plus d'attention au problème de la mortalité sur les routes. Un bon exemple est le programme suédois de sécurité routière Vision Zero.

Le principe de base du programme est l'inadmissibilité des accidents mortels. Ce principe est aussi appelé principe de «tolérance zéro», selon lui il est impossible de traiter les décès sur la route comme un mal inévitable associé à la motorisation. - wikipedia

L'année dernière, la Fondation Ilya Varlamov et Maxim Katz Urban Projects a lancé la campagne Zero Deaths à Moscou. L'idée est qu'en principe, personne ne devrait mourir dans un accident. Et si des gens meurent, ce n'est pas la faute de la victime, mais surtout les concepteurs, les constructeurs ou la ville. Il est nécessaire de comprendre chaque accident, de trouver les causes du système et de les éliminer progressivement. Jusqu'à présent, les services municipaux ne le font pas sérieusement.

Par conséquent, l'été dernier, en collaboration avec des militants de la ville et des députés municipaux de Moscou, nous avons été perplexes en créant un outil qui nous permettrait d'effectuer une analyse spatiale détaillée des accidents: trouver des intersections dangereuses, étudier les statistiques locales sur les rues et les villes et identifier les principaux facteurs et causes d'accidents. A cette époque, un tel projet accessible au public n'existait pas.

Ouvrir les données d'accident


Nous avons eu beaucoup de chance avec les données ouvertes. Sur un habr a déjà écrit de bons articles sur le travail avec eux. Une telle attention est pleinement justifiée - c'est l'une des données les plus détaillées et les plus intéressantes que l'État divulgue maintenant. Coordonnées, météo, marque et année de production de la voiture, violation des règles, sexe des participants et bien plus encore. Et c'est tout pour chacun des plus de 600 000 accidents.

Dans ce cas, nous étions inquiets pour le service stat.gibdd.ru lui-même . Malgré les données détaillées sous le capot, il diffère en ce qu'il est très gênant à utiliser. Il ressemble plus à un site pour les fonctionnaires: une comparaison avec l'APPG (la même période l'an dernier), des détails uniquement aux unités administratives, les accidents sont affichés dans une liste.

image

Une telle interface et fonctionnalité n'est pas du tout adaptée aux personnes, mais plutôt créée pour les rapports officiels.

Création de portail


Un rôle important dans la création du mandat a été joué par les personnes qui rencontrent réellement ces problèmes - députés, militants, urbanistes. C'est grâce à eux que j'ai réussi à comprendre ce qui était vraiment nécessaire. Nous nous sommes mis d'accord sur un petit budget de départ de 30 000 roubles et avons commencé à le faire.

Le travail avec les données a commencé avec le fait que j'ai écrit un simple analyseur des régions et des accidents à partir du site Web du portail de la police de la circulation. Nous nous sommes accrochés à leur API, qui a donné des données au service lui-même et nous les avons déchargées. Comme je l'ai écrit ci-dessus, il y a des articles sur ce sujet sur le hub, et le code source de notre analyseur se trouve dans le référentiel .

Le principal problème était le géocodage, car de nombreux accidents avaient des coordonnées incorrectes. Les coordonnées étaient très différentes des adresses. Par exemple, à Makhachkala, 90% des accidents de la route se sont généralement produits en dehors de la ville, et à Barnaul, une partie de l'accident est simplement allée dans la forêt.

image

Au début, nous avons utilisé Yandex.Geocoder, mais leurs limites et leur refus de partager le service même pour un projet à but non lucratif nous ont amenés à trouver une autre solution. En conséquence, nous avons fixé notre tâche au hackathon des projets sociaux PublicData, où les gars ont pris leur décision personnalisée, qui trouve non seulement l'adresse la plus proche, mais aussi la route la plus proche.

image

Les gars ont pris l'adresse comme coordonnée prioritaire, et si le géo-point est à plus de 300 mètres du protocole, l'algorithme n'en tiendra pas compte. L'algorithme est que nous prenons le géo-point du bâtiment et le projetons sur la route, nous faisons de même avec le géo-point du protocole. Entre les deux points résultants, tracez un segment. Le milieu de ce segment sera le point dont nous avons besoin.

Ensuite, nous avons utilisé la pile postgresql + django + djangorestframework. Les données étaient hiérarchiques, nous avons donc dû créer des tableaux supplémentaires pour les valeurs pour lesquelles nous avions planifié des filtres.

À l'avant, nous avons prévu une carte interactive avec des filtres et des statistiques calculées automatiquement. La tâche principale était de s'assurer que la carte ne soit pas accrochée avec autant d'objets (à Moscou, elle est supérieure à 30 000). Le résultat est une application ReactJS avec un add-on de la brochure. Il charge à la fois de l'API tous les accidents d'une région ou d'une ville, mais ne montre sur la carte que ceux qui tombent à l'écran. Cela a rendu le chargement de la page de démarrage assez long, mais a fourni des statistiques de filtrage et de recomptage rapides, et ne permet pas à la carte de ralentir. De plus, un peu plus tard, nous avons ajouté une couche thermique qui est activée à une certaine échelle et avec trop d'accidents. Au début, nous n'avions qu'une carte de Moscou.

À la première étape, nous avons refusé la version mobile, car il sera difficile d'y mettre les principales fonctions, et les histoires d'utilisateurs clés de l'utilisation de la carte nécessitent une immersion pour l'analyse, et non quelque chose que les gens feront en déplacement.

Nous avons sélectionné les filtres en fonction de leur importance pour l'analyse: types d'accidents, dates, rues, infractions à la circulation, infrastructures environnantes.



Nous avons également considérablement simplifié la carte d'accident et l'avons améliorée à l'aide de couleurs, d'icônes, de panoramas.

image

Résultat


Pendant six mois, le projet a été visité par un peu plus de 30 000 personnes qui ont consulté le site environ 100 000 fois. Maintenant, la carte se développe en collaboration avec des militants des régions, qui parlent des problèmes d'un accident en utilisant l'exemple d'une carte de leur ville et de leur région. Ils communiquent avec les médias régionaux et parlent du problème sur leurs blogs: Kirov sur la «Carte des accidents de la route». Les 7 principales rues de la ville sur lesquelles le plus d'accidents se sont produits , Vladimir sur la carte des accidents de la route des gens , "Il faut être guidé par la sécurité des personnes": dans la région de Nijni Novgorod a créé une carte des accidents de la route .

Nous recevons également des commentaires individuels sur le projet. Par exemple, la Urban Projects Foundation utilise activement notre portail pour mener ses recherches sur les intersections dangereuses. Au Kirov Urban Forum, notre projet a été mentionné comme un argument pour la révision des politiques urbaines. Nous sommes très heureux d'avoir au moins pu influencer le problème.

Code source


Si vous êtes allé sur le site du projet, vous auriez dû remarquer que le projet a encore beaucoup de problèmes, dont:

  • pas toutes les régions ajoutées
  • pas de version mobile
  • vous ne pouvez pas partager un site spécifique / statistiques de comptage sur un site spécifique

Pour impliquer plus de personnes dans le projet, nous avons ouvert le code source du projet. Il y a des instructions sur la façon de monter un projet, de télécharger des données et des tâches, de résoudre ce que vous pouvez aider le projet.

Dans un futur proche, nous corrigerons de petits bugs et finaliserons le projet.

Actuellement sur la carte: Moscou, Saint-Pétersbourg, Kazan, Nizhny Novgorod, Krasnodar, Yaroslavl, Kirov, Vladimir, Cheboksary et leurs régions.

Si le projet permet de sauver au moins une vie sur ces 20 000, alors tout cela n'a pas été vain. Vous avez également la possibilité de sauver plusieurs vies. Nous serons très heureux si vous:


Merci à tous ceux qui ont participé à la création du projet, et en particulier à Alexei Radchenko, Anastasia Romashkevich, Anton Chernykh c13 , Alexander Popovtsev, Anna Kirichenko, Konstantin Nabatchikov, Vladislav Prud, Maxim Nikityuk.

Source: https://habr.com/ru/post/fr438700/


All Articles