9 votos

¿Cómo puedo añadir (y mapa) un no-espacial de la tabla de QGIS de SQLite?

Tengo un archivo sqlite desde mi Wigle aplicación de Android (wiglewifi.sqlite). No es un espacio de archivo, sólo las tablas con el lat/lon y otros datos.

Puedo agregar spatialite capas bien, pero no parecen encontrar una manera de agregar esta tabla en la misma forma que me gustaría añadir una capa de texto delimitado - cómo hacer esto?

Aclaración: Es posible añadir una tabla (como por @Giovanni-Mangui la respuesta de abajo), O es posible exportar la tabla en formato CSV y, a continuación, añadir una capa de texto delimitado, pero idealmente, me gustaría una capa de punto se basa directamente en la tabla SQLite (de la misma manera como en ArcGIS me gustaría añadir una tabla, a continuación, haga clic derecho y "Display XY de datos...")

9voto

Marc Puntos 230

No sé si esta es la respuesta que se desea, como no es un punto y haga clic en contestar, pero así es como yo lo haría probablemente.

En Spatialite, agregar una nueva geometría de la columna. Suponiendo que usted desea WGS84 (lat/lon)

AddGeometryColumn( yourTableName , geometryColumnName, 4326, 'POINT', 'XY')

A continuación, crear la geometría de WKT generados a partir de las coordenadas X/Y

update yourTableName set geometryColumnName = GeomFromText('POINT ('+latColumn=' '+lonColumn+')',4326)

Tal vez hay una manera de envolver en un qgis / spatialite / spatialite-gui función, como me parece que uso con bastante frecuencia, y es fácil conseguir que las comillas mal.

EDITAR \begin{cases}0&\mbox{if } a\ne b\\ \dfrac\pi2 & \mbox{if } a=b\end

De hecho, hay una más infalible que he descubierto recientemente - para la segunda declaración de uso:

update yourTableName set geometryColumnName = MakePoint(XColumn,YColumn,EPSG projectioncode)

5voto

Biz Puntos 11

Desde QGIS puede leer OGR capas, trate de usar OGR del Formato Virtual: http://gdal.org/ogr/drv_vrt.html .

Crear un archivo de texto con el siguiente contenido y abrir como capa de vector en QGIS (Capa -> Añadir Capa Vectorial). Basta con sustituir el nombre de la tabla, así como la latitud y la longitud de la columna de nombres de acuerdo a su tabla de base de datos. Se recomienda almacenar el archivo con el sufijo .vrt

<OGRVRTDataSource>
    <OGRVRTLayer name="table_name">
        <SrcDataSource>/path/to/your/sqlite.db</SrcDataSource> 
        <SrcLayer>table_name</SrcLayer> 
        <GeometryType>wkbPoint</GeometryType>
            <LayerSRS>WGS84</LayerSRS>
        <GeometryField encoding="PointFromColumns" x="lng" y="lat"/> 
    </OGRVRTLayer>
</OGRVRTDataSource>

1voto

nd. Puntos 231

Utilizar el estándar de "agregar vector..." cuadro de diálogo o arrastrar y soltar el .archivo de base de datos en el QGIS lienzo.

0voto

orluke Puntos 131

Artesano manera: a)@Giovanni-Mangui, más b) Importar el XYlayer de nuevo a su SQlite, entonces c) Borrar de la tabla anterior en su SQlite

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X