Vantagens de usar spatialite sobre shapefile? [fechadas]

35

Achei o spatialite mais útil que os shapefiles, pois não possui as limitações do shapefile e também é portátil. Muitas pessoas aqui usam shapefiles para trocar dados e até mesmo os especialistas não conhecem esse novo formato.

Quais são as vantagens do uso de spatialite sobre shapefiles?

Pode ser usado em vez de shapefile?

Concentre-se apenas nos formatos portáteis, ou seja, que podem ser trocados usando pen drives. GML, GeoJSON, KML, CSV não são uma opção e não são diretamente editáveis ​​no GIS.

ATUALIZAÇÃO: Faz mais de 5 anos e o novo desenvolvimento é direcionado para o geopackage, que está relacionado ao spatialite.

Então agora a pergunta é mais como Vantagens de usar GEOPACKAGE sobre GEODATABASE?

neogeomat
fonte

Respostas:

27

Os shapefiles são o menor denominador comum da troca de arquivos de dados vetoriais GIS: envie um arquivo de shapefiles e você poderá garantir que alguém poderá criar um GIS básico a partir dele.

As vantagens do SpatiaLite incluem:

  • tudo está em um arquivo; nenhum dos shp / shx / dbf / idx / prj por confusão de camada.
  • lógica e dados podem ser incluídos, na forma de VIEWs e TRIGGERs.
  • índices espaciais incorporados, que permitem pesquisas rápidas em grandes áreas.
  • eles são sistemas de banco de dados reais (se um pouco limitados, principalmente em acesso multiusuário), sem a necessidade de habilidades administrativas de banco de dados.

Mas existem algumas desvantagens:

  • nem todo mundo pode usá-los.
  • eles ainda estão limitados principalmente a geometrias construídas a partir de nós e linhas retas; se você precisar de splines e superfícies, procure outro lugar.
scruss
fonte
8
Bom post, mas dois pontos sobre índices espaciais. Os shapefiles também podem ser indexados espacialmente, e segundo, é necessário ingressar explicitamente em um índice espacial Spatialite, o que pode levar a algumas consultas difíceis. Ainda prefiro mover dados em um banco de dados Spatialite, mas importá-los para um banco de dados PostGIS para aproveitar o seu planejador de consultas mais robusto.
precisa saber é o seguinte
22

Os arquivos de forma são vinculados a um tipo de geometria, para que você obtenha vários arquivos para um único projeto. Os nomes dos campos também são restritos devido ao uso de um formato de banco de dados antiquário.

Em spatialite, você pode armazenar todos os dados do projeto em um arquivo; e nomeie os campos como quiser (bem, quase).

A única desvantagem do spatialite é o rápido ciclo de atualização, dificultando a leitura ou gravação de dados gravados em outra versão (mais antiga).

AndreJ
fonte
15

Além da resposta do scruss, os shapefiles têm algumas limitações:

  • o comprimento máximo do nome do campo é de 10 caracteres
  • o tamanho máximo do arquivo (.dbf / .shp) é 2 GB
  • atributos numéricos são armazenados como caracteres (números inteiros / flutuantes), causando problemas em potencial com arredondamentos, etc.
  • Valores NULL são interpretados de maneira diferente entre sistemas
Oyvind
fonte
4

A maior vantagem, para mim, é o sistema de banco de dados relacional em um único formato de arquivo. Entre os muitos benefícios está o uso de funções espaciais para criar visualizações. Considere um caso em que você recebeu um conjunto de pontos e sua metodologia é armazenar em buffer a base de pontos em um atributo e, em seguida, testar a coincidência desses buffers com outros recursos geográficos. O uso desse fluxo de trabalho com shapefiles geralmente requer que cada operação seja mantida como outro shapefile. Agora, se algum dado fornecido for atualizado, você deverá executar a cadeia inteira novamente. Sem mencionar que em alguns ambientes os dados de entrada podem ser alterados sem o seu conhecimento. Isso não é um problema quando você confia nas visualizações SQL para operações de geometria. (Estou ciente de que existem ferramentas que solucionam esse tipo de problema com os shapefiles, mas a pergunta é sobre o banco de dados spatiaLite.)

Scro
fonte
2

Tudo o que está em um arquivo também é uma desvantagem: muito mais difícil de corrigir, se algo estiver quebrado. O tamanho do arquivo também parece começar a partir de 3,7 MB, mesmo para conjuntos de dados quase vazios. Eles também parecem suportar apenas texto, número inteiro e campos flutuantes. Sem data / hora ou campos booleanos. Pelo menos ao testar no QGIS 1.8

Uffe Kousgaard
fonte
11
O Spatialite possui tipos de data / hora, na medida em que possui tipos para qualquer coisa: Data e Hora Tipo de dados .
scruss
2
"O SQLite não possui uma classe de armazenamento reservada para armazenar datas e / ou horários" citados na página à qual você vincula. Sim, é possível armazenar qualquer coisa em um campo de texto, mas ainda é apenas texto, que precisa ser analisado antes que você possa fazer contas nele.
Uffe Kousgaard
Não você não; você pode fazer consultas como select * where date < '1980-01-01'e faz as contas para você.
scruss
o que significa que o texto é analisado. A alternativa é que a data seja armazenada como um número que seja entendido diretamente pelo mecanismo. Sem risco, você corre para 31 de abril ou quaisquer outros valores ilegais. Com o texto, ele deve ser traduzido para um número, antes que o operador <possa ser aplicado.
Uffe Kousgaard
11
@UffeKousgaard: Nos arquivos .dbf, numéricos (números inteiros / flutuantes) e às vezes datados armazenados como caracteres, portanto, no caso de análise, os shapefiles não têm nenhuma vantagem aqui.
Oyvind