Boa noite pessoal!
Hoje vamos falar um pouco sobre a metodologia da SIGMA referente a cartografia de larga escala.
Bem, a definição de larga escala pode variar de projeto para projeto, mas geralmente estamos falando de áreas com milhares de objetos geográficos (ou feições) em uma escala de até 1:10.000.
Vou comentar primeiramente da nossa experiência e logo depois irei comentar das ferramentas que desenvolvemos para auxiliar os analistas de geoprocessamento e a gerência a ter uma visão completa do projeto.
Nossa experiência
A SIGMA Geosistemas já executou diversos projetos que podem ser considerados como cartografia de larga escala. Em uma conta rápida, estimo aproximadamente entre 60 e 70 mil km2 mapeados, utilizando apenas tecnologias livres, distribuídos entre os diversos projetos executados.
Uma breve descrição sobre nosso stack tecnológico:
- PostgreSQL + PostGIS;
- pgpool;
- QGIS (diversas versões);
- cartobash;
- X9 (monitor de progresso);
O PostgreSQL com o PostGIS, é sem dúvida, o banco de dados geoespacial mais capaz do mercado. Ele é nossa principal arma para este tipo de projeto, pois é um banco de dados:
- Robusto;
- Cheio de funcionalidades importantes para análise espacial;
- Permite centenas de conexões simultâneas, sem problemas;
- Fácil de configurar e manter;
Junto ao PostgreSQL, para ajudar a manter estas centenas de conexões simultâneas (cada usuário pode abrir mais de uma conexão ao banco), usamos o pgpool. Ele é responsável por criar um pool de conexões, sem termos a necessidade de recriamos cada conexão a todo momento. Isto nos traz robustez e aumenta o desempenho.
Em cima disto tudo, a estrela: QGIS, de preferência uma versão recente.
O cartobash e o X9 são ferramentas abertas que a SIGMA desenvolveu para auxiliar nesta tarefa.
O cartobash é uma ferramenta escrita basicamente em shell script, que automatiza diversas partes da construção de novos bancos de dados, configuração de logging, backups e issues.
Além disso, o cartobash gerencia versões padrões de projetos QGIS, permitindo que cada analista gere seu arquivo de projeto, insira rapidamente sua senha e configure as diversas camadas daquele projeto.
O X9 é um experimento escrito em Python e Django para ajudar a monitorar o que está sendo feito pelos analistas, em tempo real.
Ele consulta a base de dados e a base de logs, para determinar qual é o total de edições realizadas naquele dia, qual é a porcentagem de progresso do projeto, entre outras métricas interessantes.
Descrita as ferramentas, passamos para a metodologia!
Metodologia
Em temos gerais, passamos pelas seguintes etapas:
- Definição da abrangência geográfica do projeto;
- Definição do modelo de dados;
- Construção do banco de dados com o cartobash;
- Setup de logging, issues, áreas de trabalho e funcionalidades de validação automatizadas;
- Construção do projeto padrão QGIS;
- Delegação de permissão para os analistas;
- Mãos a obra!isto
Para o início de todos os projetos, o primeiro passo é determinar seu modelo de dados e sua abrangência geográfica.
De posse dessas informações, já saberemos o quão complexo será a construção e digitalização dessa base de dados.
Neste ponto, com o modelo de dados principal, tabelas relacionados (ou auxiliares) prontas, configuramos o logging, issues e áreas de trabalho.
isto
Esta etapa é (e deve ser) automatizada. Tudo isto é feito pelo cartobash. Dividimos o projeto em sub-áreas, utilizando algumas funcionalidades do PostGIS e delegamos as mesmas para os analistas.
As issues também são configuradas nesta etapa. As issues ou não-conformidades são dados geográficos que podem ser utilizados pelos analistas e revisores, para marcar áreas que não estejam de acordo com o padrão de qualidade esperado.
Dependendo do tipo de projeto, configuramos as isto validações automatizadas, como regras topológicas, executadas a cada minuto, podendo ser visualizadas pelos analistas em tempo real.
UFA! O cartobash nos ajuda até aí, então é bem fácil de realizar isso tudo. Basta rodar um comando bash
e correr para o abraço.
A parte complicada, é construção do projeto do QGIS. O QGIS permite a construção de formulários customizados, com regras avançadas de relacionamento entre tabelas.
Por exemplo, um tipo de feição possui um campo chamado CLASSE
, que só pode ter um dos valores: A
, B
ou C
. Usando as ferramentas do QGIS permitem que você configure e limite as opções do analista, apenas a estas três.
Este é um exemplo simples, mas a partir desta configuração, o projeto padrão é disseminado entre os analistas, que inserem seu próprio usuário e senha do banco de dados.
A partir deste momento, devemos por a mão na massa.
Divisão em sub-áreas
Existe um desafio complexo ao trabalhar com projetos massivos como os que trabalhamos. A sensação de progresso experimentada pelos analistas é bastante pequena, quando não delegamos áreas menores para seus trabalhos.
Caso eles tenham liberdade para escolher as áreas de trabalho, sem uma limitação menor, a sensação de avanço do trabalho é pequena e acabam se desmotivando.
O segredo que permitiu aumentar a produtividade e aumentar a sensação de progresso entre os colaboradores foi a divisão do projeto em áreas menores, assinalando as mesmas a cada analista.
Apesar de funcionar, pode trazer alguns problemas, como a eventual correção de divergências entre as grades, mas em nossa experiência, essas correções são pequenas – fazendo esta estratégia valer a pena.
Conclusão
Neste post tentamos trazer para vocês um pouco nossa experiência com projetos de cartografia de larga escala.
Qual é a sua experiência? Comente conosco!
E você? tem algum projeto de cartografia de larga escala e precisa de ajuda? Conte conosco.
Um abraço!