Portal de dados abertos da cidade de Recife

18 nov de 2013, por OKBR

Compartilhar

Artigo gentilmente escrito por Bernadette Farias Lóscio (bfl ARROBA cin.ufpe.br) e Marconi Clementino (marconic ARROBA recife.pe.gov.br)

Lançado em Julho de 2013, o portal de dados abertos da Prefeitura do Recife (http://dados.recife.pe.gov.br) surgiu como uma iniciativa inovadora no que diz respeito à publicação de dados abertos municipais no Brasil. Esta iniciativa vem sendo liderada pela EMPREL, Empresa Municipal de Informática do Recife,  e conta com o apoio da prefeitura, bem como de diversos outros órgãos da administração pública municipal, além de contar com a colaboração de professores do Centro de Informática da Universidade Federal de Pernambuco (CIn/UFPE). Para a implantação do portal de dados abertos, foi alocada uma equipe multidisciplinar e fortemente comprometida com o projeto, o que contribuiu consideravelmente para o seu sucesso e para a sua conclusão em tempo recorde.

Etapas do processo de abertura de dados da Prefeitura do Recife

O projeto de implantação do portal de dados abertos do Recife pode ser dividido em grandes etapas, dentre as quais destacam-se: capacitação da equipe, identificação dos dados relevantes, coleta e transformação dos dados, instalação da ferramenta de catalogação, publicação dos dados e lançamento do portal. Com relação à capacitação da equipe, a EMPREL promoveu um treinamento para os funcionários, onde foram discutidos desde os conceitos básicos de dados abertos governamentais e principais etapas do processo de abertura de dados, até o uso de vocabulários comuns para a publicação de dados abertos. Para a realização do treinamento, a EMPREL contou com a colaboração do CIn/UFPE .

Para a identificação dos dados relevantes, foi feito um levantamento de todos os sistemas de informação disponíveis na EMPREL. Após esse levantamento inicial, foram escolhidas algumas áreas prioritárias para disponibilização dos dados, incluindo: saúde, educação e finanças. Uma vez que os dados relevantes foram identificados, teve início a etapa de coleta e transformação dos dados. Esta etapa foi bastante desafiadora, pois nem todos os dados estavam armazenados em bancos de dados, o que exigiu um grande esforço para sua localização e extração. Com relação ao formato para publicação dos dados, foram escolhidos os formatos csv e geojson, por serem formatos simples e de fácil de manipulação. Vale ressaltar que a EMPREL é a responsável pelos sistemas de informação e pelos sistemas de banco de dados de diversas secretarias e órgãos da administração pública, porém os dados não pertencem à EMPREL. Sendo assim, ao mesmo tempo em que buscavam-se os dados, também buscavam-se as autorizações para a sua publicação.

Portal de dados abertos de Recife http://dados.recife.pe.gov.br/

Portal de dados abertos de Recife http://dados.recife.pe.gov.br/

A atividade de transformação dos dados ocorreu de forma contínua, ou seja, a medida em que ocorria a coleta dos dados, estes já eram automaticamente convertidos para csv e/ou geojson.. Além dos dados propriamente ditos, também foram criados os arquivos de metadados, onde constavam as descrições dos campos, juntamente com os tipos de dados e valores permitidos. Cada conjunto de dados foi associado a um ou mais recursos de dados (i.e. arquivos csv ou geojson) e a pelo menos um arquivo de metadados.

A medida em que os arquivos de dados e metadados ficavam prontos, era realizada a publicação do conjunto de dados no CKAN, ferramenta escolhida para a catalogação dos dados. Durante o processo de publicação, a equipe teve o cuidado de acrescentar descrições significativas tanto para os conjuntos de dados quanto para os recursos, com o intuito de facilitar o seu entendimento e utilização. Também foram preenchidas as informações adicionais solicitadas pela própria ferramenta, como: mantenedor, autor e frequência de atualização.  Durante o processo de publicação, foram cadastrados os grupos e as organizações, os quais descrevem os domínios dos dados e os órgãos aos quais os dados pertenciam, respectivamente.

Instalação e configuração do CKAN

Uma atividade que foi desenvolvida em paralelo à todas as demais atividades diz respeito à instalação e configuração do CKAN. De maneira geral, esta atividade ocorreu sem maiores problemas, porém alguns pontos merecem ser discutidos. O primeiro deles diz respeito à falta de experiência, por parte da equipe de infra-estrutura, no ambiente Python, e em servidores Ubuntu, que é o servidor mais fácil e rápido para a instalação do CKAN. Sendo assim, foi feita a opção pela instalação no sistema CentOS, distribuição Linux mais difundida nos servidores da empresa. O CKAN foi disponibilizado com sucesso em dois ambientes: o de desenvolvimento e o de produção.

Outro ponto que merece ser enfatizado diz respeito ao grande número de conexões de banco de dados que são abertas pelo CKAN, o que gerou uma certa insatisfação e insegurança por parte da equipe de Banco de Dados. Para resolver este problema, inicialmente, foi alterada a configuração do módulo modwsgi do Apache, que, pela documentação de instalação, deixava dois processos do CKAN executando ao mesmo tempo, este número foi reduzido para um. Apesar do número de conexões abertas ter caído pela metade, o número ainda ficava entre 8 e 12, o que não é o habitual entre os sistemas da EMPREL. Para entender melhor o que estava acontecendo, foi necessário estudar o SQLAlchemy, solução utilizada pelo CKAN para mapeamento objeto-relacional SQL(vide Hibernate no Java). Uma vez que ficou clara a necessidade destas conexões, o próximo passo foi convencer a DBA responsável pelo banco de dados que este número não iria sobrecarregar o servidor PostgreSQL.

Após o ambiente instalado, a diretoria da EMPREL sugeriu mudanças na aparência do portal, a fim de que este tivesse uma identidade visual semelhante a do portal da transparência da cidade do Recife . Para realizar a personalização do portal, o arquivo css responsável pela aparência do CKAN foi copiado e modificado. Para isso, adicionou-se um novo tema, chamado “Recife”(cópia do padrão do CKAN), sendo realizada em seguida a personalização da aparência. Além disso, também surgiu a necessidade de remover a funcionalidade de registro de usuário externos.

Time de dados abertos de Recife

Time de dados abertos de Recife

Finalmente, com o intuito de facilitar a comunicação dos usuários do portal com o time de dados abertos, foi necessário fazer algumas implementações adicionais a fim de adicionar uma página de contatos, uma vez que o CKAN não vem com esta funcionalidade. Para isso, dentro dos pacotes do CKAN foi criado o controlador “recife” e novas funcionalidades passaram a ser desenvolvidas dentro dele. Com relação a questão de gerenciamento de conteúdo, não utilizamos nenhum sistema específico e todas as páginas adicionadas estão dentro da arquitetura do CKAN. A seguir, é apresentada uma lista com as principais modificações que foram feitas no CKAN:

  • Criação do tema “Recife”

  • Modificações de páginas de layout (cabeçalho e rodapé)

  • Criação e adição da página de contato com a validação de formulário e uso do reCAPTCHA

  • Adição e configuração de plugins e serviços para habilitação de:

    • Visualização de dados no formato CSV

    • API de pesquisa(datastore)

    • Visualização de dados geográficos

    • Google Analytics

  • Páginas de comentários por Grupo e Conjunto de Dados com o uso do Disqus (ex.: http://dados.recife.pe.gov.br/dataset/comments/rede-de-educacao-municipal)

  • Criação da página de aplicativos baseada na página de “related”. Página de aplicativos: http://dados.recife.pe.gov.br/apps

A experiência com a instalação e uso do CKAN foi bastante enriquecedora, mesmo para aqueles que nunca trabalharam com Python. De forma geral, o entendimento necessário da arquitetura e do código fonte do CKAN foi bastante rápido. Além disso, com a documentação disponível e as listas de discussões da OKFN todas as dúvidas foram sanadas. Como atividades futuras relacionadas ao CKAN, destacam-se a realização da carga dos recursos de forma automática por meio das APIs disponibilizadas pelo CKAN e criação de um painel com o histórico dos últimos recursos inseridos ou atualizados.

Iniciativas de fomento ao uso dos dados abertos

Visando fomentar o uso dos dados disponíveis no Portal de Dados Abertos, logo após o lançamento do portal, a Prefeitura do Recife promoveu a realização de um Hackathon, que ocorreu durante a realização da Campus Party Recife. 56 equipes inscreveram-se na maratona, das quais 27 apresentaram trabalhos e concorreram a premiação. Na etapa final, foram selecionados os 06 melhores aplicativos, os quais apresentaram soluções usando diferentes conjuntos de dados (ex: pontos turísticos, árvores tombadas e postos de saúde). Como outra forma de fomentar o uso dos dados abertos, foi lançado um concurso, Cidadão Inteligente .Rec, visando estimular o desenvolvimento de aplicativos que façam uso dos dados abertos do Recife. O concurso também tem uma categoria para projetos conceituais que usem TIC.

Conclusões

Atualmente, o portal de dados abertos do Recife conta com 146 recursos disponíveis, 31 conjuntos de dados de domínios diversos, os quais estão classificados em 08 grupos, incluindo cultura, educação, finanças, meio ambiente, mobilidade, saúde, turismo e urbanismo.  O time de dados abertos continua trabalhando ativamente na busca de novos conjuntos de dados, bem como na implementação de melhorias para a versão atual do portal e da iniciativa de dados abertos de uma maneira geral.