Raster x Vector
Uma primeira distinção a ser feita, quando trabalhamos com mapas digitais, é a existência de dados vetoriais e dados raster.
Raster
O dado Raster é uma image, um mapa de pixels - um bitmap - com informações de cor em todos os pontos.
Uma imagem de 4x4 pixels, por exemplo:
| x || x || x || x |
| x || x || x || x |
| x || x || x || x |
| x || x || x || x |
Imagens de satélite e fotos aéreas são exemplos de dados Raster.
Vector / Vetor
Para informações mais "simples", utilizam-se vetores, que são arquivos infinitamente mais leves e fáceis de trabalhar, para determinados tipos de mapeamentos.
São possíveis formas de armazenamento de dados. Por exemplo, uma farmácia poderia ser definida com um ponto. Mas uma reserva florestal precisaria ser definida como um polígono... e uma estrada, como uma linha.
Shape x Banco de dados Espacial
Dentre os diversos formatos para armazenar mapas, o Shape, da ESRI, é o mais popular, servindo como um intercâmbio entre os vários programas. No entanto, é um formato proprietário. O mapa "Brasil", por exemplo, teria três arquivos:
- brasil.shp (contém a informação vetorial)
- brasil.shx (contém os índices)
- brasil.dbx (banco de dados associado ao vetor)
No entanto, como podemos ver acima, o banco de dados está separado do arquivo que contém o mapa. Isso significa que, para operações mais complexas, é necessário possuir um aplicativo que faça essa integração, permitindo a realização de joins entre tabelas e análise espacial.
Num banco de dados espacial, isso fica muito mais simples, pois a informação do vetor é apenas mais uma coluna, do tipo "geometry". Seria algo como:
BRASIL
| cod_estado | nome_estado | uf | pop_1991 | geometry |
| 01 | Amazonas | AM | 4099021 | polygon (010600000001000000010300000001000000E200000093E00...) |
Nesse número gigantesco estão as coordenadas (latitude e longitude) do polígono do estado, no caso, Amazonas - em um hexadecimal legível para o Postgis.
Padrões
Segundo o
Open Geospacial Consortium - OGC, são definidos 7 tipos para armazenamento, em WKT (well-known text):
- Ponto - POINT(0 0)
- Linha - LINESTRING(0 0,1 1,1 2)
- Polígono - POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))
- Multiponto - MULTIPOINT(0 0,1 2)
- Multilinha MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))
- Multipolígono - MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))
- Coleção de geometrias - GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2 3,3 4)))