Estou procurando determinar o distrito do congresso com base no endereço que meu usuário está fornecendo. Isso evitará que o usuário procure por si próprio.
Existe uma API desse tipo?
Nota
Através das minhas tentativas de encontrar uma, só encontrei estas:
http://www.govtrack.us/developers/api
(no entanto, não sabe como enviar um endereço ou código postal)Os seguintes recursos estão disponíveis na API
... Projetos de lei e resoluções no Congresso dos EUA desde 1973 (93º Congresso).
... Um par (conta, pessoa) indicando co-patrocínio, com datas de ingresso e retirada.
... Membros do Congresso e presidentes dos EUA desde a fundação do país.
... Termos de posse de membros do Congresso e presidentes dos EUA. Cada mandato corresponde a uma eleição, ou seja, cada mandato na Câmara abrange dois anos (um 'Congresso'), como Presidente, quatro anos e no Senado, seis anos (três 'Congressos').
... Votações por chamada no Congresso dos EUA desde 1789. Como as pessoas votam são acessadas por meio da API Vote_voter.
... Como as pessoas votaram em votação nominal no Congresso dos EUA desde 1789. Veja a API Vote. Filtre o campo de votação para obter os resultados de uma votação específica ...
http://www.opencongress.org/api
(parece ser uma maneira de encontrar informações do congresso, mas não distritos)Essa API fornece aos programadores acesso estruturado a todos os dados no OpenCongress, desde informações oficiais de contas a notícias e cobertura de blog, até votos gerados por usuários em contas e muito mais ...
O padrão desta API é retornar XML. Todas as consultas também podem retornar JSON ...
https://groups.google.com/forum/?fromgroups=#!topic/opendems-discuss/CeKyi_aANaE
(pergunta semelhante, sem resolução)Estive olhando Open Dems e vendo o que é exposto neste momento e o que não é. Eu trabalho com os democratas no exterior e estou interessado em usar coisas do laboratório em seus sites.
Eu rapidamente examinei a API do Precinct, que faz mais e menos do que eu precisava. Um recurso ideal seria qualquer forma de traduzir endereços em CD, no mínimo (obter dados do distrito estadual também seria bom), pois isso tornaria mais fácil para os membros da AD fazer a diferença em corridas como a corrida de NY26 do mês passado. .
Atualizar
Estou procurando a fonte do site govtrack.us e a função 'doGeoCode' pode ser útil.
view-source: http: //www.govtrack.us/congress/members
Se ninguém tiver sugestões, tentarei deixar de lado o que eles estão fazendo.
Respostas:
Eu não o usei, mas uma pesquisa rápida me levou à API do Congresso do Sunlight Labs. Confira o método districts.getDistrictsFromZip - parece ser o que você está procurando. Você pode obter melhores resultados (mais precisos) geocodificando o endereço por conta própria e, em seguida, usando districts.getDistrictFromLatLong - eu suponho que um determinado CEP possa cruzar os limites do distrito.
fonte
A API do Google Civics é a melhor solução. Um único hit na API oferece a você funcionários e distritos eleitos.
Você pode obter distritos por cabos de GPS (lat / lng) da seguinte forma:
https://developers.google.com/civic-information/docs/v2/representatives/representativeInfoByAddress
Você pode obter informações semelhantes em nível de estado usando o OpenStates :
"http://openstates.org/api/v1/legislators/geo/?apikey={0}&lat={1}&long={2}";
Adendos sobre a API do Google Civics caindo frequentemente
A API do Google Civics é vaga sobre se ela suporta lat / lng e, a cada poucos meses, apenas para de suportar lat / lng por mais ou menos um mês, até que alguém a relate e o Google perceba, ou mais especificamente, o funcionário provavelmente trabalhando nisso em seus avisos de voluntariado ("Chelan") e procura corrigi-lo:
https://groups.google.com/d/msg/google-civicinfo-api/0td48h7JxYA/Zhij3yQiCgAJ
Se o seu serviço espera que os dados da API do Civics falhem, e se exige que os dados da API do Civics sejam úteis, ele pode não falhar, mas será inútil por meses. A falha mais recente foi todo o período de votação para a maioria dos estados em 2018, portanto, esse é o tempo de inatividade.
Você pode jogar defesa invertendo explicitamente a geocodificação:
Então, aqui, analisamos o HTML5 usual, solicitando a localização do usuário e, se ele disser Não / Bloquear, mostramos a mensagem "Não foi possível obter sua localização" (com geoFail). Em seguida, temos o lat / lng, mas a API do Google Civics é irregular, portanto solicitaremos explicitamente o endereço ao Google. Isso volta como r [0] .formatted_address, que em algumas respostas o Google recomenda que você mostre ao usuário para confirmar o local que está pesquisando. Então colocamos isso na caixa de texto do endereço e enviamos via
loadReps(lat, lng, address)
.Observe que é possível que a chamada do geocódigo possa falhar (inclusive por causa de uma conexão com a Internet inadequada), mas, às vezes, a API do Google Civics está totalmente operacional, portanto, não é necessário negar ao usuário um resultado ainda neste cenário; o back-end que escrevi neste caso pode aceitar lat / lng e endereço opcional e tolerar o endereço ausente. Em seguida, ele tenta conversar com a API do Google Civics e, se não receber nada, precisa sobreviver a isso e informar ao usuário que a API do Civics está com defeito, desculpe.
Resposta Histórica
A API do Congresso da Sunlight Foundation * é apenas federal - sem nível estadual, se isso for importante para você. E [a Sunlight Foundation está encerrando, porque eles não querem duplicar os esforços do GovTrack.
A API do GovTrack * é mais completa. O deles
/role
é o mais próximo da sua pergunta:https://www.govtrack.us/developers/api#endpoint_role
Ele informa todos os atuais senadores e membros da Câmara e quando é a próxima eleição. Então você teria um fardo de filtragem.
Para coisas em nível de estado, você deseja o OpenStates.org, como:
http://openstates.org/api/v1/legislators/geo/?apikey= {0} & lat = {1} & long = {2}
https://openstates.org/
* Más notícias, tudo está desligando o tempo todo. A Sunlight Foundation encerrou sua API para evitar duplicar o trabalho de Govtrack. O Govtrack está encerrando o deles agora , para evitar duplicar o trabalho do ProPublica. Mas o Propublica's não parece fornecer distrito a partir da localização:
https://projects.propublica.org/api-docs/congress-api/
Então, espere, você pode dizer que isso não faz sentido, porque o site Represent do ProPublica , que é transferido do projeto Represent do encerramento do NYTimes, permite mapear um endereço e obter o distrito pelas cordas do GPS. E eles vinculam à API a partir dessa página. Bem enganado, porque essa página não usa sua API. De fato, ele usa a API de localização de distritos da Sunlight Foundation.
Que bagunça.
fonte
Percebo que essa pergunta é antiga, mas imaginei que pagaria dois centavos para quem ainda estivesse olhando.
Primeiro, algumas informações básicas. Os distritos do Congresso são extremamente específicos - até um endereço em si, não apenas na rua. Eu e meu vizinho do outro lado da rua poderíamos estar em diferentes distritos do congresso. É por isso que é tão importante obter um bom código ZIP + 4 para garantir que você coloque o endereço no distrito correto. Um sistema (como SmartyStreets ou Melissa Data ou QAS, etc.) que efetua a validação de endereço forneceria um ZIP + 4 confiável para garantir que o distrito esteja correto.
O SmartyStreets possui sua API LiveAddress , que retorna dados do congresso junto com mais de 40 outros pontos de dados (geocódigos, residencial x comercial, etc.).
fonte
O Melissa Data cria ferramentas para verificação de endereços que incluem informações sobre distritos políticos. Não sei se eles têm uma API pública; o link acima o levará a uma página de busca de endereço. Eles oferecem um número limitado de pesquisas gratuitas que podem ser aumentadas com uma assinatura . Por favor, verifique os termos de uso antes de colocar isso em um aplicativo de produção.
Embora seus dados sejam atualizados mensalmente, notei que alguns deles não refletem a redistribuição recente.
Muitos estados têm essas informações disponíveis, mas duvido que exista alguma consistência em sua implementação.
fonte