¿Usando GeoPackage en lugar de SpatiaLite y viceversa?

36

Estoy usando ahora QGIS 2.18, que incluye soporte para el formato GeoPackage.

Sé que GeoPackage es como un reemplazo para Shapefile, pero no del todo, ya que GeoPackage tiene capacidades de base de datos. Al mismo tiempo, GeoPackage no es un reemplazo completo de SpatiaLite, porque no tiene consultas y funciones espaciales. Además, Spatialite es compatible con GeoPackage.

Entonces, en el contexto de la edición de QGIS, ¿cuándo tiene sentido usar GeoPackage (y acceder a GeoPackage desde SpatiaLite para tareas de Spatial SQL), y cuándo es mejor usar solo Spatialite?

Pahbloo Marks
fuente
1
También estoy interesado en esta pregunta. Tenga en cuenta que el soporte de geopaquete actualmente está limitado debido a un error de bloqueo después de la primera edición.
hilpers
¿Pero esto ya estaba resuelto? No alentó problemas con el 2.18.
Mate
Desafortunadamente, uso 2.18.3
hilpers
Lo probé con 2.18.3 con el procedimiento escrito en el viejo rastreador de errores y no pude reproducirlo. ¿En qué circunstancias tienes el problema?
Mate
También experimento el error de bloqueo después de la primera edición con GeoPackage, pero solo cuando uso la nueva importación DWG / DXF en 2.18.3. Puedo importar con éxito el DWG e inicialmente editar el GeoPackage creado (por ejemplo, para georreferenciarlo con el complemento Vector Bender). Pero una vez que cierro el proyecto QGIS y vuelvo a abrir, el botón de edición de alternar está atenuado y GeoPackage no se puede volver a editar.
Rob Willson

Respuestas:

33

Una pequeña comparación entre GeoPackage y SpatiaLite en QGIS. Hasta el momento, no es realmente productivo usar GeoPackage con QGIS. Sin embargo, puede cambiar bastante rápido (¡vea las adiciones!).

Algunas adiciones con respecto al nuevo alias QGIS 2.99 QGIS 3, noviembre de 2017 (también agregado en comparación): GeoPackage ahora funciona casi sin ningún problema en QGIS 3. Encontré algunos problemas menores que pueden referirse a la versión de desarrollador de QGIS. También se resuelve el problema más problemático para SpatiaLite. Las columnas se pueden eliminar ahora sin ninguna solución adicional. Ambos aún no admiten la escritura de ráster a través de la GUI, lo que no es un gran problema ya que los rásteres en una base de datos no son la intención principal. Ambos formatos son realmente buenos formatos de trabajo. El enfoque para GeoPackage es el formato de transporte y para SpatiaLite un sistema de base de datos basado en archivos fácil con muchas herramientas para construir un almacenamiento de datos local (ya que es más un RDBMS que un formato de archivo).

Ambos tienen:

  1. transaccional
  2. SQL y vistas (pero las vistas se implementan de manera diferente en el uso del software)
  3. capas de vectores "todo en uno", simbología y texto, ráster
  4. tablas de atributos casi sin restricciones en comparación con el shapefile
  5. necesita un VACÍO de vez en cuando (almacenamiento de datos específicos de la base de datos)
  6. La mayoría de los tipos de geometría (como curvas)

GeoPackage:

  1. es un estándar OGC basado en SQLite, significa que la implementación debería ser más consistente en diferentes programas; por ejemplo, la simbología podría funcionar en QGIS y ArcMap en el futuro cuando se usan estilos SLD
  2. bastante joven (2014), algunos problemas con QGIS hasta 2.18 (actualización: buen soporte en QGIS 3)
  3. permite la eliminación fácil de columnas en QGIS para usuarios "normales" que se oponen a SpatiaLite
  4. en este momento DB-Manager no funciona muy bien con él y el soporte de ráster se limita a leer un solo ráster integrado (sin escribir en él) (usando QGIS 2.18.3) (actualización: DB-Manager ahora funciona bien con geopaquete)
  5. las vistas no funcionan en QGIS, pero a través de la capa virtual no es un gran problema cuando no se usa para compartir entre muchos usuarios (actualización: todavía no hay vistas, ya que QGIS 3 puede crear vistas pero no puede leerlas después)
  6. Las herramientas de geoprocesamiento no permiten agregar archivos existentes (solo reemplaza el archivo completo) (actualización: funciona ahora)

SpatiaLite:

  1. es una extensión de SQLite, implementada de manera diferente en el software GI (principalmente debido a problemas con el controlador y la versión)
  2. mucho más antiguo y hasta ahora mejor integrado en QGIS
  3. en QGIS no puede eliminar columnas sin una consulta SQL que no sea complicada, pero para algunos usuarios ya tiene demasiado "código" (actualización: QGIS 3 hace esto ahora)
  4. archivo bastante grande cuando solo tiene una mano llena de geometrías, no es tan bueno como formato de transporte pero para el almacenamiento de la base de datos local (comienza con algo alrededor de 5 MB)
  5. Muchas herramientas adicionales (vistas, pueden crear redes de carreteras, muchos formatos de importación / exportación, ST_Queries y más)
Mate
fuente
¿Planea usar GeoPackage o SpatiaLite solo con QGIS o con otro software también? SpatiaLite también es compatible con todo esto gaia-gis.it/gaia-sins/spatialite-sql-latest.html independiente sin QGIS.
user30184
Utilizo principalmente SpatiaLite junto con QGIS, pero también con SpatiaLite-GUI. Lo presento en mis cursos de capacitación para QGIS. El único punto es el problema de eliminar columnas para los principiantes. No lo introduzco en los entrenamientos de ArcGIS ya que tienen la base de datos de FileGeo allí que es obligatoria en algunas autoridades (en el 10% donde no es el archivo de forma lo que sigue siendo el estado del arte ...). Empecé a anunciar GeoPackage en los cursos avanzados de QGIS, pero con los inconvenientes escritos anteriormente. Pero como GDAL tiene una buena implementación, no puede pasar mucho tiempo hasta que QGIS tenga los botones necesarios.
Mate
Como usted dice, su comparación es sobre el uso de QGIS. Me gustaría enfatizar que juzgar si SpatiaLite o GeoPackage es mejor en el caso de la "columna de caída" es muy específico de QGIS. SQLite en sí no es compatible con esta operación directamente sqlite.org/lang_altertable.html . Las mismas soluciones funcionan tanto para SpatiaLite como para GeoPackage, incluso algunos programas pueden perder los botones.
user30184
1
Lo puse en el contexto de la pregunta original donde se trataba de QGIS. El punto con la columna fue un ejemplo donde espero que el estándar conduzca a un uso más consistente en los programas, ya que este es un tema para el usuario "normal". No estoy seguro de si esto será posible con SpatiaLite ya que el nivel de integración es muy diferente incluso después de varios años. Al final para mí conducirá al punto en el que podría ser un nuevo formato de transporte estandarizado (GeoPackage). SpatiaLite se parece mucho más a un SIG con sus funciones integradas (consultas ST, muchas opciones de importación de datos, red ...).
Mate
Tanto GeoPackage como SpatiaLite están basados ​​en SQLite.
Matthias Kuhn el