Mapa de acidentes

imagem

Vou falar sobre o projeto "Mapa de acidentes" - um mapa interativo de acidentes na Rússia. O mapa simplifica a análise de acidentes e ajuda a encontrar as verdadeiras causas dos acidentes. Como surgiu a idéia, para onde eles levaram os dados e por que eles abriram o código-fonte.

Em 2018, 19088 pessoas morreram em acidentes nas estradas russas



A cifra diminui a cada ano, mas ainda permanece muito maior do que nos países desenvolvidos, onde é prestada muito mais atenção ao problema da mortalidade nas estradas. Um ótimo exemplo é o programa sueco de segurança viária Vision Zero.

O princípio básico do programa é a inadmissibilidade de acidentes fatais. Este princípio também é chamado de "tolerância zero", pois é impossível tratar as mortes na estrada como um mal inevitável associado à motorização. - wikipedia

No ano passado, a Fundação de Projetos Urbanos Ilya Varlamov e Maxim Katz lançou a campanha Zero Mortes em Moscou. A ideia é que, em princípio, ninguém morra em um acidente. E se as pessoas morrem, não é culpa da vítima, mas principalmente dos projetistas, construtores ou da cidade. É necessário entender cada acidente, encontrar as causas do sistema e eliminá-las gradualmente. Até agora, os departamentos da cidade não estão fazendo isso seriamente.

Portanto, no verão passado, juntamente com ativistas da cidade e deputados municipais de Moscou, ficamos confusos ao criar uma ferramenta que nos permitia realizar uma análise espacial detalhada dos acidentes: encontrar cruzamentos perigosos, estudar estatísticas locais nas ruas e cidades e identificar os principais fatores e causas de acidentes. Naquele momento, um projeto disponível ao público não existia.

Dados abertos do acidente


Tivemos muita sorte com dados abertos. Em um habr já escreveu boas postagens sobre o trabalho com eles. Tal atenção é totalmente justificada - este é um dos dados mais detalhados e interessantes que o estado está divulgando agora. Coordenadas, clima, marca e ano de produção do carro, violação das regras, gênero dos participantes e muito mais. E isso é tudo para cada um dos mais de 600 mil acidentes.

Nesse caso, estávamos preocupados com o serviço stat.gibdd.ru . Apesar dos dados detalhados, ele difere por ser muito inconveniente de usar. Parece mais um site para funcionários: uma comparação com o APPG (no mesmo período do ano passado), detalhes apenas para unidades administrativas, acidentes são exibidos em uma lista.

imagem

Essa interface e funcionalidade não são de todo adequadas para as pessoas, mas criadas para relatórios oficiais.

Criação de Portal


Um papel importante na criação dos termos de referência foi desempenhado por pessoas que realmente enfrentam esses problemas - deputados, ativistas, urbanistas. Foi graças a eles que consegui entender o que era realmente necessário. Combinamos um pequeno orçamento inicial de 30 mil rublos e começamos a fazê-lo.

O trabalho com os dados começou com o fato de eu escrever um analisador simples de regiões e acidentes no site do portal da polícia de trânsito. Nós nos apegamos à API, que forneceu dados para o próprio serviço e os descarregamos para nós mesmos. Como escrevi acima, há postagens sobre esse tópico no hub e o código-fonte do nosso analisador pode ser encontrado no repositório .

O principal problema foi a geocodificação, pois muitos dos acidentes tiveram coordenadas incorretas. As coordenadas eram muito diferentes dos endereços. Por exemplo, em Makhachkala, 90% dos acidentes rodoviários foram geralmente fora da cidade e, em Barnaul, parte do acidente foi simplesmente para a floresta.

imagem

No início, usamos o Yandex.Geocoder, mas suas limitações e recusas em compartilhar o serviço, mesmo em um projeto sem fins lucrativos, nos levaram a encontrar outra solução. Como resultado, definimos nossa tarefa no hackathon de projetos sociais PublicData, onde os caras tomaram sua decisão personalizada, que não apenas encontra o endereço mais próximo, mas também a estrada mais próxima.

imagem

Os caras tomaram o endereço como coordenada prioritária e, se o ponto geográfico estiver a mais de 300 metros do protocolo, o algoritmo não o levará em consideração. O algoritmo é que pegamos o ponto geográfico do edifício e o projetamos na estrada, fazemos o mesmo com o ponto geográfico do protocolo. Entre os dois pontos resultantes, desenhe um segmento. O meio desse segmento será o ponto que precisamos.

Em seguida, usamos a pilha postgresql + django + djangorestframework. Como os dados eram hierárquicos, tivemos que criar tabelas adicionais para os valores para os quais planejamos filtros.

No front-end, planejamos um mapa interativo com filtros e estatísticas calculadas automaticamente. A principal tarefa era garantir que o mapa não pendurasse com tantos objetos (em Moscou são mais de 30 mil). O resultado é um aplicativo ReactJS com um complemento do folheto. Ele carrega da API ao mesmo tempo todo o acidente de uma região ou cidade, mas mostra no mapa apenas os que caem na tela. Isso fez com que a página inicial fosse carregada por muito tempo, mas forneceu estatísticas rápidas de filtragem e recontagem e não permitiu que o mapa desacelerasse. Além disso, um pouco mais tarde, adicionamos uma camada térmica que é ativada em uma determinada escala e com muitos acidentes. No começo, tínhamos apenas um mapa de Moscou.

No primeiro estágio, recusamos a versão móvel, porque será difícil incluir as principais funções, e as principais histórias de usuários sobre como trabalhar com o mapa exigem uma imersão para análise, e não algo que as pessoas farão em trânsito.

Selecionamos os filtros de acordo com sua importância para análise: tipos de acidentes, datas, ruas, infrações de trânsito, infraestrutura do entorno.



Também simplificamos significativamente o cartão de acidente e o aprimoramos com a ajuda de cores, ícones e panoramas.

imagem

Resultado


Durante seis meses, o projeto foi visitado por pouco mais de 30 mil pessoas que acessaram o site cerca de 100 mil vezes. Agora, o mapa está se desenvolvendo junto com ativistas das regiões, que falam sobre os problemas de um acidente usando o exemplo de um mapa de sua cidade e região. Eles se comunicam com a mídia regional e falam sobre o problema em seus blogs: Kirov no "Mapa de Acidentes Rodoviários". As 7 principais ruas da cidade em que ocorreram mais acidentes , Vladimir no mapa de acidentes rodoviários das pessoas : "É necessário ser guiado pela segurança das pessoas": na região de Nizhny Novgorod criou um mapa de acidentes rodoviários .

Também recebemos feedback individual sobre o projeto. Por exemplo, a Urban Projects Foundation usa ativamente o nosso portal para realizar suas pesquisas em cruzamentos perigosos. No Fórum Urbano de Kirov, nosso projeto foi mencionado como argumento para a revisão de políticas urbanas. Estamos muito satisfeitos por podermos pelo menos influenciar o problema.

Código fonte


Se você foi ao site do projeto, deve ter notado que o projeto ainda tem muitos problemas, dos quais:

  • nem todas as regiões adicionadas
  • sem versão para celular
  • você não pode compartilhar um site específico / estatísticas de contagem em um site específico

Para envolver mais pessoas no projeto, abrimos o código fonte do projeto. Há instruções sobre como criar um projeto, como baixar dados e tarefas, resolvendo quais você pode ajudar no projeto.

Em um futuro próximo, corrigiremos pequenos bugs e finalizaremos o projeto.

Atualmente no mapa: Moscou, São Petersburgo, Kazan, Níjni Novgorod, Krasnodar, Yaroslavl, Kirov, Vladimir, Cheboksary e suas regiões.

Se o projeto ajuda a salvar pelo menos uma vida desses 20 mil, tudo isso não foi em vão. Você também tem a oportunidade de salvar várias vidas. Ficaremos muito felizes se você:


Obrigado a todos que participaram da criação do projeto, e especialmente a Alexei Radchenko, Anastasia Romashkevich, Anton Chernykh c13 , Alexander Popovtsev, Anna Kirichenko, Konstantin Nabatchikov, Vladislav Prud, Maxim Nikityuk.

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


All Articles