3.4. PostGIS Geometry
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. Inicialmente, esta extensão foi desenvolvida pela empresa Canadense Refractions Research, para suportar os tipos geométricos e operadores espaciais da OGC Simple Feature (Seção 3.2), bem como fornecer um mecanismo de indexação baseado nas Árvores-R. No entanto, com a evolução dessa extensão, a implementação passou a adotar o padrão ISO/SQL, relativo a SQL multimedia and application packages - Part 3: Spatial [24]. Assim, o PostGIS além de fornecer os tipos existentes na OGC-SFS, também suporta os tipos circulares e compostos da ISO/SQL.
Nos últimos anos, a extensão PostGIS passou a integrar diversas outras funcionalidades, como suporte a dados matriciais através do módulo PostGIS Raster, do módulo SFSCGAL para trabalhar com dados em 3D, entre vários outros módulos. A Figura Figura 3.5 mostra o PostGIS como uma extensão do SGBD PostgreSQL, integrando as bibliotecas GEOS, Proj, GDAL e CGAL. Repare que o servidor PostgreSQL possui todos os elementos para análise sintática das consultas, para definir os planos ou estratégias de execução das consultas, bem como cuidar do gerenciamento dos dados em disco e memória.
Neste curso, utilizaremos o PostgreSQL versão 14.5 e sua extensão geográfica PostGIS 3.3.1 para exemplificar as funcionalidades presentes em um servidor típico de bancos de dados capaz de suportar o domínio geoespacial.
Nota
Para este curso, preparamos algumas notas explicativas de como instalar o PostgreSQL e sua extensão PostGIS no Linux Ubuntu. Para maiores informações, consulte a Seção 1.2.
Esta seção introduz o tipo PostGIS Geometry, isto é, geometrias no Plano Cartesiano (Figura 3.6). Logo, as operações são realizadas em 2D, mesmo quando a geometria possui valores de coordenada \(z\) ou \(m\). Além disso, as operações como área e perímetro são realizadas na unidade do sistema de referência espacial associada à geometria.