Tengo una base de datos espacial que creé que abarca varios años de datos sobre delitos. Para facilitar un escenario del mundo real en el que pueda simplificar la interacción para un usuario mediante la introducción de una Vista que simplemente limite el lapso de tiempo o qué tipos de delitos se devuelven, quiero saber si QGIS puede leer esta Vista como tal cualquier otra tabla espacial en mi base de datos. El punto aquí es que, obviamente, no quiero crear una tabla separada para cada Vista posible que pueda usar, y estoy tratando de hacerlo simple al no requerir que el usuario conozca la base de datos y el SQL apropiado para subconjugar los datos ellos mismos. Un flujo de trabajo similar en el mundo de ArcGIS podría estar creando archivos de capa separados que el usuario podría abrir en ArcMap que acceden a la base de datos (por ejemplo, SQL Server) y presentan solo el conjunto de datos limitado.
Creé una Vista en mi base de datos, pero no aparece en la lista de clases de entidad que puedo importar cuando me conecto a la db espacial en QGIS. ¿Quizás las vistas no se consideran espaciales? (Esto es algo que analizaré más adelante, pero pensé que ya lo había hecho; simplemente no recuerdo la conclusión). En cualquier caso, ¿cómo podría uno replicar el tipo de flujo de trabajo que quiero o la alternativa ArcGIS similar? ?
fuente
SELECT * FROM views_geometry_columns;
para ver lo que se necesita insertar. Más información en gaia-gis.it/spatialite-3.0.0-BETA/spatialite-cookbook/html/…Es posible que también deba colocar una ID única en la vista, similar a lo que se analiza aquí: en PostGIS, ¿es posible crear una Vista con una ID única?
fuente
registrar la vista en geometry_columns hoy en día (año 2015) parece requerir un campo adicional 'read_only' como este:
fuente
Para SpatialLite 4.x, se requieren dos cambios en la respuesta original: la adición de la
read_only
columna y el cambio de todos los valores insertados a minúsculas. El SQL actualizado se vería así:El
read_only
campo acepta 0 o 1. (Consulte el comentario de Sandro Furieri en Grupos de Google para obtener más aclaraciones).Se pueden encontrar más detalles sobre estos y otros cambios 4.x en la wiki de cambio a 4.0 .
fuente
NB: solo reemplace: nameOfView y geometryTable
fuente