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:

  1. Robusto;
  2. Cheio de funcionalidades importantes para análise espacial;
  3. Permite centenas de conexões simultâneas, sem problemas;
  4. 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:

  1. Definição da abrangência geográfica do projeto;
  2. Definição do modelo de dados;
  3. Construção do banco de dados com o cartobash;
  4. Setup de logging, issues, áreas de trabalho e funcionalidades de validação automatizadas;
  5. Construção do projeto padrão QGIS;
  6. Delegação de permissão para os analistas;
  7. 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!