19.2. Lesson: Usando o Gerenciador BD para trabalhar com bancos de dados espaciais no QGIS

Já vimos como realizar muitas operações de banco de dados com o QGIS, bem como com outras ferramentas, mas agora é hora de olhar para a ferramenta Gerenciador BD que fornece grande parte destas mesmas funcionalidades, bem como mais ferramentas de gestão orientadas.

A meta para esta lição: Aprender como interagir com bancos de dados espaciais usando o Gerenciador BD do QGIS.

19.2.1. basic Follow Along: Gerenciando Base de dados PostGIS com Gerenciador BD

Você deve primeiro abrir a interface do Gerenciador BD selecionando Base de Dados –> Gerenciador BD –> Gerenciador BD no menu ou selecionando o ícone Gerenciador BD na barra de ferramentas.

dbManager

Você também deverá ver as conexões anteriores que nós configuramos e ser capaz de expandir a seção myPG e seu esquema public para ver as tabelas com as quais trabalhamos na seção anterior.

A primeira coisa que irá notar é que agora você pode ver os metadados dos esquemas contidos em sua base de dados.

../../../_images/db_manager_dialog.png

Schemas are a way of grouping data tables and other objects in a PostgreSQL database and a container for permissions and other constraints. Managing PostgreSQL schemas is beyond the scope of this manual, but you can find more information about them in the PostgreSQL documentation on Schemas. You can use the DB Manager to create new Schemas, but will need to use a tool like pgAdmin III or the command line interface to manage them effectively.

O Gerenciador BD pode também ser usado para gerenciar tabelas do seu banco de dados. Nós já vimos várias maneiras de criar e manipular tabelas na linha de comando, mas agora vamos ver como fazer isso usando o Gerenciador BD.

Para começar, é interessante dar uma olhada nos metadados da tabela clicando no nome da mesma na árvore e verificando a guia Info.

../../../_images/table_info.png

Neste painel você pode ver as Informações gerais sobre a tabelas bem como as informações que a extensão PostGIS mantém sobre a geometria e o sistema de referencia espacial.

Se você rolar para baixo a guia Info, poderá ver mais informações sobre Campos, Restrições e Índices relacionados a tabela selecionada.

../../../_images/table_info_fields.png

Também é muito útil usar o Gerenciador BD simplesmente para ver os registros no banco de dados de maneira parecida com que pode-se ver a tabela de atributos de uma camada na Árvore de Camadas. Você pode navegar pelos dados selecionando a guia Tabela.

../../../_images/table_panel.png

Há também a guia Pré-visualizar que mostra a camada em uma pré-visualização de um mapa.

Clicando com o botão direito em uma camada da árvore e selecionando Adicionar à tela irá adicionar essa camada ao mapa.

Hasta ahora sólo hemos visto los esquemas, tablas y sus metadatos de la base de datos, pero lo que si queríamos era modificar la tabla para añadir una columna más, tal vez? El Administrador de BBDD le permite hacer esto directamente.

  • Seleccione la tabla que desee editar en el árbol

  • Select Table ‣ Edit Table from the menu to open the Table Properties dialog.
../../../_images/edit_table.png

Se puede utilizar este diálogo para añadir columnas, añadir columnas de geometría, editar columnas existentes o eliminar una columna completamente.

Utilice la pestaña Restricciones, se puede administra que campos se utilizan como clave primaria o para borrar una restricción existente.

../../../_images/constraints_panel.png

La pestaña Índices se puede utilizar para añadir y borrar ambos índices espacial y normal.

../../../_images/indexes_panel.png

19.2.2. basic Follow Along: Crear una nueva tabla

Ahora que hemos pasado por el proceso de trabajar con tablas existentes en nuestra base de datos, vamos a usar el Administrador de BBDD para crear una nueva tabla.

  • Si ya no abre, obra la ventana del Administrador de BBDD, y expanda el árbol hasta que vea la lista de tablas que ya están en su base de datos.

  • Desde el menú, seleccione Tabla–> Crear Tabla para mostrar el diálogo Crear Tabla.

  • Utilice el esquema predeterminado Public y llame a la tabla places.

  • Añada los campos id, place_name, y elevation como se muestran abajo

  • Compruebe que campo id esta establecido como clave primaria.

  • Haga clic en la casilla para Crear una columna geométrica y asegúrese de que se establece en un tipo POINT y deje el nombre geom y especifique 4326 como el SRID.

  • Haga clic en la casilla Crear índice espacial y haga clic Crear para crear la tabla.

../../../_images/create_table.png
  • Descarte el diálogo que conoce que la tabla fue creada y haga clic en Cerrar para cerrar el diálogo Crear Tabla.

Ahora puede examinar su tabla en el Administrador de BBDD y por supuesto encontrará que no hay datos en él. Desde aquí se puede Conmutar edición sobre el menú Capa e iniciar a añadir sitios a su tabla.

19.2.3. basic Follow Along: Administración de base de datos básica

El Administrador de BBDD también le deja hacer algunas tareas de Administración de base de datos. Esto no es por supuesto un sustituto de una herramienta más completa de Administración de base de datos, pero proporciona algunas funciones que se pueden utilizar para mantener su base de datos.

Las tablas de base de datos a menudo pueden llegar a ser bastante grandes y las tablas que están modificando frecuentemente puede dejar botado al resto de registros que no son necesarios por PostgreSQL. El comando VACUUM se encarga de hacer una especie de recolección de basura para compactar y analizar opcional sus tablas para mejorar el rendimiento.

Vamos a echar un vistazo a cómo se puede realizar un comando VACUUM ANALYZE desde dentro del Administrador BBDD.

  • Seleccione una de sus tablas en el árbol del Administrador de BBDD.

  • Select Table ‣ Run Vacuum Analyze from the menu.

Eso es! PostgreSQL realizará la operación. Dependiendo de que tan grande es su tabla, esto puede tardar cierto tiempo en completarse.

You can find more information about the VACUUM ANALYZE process in the PostgreSQL Documentation on VACUUM ANALYZE

19.2.4. basic Follow Along: Ejecutar consultas SQL Queries con el Administrador de BBDD

El Administrador de BBDD también proporciona una forma para que pueda escribir consultas en las tablas de base de datos y los resultados a vistas. Ya hemos visto este tipo de funciones en el panel Explorar, pero vamos de nuevo aquí con el Administrador de BBDD.

  • Seleccione la tabla lines en el árbol.

  • Seleccione el botón Ventana SQL en la barra de herramientas del Administrador de BBDD.

../../../_images/sql_window_btn.png
  • Componga la siguiente Consulta SQL en el espacio proporcionado:

    select * from lines where roadtype = 'major';
  • Haga clic en el botón Ejecutar (F5) para ejecutar la consulta.

  • Ahora se debe ver el registro que coinciden en el panel Resultado

../../../_images/sql_results.png
  • Haga clic en la casilla Cargar como nueva capa para añadir el resultado a su mapa.

  • Seleccione la columna id como la Columna con el valor entero único y la columna geom como la Columna de geometría.

  • Introduzca roads_primary como la Nombre de la capa (prefix).

  • Haga clic ¡Cargar ahora! para cargar los resultados como una nueva capa en su mapa.

../../../_images/sql_add_to_map.png

La capa que corresponde a su consulta ahora se despliega sobre su mapa. Se puede por supuesto utilizar esta herramienta de consulta para ejecutar cualquier comando SQL arbitrario incluyendo muchos de los que vimos en los módulos y secciones anteriores.

19.2.5. Importar datos en una base de datos con el Administrador de BBDD

We have already looked at how to import data into a spatial database using command line tools, so now let’s learn how to use DB Manager to do imports.

  • Haga clic en botón Importar capa/archivo en la barra de herramientas en el diálogo del Administrador de BBDD.

../../../_images/import_layer_btn.png
  • Seleccione el archivo urban_33S.shp de exercise_data/projected_data como el conjunto de datos de entrada.

  • Haga clic en el botón Actualizar Opciones para pre-llenar algunos de los valores del formulario.

  • Asegúrese que la opción Crear nueva tabla esta seleccionada.

  • Especificar el SRID de origen como 32722 y el SRID de destino como 4326.

  • Habilitar la casilla a Crear índice espacial

  • Haga clic Aceptar para realizar la importación.

../../../_images/import_urban.png
  • Cerrar el diálogo que sabe que la importación fue exitosa.

  • Haga clic en el botón Actualizar sobre la barra de herramientas del Administrador de BBDD.

Ahora se puede examinar la tabla en su base de datos haciendo clic sobre él en el árbol. Verificar que los datos han sido reproyectados comprobando que la Ref. espacial: este listado como WGS 84 (4326)

../../../_images/urban_info.png

Haga clic derecho sobre la tabla en el árbol y una selección Añadir al lienzo se añadirá la tabla como capa en su mapa.

19.2.6. Exportando datos desde una base de datos con el Administrador de BBDD

Por supuesto el Administrador de BBDD también puede ser utilizado para exportar datos desde su base de datos espacial, por lo que vamos a echar un vistazo a cómo se hace.

  • Seleccione la capa lines en el árbol y haga clic en el botón Exportar a archivo en la barra de herramientas para abrir el diálogo Exportar a archivo vectorial.

  • Haga clic en el botón ... para seleccionar el Archivo de salida y guarde los datos en su directorio exercise_data como urban_4326.

  • Establezca el SRID de destino como 4326.

  • Haga clic en Aceptar para inicializar la exportación.

../../../_images/export_to_vector.png
  • Cierre el diálogo que le permite saber que la exportación fue exitosa y cierre el administrador de BBDD.

Ahora se puede examinar el archivo shape que creó con el panel de Explorador.

../../../_images/inspect_vector_output.png

19.2.7. In Conclusion

Ahora ha visto cómo utilizar la interfaz del Administrador de BBDD en QGIS para gestionar su base de datos, para ejecutar las consultas sql en los datos y cómo importar y exportarlos.

19.2.8. What’s Next?

A continuación, vamos a ver cómo utilizar muchas de estas mismas técnicas con la base de datos spatialite.