Tengo un archivo sqlite de mi aplicación Wigle para Android (wiglewifi.sqlite). No es un archivo espacial, solo tablas con lat / lon y otros datos.
Puedo agregar capas de espacialidad muy bien, pero parece que no puedo encontrar una manera de agregar esta tabla de la misma manera que agregaría una capa de texto delimitado: ¿cómo puedo hacer esto?
Aclaración: es posible agregar como una tabla (según la respuesta de @ Giovanni-Manghi a continuación), O es posible exportar la tabla como un CSV y luego agregar como una capa de texto delimitado, pero idealmente me gustaría una capa de puntos basada directamente en la tabla SQLite (de la misma manera que en ArcGIS, agregaría una tabla y luego haría clic derecho y "Mostrar datos XY ...")
fuente
InitSpatialMetadata
para convertir la base de datos sencilla sqlite3 en espacial, merece ser mencionado Tienes que hacerlo en la transacción o agregar argumento1
(select InitSpatialMetadata(1)
), de lo contrario, toma mucho tiempo (media hora en mi computadora).Dado que QGIS puede leer capas de OGR, intente usar el formato virtual de OGR: http://gdal.org/ogr/drv_vrt.html .
Cree un archivo de texto con el siguiente contenido y ábralo como capa vectorial en QGIS (Capa -> Agregar capa vectorial). Simplemente reemplace el nombre de la tabla, así como los nombres de columna de latitud y longitud de acuerdo con la tabla de su base de datos. Se recomienda almacenar el archivo con el sufijo .vrt
fuente
Utilice el cuadro de diálogo estándar "agregar vector ..." o arrastre y suelte el archivo .db en el lienzo de QGIS.
fuente
Manera artesanal: a) a la manera de @ Giovanni-Manghi, más b) Importa el XYlayer nuevamente a tu SQlite, luego c) Borra la tabla anterior en tu SQlite
fuente