Introduzindo o gerenciamento de dados de eleições cívicas de politico – características – fonte de um opennews projeto diretrizes de tratamento de espondiloartrite

A equipe interativa da POLITICO, fundada em 2017, considera os dados cívicos e a cobertura de resultados eleitorais uma parte central da produção de nossa equipe. Para as eleições de 2018, sabíamos que queríamos fazer eleições em escala nacional, mas com uma equipe menor do que você poderia ter em um mercado nacional. Ele apresentou um problema clássico: como você faz algo em escala de maneira eficiente?

A temporada de meio de 2018 acabou, mas estamos planejando usar o civismo como base para nossa cobertura em 2020. Agora que passamos com sucesso por uma temporada de eleições, estamos prontos para contar ao mundo sobre isso. Se você planeja fazer a cobertura dos resultados das eleições de 2020 em qualquer escala, você pode começar suas conversas e planejar mais cedo do que pensa.

Esperamos que, ao publicar publicamente a cidadania, possamos diminuir um pouco a corrida armamentista nas eleições e dar-lhe um ponto de partida para o seu trabalho. O que é POLÍTICO cívico?

O Civic é construído como um projeto de django contendo uma série de aplicativos django conectáveis. Cada aplicativo gerencia uma determinada peça de dados cívicos. Por exemplo, a geografia político-cívica modela a geografia política nos estados unidos, de estados a municípios. Modelos de voto político-cívicos votam contagens. Você pode ler os modelos que formam as principais aplicações aqui.

A modularidade deste sistema nos dá um mundo inteiro de flexibilidade. Você pode imaginar aplicativos baseados em censos que dependem de geografia e demografia, ou sistemas financeiros de campanha que dependem de eleição. À medida que o próximo ciclo de eleições começar, poderemos explorar todas essas ideias com mais facilidade, porque não estamos começando do zero. Nós já temos uma base sólida para construir.

Para você, isso significa que, se você quiser usar o serviço cívico, não precisará usar tudo isso. Talvez nossos modelos geográficos façam sentido para você, mas você quer seguir uma direção completamente diferente sobre como você lida com o rastreamento de votos. A modularidade do civismo torna isso possível. Se você estiver usando o django, basta instalar a geografia no seu projeto do django e desenvolver seu próprio caminho a partir daí.

Esse esquema forma a espinha dorsal do POLITICO civic, e não veio do nada. Passamos muito tempo estudando popolo e abrindo dados cívicos para ter uma ideia de como os outros abordaram esse problema. Nenhuma das abordagens resolveu completamente nossas necessidades, mas seus esquemas inspiraram partes significativas da nossa. Nós tomamos emprestadas as definições de divisões e jurisdições dos dados abertos da comunidade, bem como as definições de pessoas e organizações da popolo, por exemplo.

Os aplicativos componentes descrevem detalhadamente os principais tipos de dados que lidamos: pessoas e organizações, limites geográficos, órgãos governamentais, eleições, candidatos e estatísticas de votação. Mais uma vez, você pode ler todos os modelos dos principais aplicativos aqui. Ao não confiar na imprensa associada para tudo, poderíamos obter nossos dados de fontes mais confiáveis ​​(por exemplo, o censo), e poderíamos definir com mais clareza as relações entre nossos dados.

Eleições são fractais; você pode cobri-los em níveis altos e baixos e em ângulos infinitamente diferentes. Ao criar um esquema de modelo relacional, fomos capazes de explorar esses ângulos e extrair o mesmo alicerce para nos iniciarmos. Construímos uma demografia censitária de nossos modelos geográficos e um sistema de classificações raciais dos nossos modelos eleitorais. Nós rastreamos a probabilidade de que candidatas do sexo feminino fossem eleitas com uma combinação de nossos dados primários de votação e nossas classificações raciais. Dados ao vivo da imprensa associada alimentaram nossos modelos de registro de votos na noite da eleição, o que nos permitiu acionar bots em folga e no twitter.

Um dos aplicativos de mais alto nível que nós construímos é a geografia, e rapidamente pagou alguns dos maiores dividendos. Em essência, a geografia é simples. Modela a geografia política desde o nível de um país até o nível de um recinto. Chamamos cada uma dessas unidades geográficas de “divisão”. O modelo de divisão da geografia pode armazenar códigos FIPS, rótulos e outras informações de identificação sobre qualquer divisão, bem como representar sua relação com outras divisões (eG, bucks county é um filho da Pensilvânia, que é filho dos estados unidos). Essa é uma informação básica importante para quase todos os dados cívicos.

Mas onde a geografia realmente brilha é sua capacidade de modelar a geometria real (apropriadamente, o modelo de geometria). Ele pode armazenar geometria para qualquer uma das suas divisões, dividida por qualquer uma das divisões de seus filhos, em um nível de simplificação especificado, bem como produzir topojson e assar isso para a Amazon S3 para uso no frontend. Por exemplo, temos o mapa do distrito congressional de cada estado armazenado no banco de dados.

Observe que o segundo item não menciona o banco de dados. Isso é intencional. Para as nossas páginas de resultados eleitorais, uma meta importante para nós era ter o processo de carregamento de resultados mais rápido possível. Para pegarmos os dados do AP, atualizar nosso banco de dados e extrair todos os dados de nossos modelos padronizados, isso teria demorado demais. Em vez disso, pegamos os dados do AP, resumimos apenas os dados de que precisamos (essencialmente, contagens de votos e identificadores) e enviamos tudo para o Amazon S3. Nós fazemos tudo isso no bash. Bash é muito, muito rápido, o que significa que durante as eleições gerais poderíamos publicar resultados em nível estadual para todo o país em cinco segundos.

Então, qual é o sentido de ter o grande banco de dados de fantasia, se nem mesmo usá-lo com os resultados ao vivo? Em nossas páginas de eleição, tratamos os dados de nosso banco de dados como um produto de dados separado. A maioria dos dados que modelamos – identificadores geográficos, nomes de candidatos, nomes de escritórios – não mudariam durante a eleição. Nós assamos tudo isso uma vez para um arquivo separado. Em seguida, juntamos nossos resultados ao vivo para esses dados no front-end. A diferença foram resultados que, de outra forma, demorariam alguns minutos para serem implantados, enviados aos leitores em questão de segundos.

Ao padronizar muitos desses dados antecipadamente, poderíamos investir em outros produtos de dados, como dados do censo e resultados históricos das eleições. Isso nos permitiu fornecer mais contexto para nossos leitores na noite da eleição. Para cada corrida em casa no país, poderíamos mostrar o histórico de votação, os perfis demográficos e até mesmo como distritos semelhantes estavam realizando em tempo real. Os dados que reunimos na cidadania tornaram todos esses dados contextuais extras possíveis.