Bancos de Dados Geográficos

Na última década, o uso de dados geoespaciais tem sido cada vez mais comum nas aplicações do cotidiano, bem como nas diversas áreas do conhecimento. Esses dados são fundamentais em tomadas de decisão, em problemas ambientais e sócio-econômicos. Além disso, há uma maior disponibilidade de dados geoespaciais em conseqüência da adoção de políticas de dados abertos por inúmeras agências espaciais, instituições de pesquisa e iniciativas baseadas em sistemas colaborativos (VGI, Crowdsourcing, Citizen Science). Como reflexo, temos uma grande quantidade de tecnologias disponíveis para armazenamento, análise, visualização e disseminação desse tipo de dado. Portanto, a utilização efetiva de dados e tecnologias geoespaciais tem sido um fator decisivo para o sucesso de empresas, órgãos do governo e desenvolvimento de pesquisas inovadoras. Esse curso irá fornecer os fundamentos teóricos e práticos para o tratamento de dados em sistemas de bancos de dados, com ênfase em dados geoespciais.

PostgreSQL

Nessas notas de aula, o aluno irá aprender o uso das funcionalidades presentes em um servidor típico de bancos de dados, como o PostgreSQL, para trabalhar no domínio geoespacial. O PostgreSQL é um sistema gerenciador de banco de dados objeto-relacional, gratuito e de código fonte aberto, desenvolvido a partir do projeto Postgres, iniciado em 1986, na Universidade da Califórnia em Berkeley, sob a liderança do professor Michael Stonebraker.

PostGIS

Iniciaremos o curso por uma revisão dos conceitos básicos em sistemas de bancos de dados relacionais (SGBD-R). A seguir, a aula sobre Tipos de Dados e Operações Espaciais tem como objetivo fornecer os fundamentos teóricos e a prática necessária para lidar com a componente geoespacial tanto em sistemas de bancos de dados quanto em linguagens de programação. Para tal apresentamos diversos exemplos em SQL com o uso do PostgreSQL e PostGIS. O PostGIS é uma biblioteca de software livre, sob a licença GNU GPL versão 2 (GPLv2), que fornece ao SGBD PostgreSQL uma extensão geoespacial.

No Capítulo Consultas Espaciais, apresentamos diversas estratégias para manipulação do dado geográfico, cobrindo desde os tipos mais comuns de consulta, como apontamento (point query) e janela (window ou range query), até junções espaciais e overlay. Também fornecemos exemplos práticos de como acelerar as consultas espaciais para grandes volumes de dados ou coleções com objetos com grande número de vértices.

Para desmistificar o comportamento dos atuais SGBDs, discutimos em detalhes Algoritmos Geométricos e Estruturas de Dados e Métodos de Acesso Multidimensionais.

Por último, a aula sobre Programação do Lado do Servidor de Bancos de Dados tem como objetivo fornecer ao aluno conceitos e técnicas de programação em bancos de dados que o auxilie em atividades de pesquisa e desenvolvimento, principalmente, para aqueles que precisarão lidar com grandes quantidades de dados. Essa parte das notas de aulas são baseadas no manual do servidor PostgreSQL, disponíveis livremente e com seções com maiores detalhes do que os apresentados aqui. A Seção Triggers e Relacionamentos de Integridade Espacial mostra como implementar em PL/pgSQL os relacionamentos de integridade espacial entre tabelas com coleções de feições.

Espera-se que o aluno aproveite a oportunidade no curso para aprofundar seus conhecimentos sobre bancos de dados, além de exercitar esse conhecimento adquirido em um ambiente real como o PostgreSQL.

Atenciosamente,
Gilberto Ribeiro de Queiroz
São José dos Campos, 01 de Outubro de 2022

Referências Bibliográficas

Listas de Exercícios:

Informações Gerais:

Agradecimentos:

Índices e Tabelas