O que é o PostGIS?#
O PostGIS é uma extensão espacial para o PostgreSQL, um sistema de banco de dados relacional gratuito e de código aberto. O PostGIS permite que recursos espaciais (por exemplo, pontos) sejam armazenados em tabelas com atributos não espaciais (por exemplo, nome). E como o PostgreSQL é um banco de dados relacional, você pode criar relacionamentos entre tabelas. O PostGIS suporta dados vetoriais e raster e fornece consultas de localização em SQL, como buffer (por exemplo, buffer a uma certa distância de um recurso como um ponto) e interseções (por exemplo, os recursos se sobrepõem?). O PostGIS torna o PostgreSQL o banco de dados espacial mais completo disponível, com suporte para objetos e consultas 3D, topologia de rede, servindo blocos vetoriais e muito mais.
O PostGIS é poderoso quando instalado localmente para um especialista em GIS, mas seu poder para um ambiente empresarial é que ele permite que usuários em uma organização recebam suas próprias credenciais PostgreSQL, funções atribuídas e permissões. Usuários administradores podem dar a alguns usuários permissões somente de visualização em todas as tabelas e dar a outros permissões de edição em certas tabelas. Quando os usuários efetuam login com suas credenciais PostgreSQL no QGIS, os recursos de edição serão desabilitados para quaisquer dados aos quais eles tenham apenas acesso de visualização. Qualquer número de usuários pode ser adicionado e não há taxas de licenciamento.
Uma breve visão geral de esquemas e tabelas#
Há muitos benefícios em usar um banco de dados para gerenciar dados espaciais. Um banco de dados como PostgreSQL/PostGIS é a espinha dorsal de um sistema empresarial, permitindo vários usuários, permissões e backups de dados. Ele também torna muito mais fácil organizar e manter dados ao longo do tempo, especialmente se você tiver vários projetos/mapas GIS que usam os mesmos dados espaciais.
Os esquemas facilitam a organização de dados em grupos lógicos. Por exemplo, no banco de dados que uso para os pequenos projetos nos quais estou trabalhando, geralmente armazeno todos os dados disponíveis publicamente que estou usando (por exemplo, limites de condados, cidades) no esquema público. Então, crio um esquema para cada projeto para armazenar dados específicos para esse projeto. Abaixo, você pode ver que criei um esquema para o mapa de cidades fantasmas no Condado de Otsego, Michigan. A indústria madeireira era enorme em Michigan na década de 1800. Muitas cidades surgiram e desapareceram junto com a madeira. A Otsego County Historical Society está atualmente escrevendo um livro sobre essas cidades e queria montar um mapa. Eu estarei usando os dados deles para exemplos ao longo do restante deste artigo.
Cada esquema tem suas próprias tabelas. As tabelas permitem que você armazene dados em colunas e linhas. Uma das colunas para dados espaciais será uma coluna de geometria ou geografia que armazena as informações espaciais para cada ponto de dados.
Dicas para tabelas PostGIS no QGIS
Há algumas coisas que você deve ter em mente para suas tabelas PostGIS que tornarão mais fácil trabalhar com elas no QGIS. O PostgreSQL dobrará nomes de tabelas/colunas sem aspas para minúsculas. Se você esquecer esse detalhe, poderá acabar recebendo alguns erros irritantes relacionados a (o que você pensou que deveriam ser) nomes de tabelas em maiúsculas, então eu recomendo que você use apenas nomes em minúsculas e use sublinhados para separar palavras em seus nomes. Por exemplo, historic_railroad .
É uma boa prática ter uma chave primária em cada tabela e você evitará problemas no QGIS seguindo este padrão. Uma chave primária é uma coluna que armazena um identificador exclusivo para cada registro. É uma boa ideia definir colunas de chave primária para incremento automático.