Una consola SQL en QGIS

22

Sé que QGIS viene con su calculadora de campo, que no está mal. También viene con ftools que permite varias operaciones en geometría y atributos. Pero a menudo necesitamos más control y no he visto ninguna herramienta conveniente en QGIS para realizar tales operaciones (donde puede seleccionar los campos que necesita, por ejemplo, o realizar operaciones aritméticas en ellos mientras realiza una consulta espacial).

Básicamente, me gustaría saber si una consola SQL (una especie de ventana mapbasic de Mapinfo) está en la hoja de ruta de QGIS y, de no ser así, sería difícil codificarla como complemento. Si todavía existe, hágamelo saber, ¡me lo he perdido! ;-)

simo
fuente
44
Esto realmente no parece una buena pregunta para este sitio. Sería mejor ponerlo a los desarrolladores de QGIS en una de sus listas de correo. Una mejor pregunta podría ser cómo hacer una cosa específica u obtener un cierto resultado con QGIS. Las preguntas sobre las características planificadas se volverán discutibles e inútiles o incluso incorrectas a tiempo.
Sean
1
¡FastSQL es increíble! Especialmente que puede reemplazar la capa que está viendo de inmediato. Esto agrega un poder extraordinario a QGIS conectado a PostGRES. Sin embargo, he encontrado un problema, y ​​ese es el uso de los operadores espaciales. Puedo realizar consultas SQL básicas en FastSQL, pero ninguna de las consultas espaciales para. Por ejemplo, esta consulta funciona solo busque en el complemento DB Manager: seleccione * de humedales, cuencas donde st_intersects (wetlands.geom, watersheds.geom) pero, cuando lo intento en FastSQL, dice que no es una capa válida y no puede ser agregado al mapa. Estoy pensando que hay algo pr
Pasé mucho tiempo para encontrar la manera de hacerlo en QGIS 2.0. La mayoría de las respuestas aquí y en google están desactualizadas. @Simo: ¿Puedes verificar la respuesta de HeyOverThere como la mejor respuesta? Será más fácil para los próximos lectores encontrar la nueva respuesta correcta.
Nicolas Boisteault
Esto se hace (con un comentario adicional)
simo
¿Puedes decirnos por qué la respuesta no te satisface por completo?
Nicolas Boisteault

Respuestas:

10

El nuevo complemento DB Manager ahora es una parte estándar de QGIS desde 1.8 en adelante. Tiene autocompletado, resaltado de sintaxis, y puede agregar capas creadas a partir de una consulta espacial a su mapa.

En 1.9 (la versión de desarrollo para 2.0) DB Manager agrega funciones de importación / exportación que son bastante útiles.

HeyOverThere
fuente
No estoy satisfecho con esta respuesta porque estaba buscando una herramienta integrada que funcione independientemente del formato de datos, pero como dijo @ Nicolas-Boisteault, aceptar esta respuesta puede llevar a otras personas en la dirección correcta. ¡Yo espero que sí!
simo
10

El complemento RT Sql Layer puede hacer lo que quieras (pero no es una consola).

ingrese la descripción de la imagen aquí

También puede usar la consola de Python: la instrucción 'PostGIS' select 'como capa vectorial en QGIS'

bajo oscuro
fuente
Gracias poco oscuro. También conozco ese complemento pero depende del uso de la capa Postgis. En realidad, me gustaría tener una herramienta que no sea dependiente del formato de entrada (como proponen orbisgis, vea la publicación de agemen)
simo
3
Veo. No he oído hablar de tales planes. Tal vez un complemento que use spaceialite en segundo plano podría ser un enfoque. Este podría ser un tema para Google Summer of Code.
oscuro
¿Debo agregarme una solicitud en qgis.org/wiki/Google_Summer_of_Code_2011 ? No estoy seguro de no poder crear una cuenta en la página wiki de gqis.
simo
Puede solicitar en la lista de correo del usuario obtener una cuenta wiki. (Tuvimos problemas de spam). Al mismo tiempo, puede pedir a otros usuarios / desarrolladores opiniones sobre el tema.
oscuro
1
@Nathan> Bien, estás siguiendo esa publicación. Realmente debería enviar la idea en la lista de desarrolladores qgis (excepto si ya lo hiciste). Usar un SQL estándar para consultar cualquier tipo de datos es simplemente fantástico (ver orbisgis ).
simo
7

hay un nuevo complemento disponible: Fast SQL Layer.
Abre una consola sql acoplada con resaltado de código.

Pablo
fuente
1
muy bueno, un buen comienzo! Nota: depende de Pygments (por lo tanto, para los usuarios de OSGeo4W, hay algunos pasos manuales para construir / instalar esto)
Mike T
1
Sí, por ahora la solución es copiar los pigmentos a la carpeta de paquetes del sitio de las instalaciones de osgeo4w. Funcionó para mi. Pronto lanzaré una versión actualizada para resolver eso.
Pablo
1
Descargué y extraje Pygments-1.4.tar.gz, luego en un shell OSGeo4W dentro del Pygments-1.4directorio, escriba python setup.py buildluegopython setup.py install
Mike T
2

No conozco esa herramienta en QGIS. Sin embargo, otro software GIS de código abierto ofrece tales capacidades, que se llama OrbisGIS: http://www.orbisgis.org

Desafortunadamente, como uno está escrito en C ++ y el otro está en Java, ciertamente sería difícil vincularlos ... :-(

Agemen
fuente
En realidad, también soy un usuario de orbisgis (soy un ex alumno de STEU) ;-): cambio de uno a otro ... y creo que su consola SQL es tan eficiente que me gustaría tener lo mismo en qgis ( ¡Mencioné mapbasic en mi pregunta porque es más conocida!). Orbisgis permite un control total a través de la consola SQL, pero puede llevar tiempo realizar algunas operaciones básicas. Por el contrario, Qgis está diseñado para realizar fácilmente algunas operaciones básicas, pero dificulta las operaciones de control total.
simo
Entiendo lo que quieres decir ... Afortunadamente, la última versión de OrbisGIS agrega autocompletado en la consola SQL. Y estamos trabajando para agregar la capacidad de realizar operaciones básicas fuera de la consola SQL.
Agemen