Quando se trabalha com dados geográficos no QGIS, existem vários formatos de ficheiro que podem ser utilizados para armazenar camadas vetoriais. Dois formatos são particularmente comuns: Shapefile e GeoPackage.
O Shapefile é um formato histórico amplamente utilizado desde os anos 1990. O GeoPackage, mais recente, foi concebido para ultrapassar as limitações do Shapefile.
Neste artigo veremos as diferenças entre estes dois formatos e em que casos utilizar cada um deles.
1. Shapefile: um formato histórico
O Shapefile foi desenvolvido pela empresa Esri no início dos anos 1990. Durante muito tempo foi o formato padrão para a troca de dados geográficos.
Um Shapefile não é um único ficheiro, mas um conjunto de ficheiros.
Por exemplo:
routes.shp
routes.shx
routes.dbf
routes.prj
Estes ficheiros devem permanecer juntos para que a camada funcione corretamente.
2. Limitações do Shapefile
Apesar da sua popularidade, o Shapefile apresenta várias limitações importantes.
Comprimento dos nomes de campos
Os nomes dos campos são limitados a 10 caracteres.
Número de campos
O número de campos é limitado a 255.
Tamanho máximo
O tamanho máximo de um ficheiro é aproximadamente 2 GB.
Apenas um tipo de geometria
Um Shapefile pode conter apenas um tipo de geometria:
- pontos
- linhas
- ou polígonos.
Problemas de codificação
Os ficheiros DBF podem causar problemas de codificação de caracteres.
3. GeoPackage: um formato moderno
GeoPackage (GPKG) é um formato mais recente baseado numa base de dados SQLite.
Foi desenvolvido pelo Open Geospatial Consortium.
Ao contrário do Shapefile, um GeoPackage é um único ficheiro.
Exemplo:
dados.gpkg
Este ficheiro pode conter:
- várias camadas vetoriais
- dados raster
- tabelas de atributos.
4. Vantagens do GeoPackage
O GeoPackage apresenta várias vantagens importantes.
Um único ficheiro
Todos os dados são armazenados em um único ficheiro.
Nomes de campos mais longos
Os nomes dos campos não estão limitados a 10 caracteres.
Várias camadas no mesmo ficheiro
Um GeoPackage pode conter várias camadas.
Formato padrão aberto
O GeoPackage é um padrão OGC, amplamente suportado por software SIG.
Melhor gestão de codificação
Os problemas de codificação são muito menos frequentes.
5. Comparação rápida
| Shapefile | GeoPackage |
|---|---|
| formato antigo | formato moderno |
| vários ficheiros | um único ficheiro |
| nomes de campos limitados | nomes de campos mais longos |
| tamanho limitado | tamanho mais flexível |
| apenas um tipo de geometria | várias camadas possíveis |
6. Utilização no QGIS
No QGIS, geralmente recomenda-se utilizar GeoPackage para armazenar dados.
O Shapefile continua a ser útil para:
- troca de dados com software mais antigo
- alguns formatos administrativos herdados.
7. Limitações técnicas do Shapefile
O Shapefile ainda é muito utilizado hoje, mas possui várias limitações técnicas herdadas da sua conceção nos anos 1990.
| Limitação | Shapefile |
|---|---|
| comprimento dos nomes de campos | máximo 10 caracteres |
| número de campos | 255 |
| tamanho máximo | cerca de 2 GB |
| armazenamento de dados | vários ficheiros |
| codificação de caracteres | por vezes problemática |
| gestão de datas | limitada |
| várias camadas num ficheiro | impossível |
Exemplo
Um Shapefile chamado:
rede_transporte_urbano.shp
pode conter por exemplo:
rede_transporte_urbano.shp
rede_transporte_urbano.shx
rede_transporte_urbano.dbf
rede_transporte_urbano.prj
Se um destes ficheiros for eliminado ou movido, a camada pode deixar de funcionar corretamente.
Exemplo de problema frequente
Num Shapefile, um campo chamado:
population_total
será automaticamente truncado para:
population
Isto pode causar erros ou confusão em algumas análises.
8. Porque o GeoPackage é frequentemente uma melhor opção
O GeoPackage foi concebido para resolver estas limitações.
Com um GeoPackage:
- todos os dados são armazenados num único ficheiro
- podem existir várias camadas
- os nomes de campos podem ser mais longos
- a gestão de dados é mais robusta.
Exemplo:
dados_projeto.gpkg
Este ficheiro pode conter:
- estradas
- edifícios
- limites administrativos
- tabelas de atributos.
9. Porque um Shapefile contém vários ficheiros?
Muitos utilizadores ficam surpreendidos ao descobrir que um Shapefile não é um único ficheiro, mas um conjunto de ficheiros.
Um Shapefile inclui normalmente pelo menos três ficheiros principais:
| Ficheiro | Função |
|---|---|
| .shp | contém a geometria |
| .shx | índice das geometrias |
| .dbf | tabela de atributos |
Outros ficheiros também podem estar presentes:
| Ficheiro | Função |
|---|---|
| .prj | sistema de coordenadas |
| .cpg | codificação de caracteres |
Todos estes ficheiros devem permanecer na mesma pasta e com o mesmo nome.
Dica
Se receber um Shapefile, recomenda-se copiar todos os ficheiros associados (.shp, .shx, .dbf, .prj, etc.).
No QGIS pode converter facilmente um Shapefile em GeoPackage:
Clique direito na camada → Exportar → Guardar entidades como…
Depois escolha GeoPackage como formato.
FAQ
Qual é o tamanho máximo de um Shapefile?
Aproximadamente 2 GB.
Porque o meu Shapefile não abre no QGIS?
Isto pode acontecer se faltar um ficheiro essencial (.shp, .shx ou .dbf).
O GeoPackage substitui o Shapefile?
O GeoPackage é hoje considerado um formato mais moderno e flexível, mas o Shapefile continua a ser amplamente utilizado para troca de dados.
Conclusão
O Shapefile continua a ser um formato muito utilizado, mas apresenta várias limitações herdadas da sua antiguidade.
O GeoPackage é hoje um formato mais moderno, mais flexível e melhor adaptado aos projetos SIG atuais.
Na maioria dos casos, recomenda-se utilizar GeoPackage como formato principal para armazenar dados no QGIS.