¿Qué es QGIS Cloud?
Si trabaja con geodatos locales en un SIG de escritorio, tarde o temprano necesitará poner esos datos a disposición de un grupo más amplio de usuarios, ya sea como mapa web o mediante servicios web que permitan compartir los datos de una base de datos. Para ello se requiere una infraestructura formada por servidores con software web compatible con OGC, bases de datos, servidores WMS/WFS/WFS-T/WMTS/WCS y mapas web que se ejecuten en el navegador.
Es posible construir una infraestructura que cumpla exactamente esos requisitos. Sin embargo, configurar y mantener un sistema de ese tipo requiere conocimientos técnicos. Administrar un servidor propio y, sobre todo, protegerlo adecuadamente, consume mucho tiempo y dinero.
QGIS Cloud (www.qgiscloud.com) es una forma más sencilla de disponer de una infraestructura de datos espaciales sin tener que operar ni proteger un servidor propio con servicios configurados a medida. QGIS Cloud permite publicar directamente proyectos de QGIS en su infraestructura. Prácticamente toda la configuración de los servicios se realiza y gestiona desde QGIS. Con el plugin QGIS Cloud puede subir datos locales a la base de datos de QGIS Cloud y publicar mapas web, así como servicios compatibles con OGC, con solo pulsar un botón. Gracias a QGIS Server, que se utiliza en el proceso, los mapas publicados se ven exactamente igual que en el escritorio.
QGIS Cloud es un servicio proporcionado por Sourcepole. Para pruebas y actividades no comerciales puede usar QGIS Cloud Free. Para aplicaciones comerciales o gubernamentales necesita QGIS Cloud Pro (https://qgiscloud.com/pages/plans).
¿Qué puede hacer QGIS Cloud?
- Mapas web:
Cree mapas complejos con QGIS Desktop y use todas las opciones de estilo que ofrece QGIS Desktop. Publique los datos y mapas con el plugin QGIS Cloud. Todo ello en apenas unos minutos.
- Gestión de datos:
QGIS Cloud proporciona una base de datos PostgreSQL completa, ampliada con el componente espacial PostGIS. Se pueden crear nuevas bases de datos directamente desde el plugin QGIS Cloud con un solo clic. Estas bases de datos se pueden administrar con cualquier herramienta compatible, como pgAdmin o QGIS Database Manager, con acceso completo a las funciones de una base de datos PostgreSQL/PostGIS.
- Servicios web OGC:
Los mapas y datos se pueden compartir mediante servicios web compatibles con OGC (Open Geospatial Consortium). Los mapas se pueden visualizar mediante WMS y los datos se pueden descargar mediante WFS. Con WFS-T, los geodatos incluso se pueden editar directamente a través del servicio web.
- Impresión de mapas:
QGIS Cloud publica servicios WMS y utiliza los diseños de impresión definidos en QGIS Desktop. En QGIS Desktop puede crear tantos diseños de impresión como necesite, con cualquier tamaño de papel y una resolución de impresión de hasta 1200 dpi.
- Seguridad:
Los datos se almacenan en la nube en bases de datos PostgreSQL. El acceso a las bases de datos está protegido por contraseña y cifrado. Si los servicios deben estar disponibles solo para un grupo limitado de personas, el acceso a los recursos puede restringirse con QGIS Cloud Pro. Con QGIS Cloud Free, todos los servicios de QGIS Cloud son de acceso libre.
Introducción a QGIS
QGIS Cloud está estrechamente relacionado con QGIS Desktop, el SIG de escritorio de código abierto líder. Para usar QGIS Cloud necesita conocer algunas características y funciones básicas de QGIS Desktop. Por eso, aquí se presenta brevemente QGIS Desktop. Encontrará información más detallada en la documentación en línea de QGIS, disponible en qgis.org.
Si ya conoce QGIS Desktop, puede omitir esta sección.
El ecosistema QGIS
El ecosistema QGIS agrupa herramientas profesionales de código abierto para trabajar con información geográfica. El proyecto QGIS se desarrolla sobre software libre y de código abierto (FOSS) y es miembro oficial de la Open Source Geospatial Foundation (OSGeo). QGIS Desktop funciona en Linux, Unix, macOS y Windows, y admite una amplia variedad de formatos y funciones vectoriales, ráster y de bases de datos.
QGIS incluye los siguientes componentes:
- QGIS Desktop
QGIS es un sistema de información geográfica para visualizar, editar y capturar datos espaciales, distribuido bajo la GNU General Public License. Entre sus funciones principales se encuentran el amplio soporte de datos vectoriales y ráster habituales, como archivos Shapefile o GeoTIFF, así como bases de datos espaciales como PostGIS y SpatiaLite, herramientas avanzadas de digitalización para capturar datos vectoriales y un diseñador de impresión para crear salidas cartográficas de forma sencilla.
- QGIS Server
Publique sus proyectos y capas de QGIS como servicios WMS, WFS y WCS compatibles con OGC. Controle qué capas, atributos, diseños y sistemas de coordenadas se exportan. QGIS Server se considera una implementación de referencia para WMS 1.3.
- QGIS Web Client 2 (QWC2)
Publique sus proyectos de QGIS fácilmente en la web. Aproveche sus potentes funciones de simbolización, etiquetado y mezcla para presentar mapas atractivos.
Estos tres componentes, combinados con bases de datos PostgreSQL/PostGIS, proporcionan todos los elementos necesarios para una infraestructura de datos espaciales distribuida.
En las siguientes secciones se explican muy brevemente los pasos para crear un primer mapa. La documentación completa y detallada de QGIS está disponible en qgis.org/es/docs/index.html.
Instalación de QGIS Desktop
Hay instalaciones estándar disponibles para MS Windows y macOS. También se proporcionan paquetes binarios (rpm y deb) o repositorios de software para muchas variantes de GNU/Linux.
Para obtener más información e instrucciones para su sistema operativo, consulte download.qgis.org.
Descargar datos de muestra
Para trabajar con QGIS Desktop necesita datos que pueda visualizar y manipular. Si en este momento no dispone de datos propios, lo más práctico es descargar los dos archivos siguientes y descomprimirlos:
Natural Earth Data: ne_110m_admin_0_countries.zip
Natural Earth Data: ne_110m_rivers_lake_centerlines.zip
Iniciar y cerrar QGIS
QGIS se puede iniciar como cualquier otra aplicación de su equipo. Esto significa que puede iniciar QGIS de las siguientes maneras:
Haciendo doble clic en el icono de QGIS o en el acceso directo del escritorio.
En Linux, desde el menú de aplicaciones; en Windows, desde el menú de inicio; y en macOS, desde el Dock.
Haciendo doble clic en un archivo de proyecto QGIS existente (con extensión .qgz o .qgs). Tenga en cuenta que esto también abrirá el proyecto.
Escribiendo qgis en la línea de comandos, siempre que QGIS se haya añadido a su PATH o que se encuentre en la carpeta de instalación.
Para cerrar QGIS, use:
En Linux o Windows, las opciones de menú Proyecto -> Salir de QGIS, o el atajo de teclado Ctrl+Q.
En macOS, QGIS -> Quit QGIS, o el atajo de teclado Ctrl+Q.
También puede usar la cruz roja de la esquina superior derecha de la ventana principal de la aplicación.
Crear un proyecto y añadir datos
Al iniciar QGIS Desktop se crea automáticamente un proyecto vacío en el que ya puede añadir datos.
Primeros pasos con QGIS Cloud
En las siguientes secciones se utiliza un ejemplo sencillo para mostrarle cómo publicar sin esfuerzo su primer mapa web con QGIS Cloud. Los capítulos posteriores explican con más detalle las posibilidades que ofrece QGIS Cloud.
Si quiere ir directamente al resultado, puede publicar un mapa en Internet paso a paso. Durante el proceso también preparará su entorno personal de QGIS Cloud.
Configurar QGIS Cloud
Antes de empezar, inicie primero QGIS Desktop. A continuación:
Para trabajar con QGIS Cloud, primero debe instalar el plugin QGIS Cloud en su equipo. Para hacerlo, abra el menú Plugins->Manage and Install Plugins …. Active el elemento All e introduzca en el campo de búsqueda: QGIS Cloud. Debería ver la descripción del plugin QGIS Cloud.
Para instalar el plugin en su entorno de QGIS Desktop, haga clic en el botón Install Plugin.
instalar el plugin QGIS Cloud
Después de la instalación, el panel con el diálogo del plugin QGIS Cloud aparecerá en la esquina inferior izquierda.
pestaña del panel de QGIS Cloud
Para trabajar con QGIS Cloud debe registrar una cuenta QGIS Cloud Free. Para ello, haga clic en el enlace Signup de la pestaña Account. Se abrirá la página Sign up for QGIS Cloud – Free. Una vez registrado en el sitio y confirmado el alta mediante el correo de confirmación, vuelva al plugin QGIS Cloud en QGIS y abra la pestaña Account. Inicie sesión con la cuenta recién creada haciendo clic en el botón Login. Se abrirá el diálogo de inicio de sesión (figura), donde podrá entrar con el nombre de usuario y la contraseña que acaba de crear.
inicio de sesión
Con esto se establece la conexión entre el plugin y los servicios de QGIS Cloud.
Como los datos locales se publicarán en Internet mediante QGIS Cloud, también deben estar disponibles allí. En su cuenta de QGIS Cloud, los datos se almacenan en una base de datos personal PostgreSQL/PostGIS en db.qgiscloud.com. La creación de una base de datos personal se realiza desde el plugin QGIS Cloud. No se requieren conocimientos especiales de bases de datos: el plugin se encarga de todo.
En la pestaña Account, haga clic en el botón Create. Tras unos instantes aparecerá la base de datos recién creada, que en este caso se llama cbohgu_wkwjgu (figura). El nombre de la base de datos no se puede modificar y se genera de forma aleatoria. Esta base de datos se usará en adelante para almacenar todos los datos que se publiquen mediante los servicios de QGIS Cloud.
se ha creado la base de datos personal cbohgu_wkwjgu
Si no le gusta el nombre de la base de datos, puede seleccionarla en el diálogo, hacer clic en Delete para eliminarla y crear una nueva siguiendo el mismo procedimiento. Quizá esta nueva base de datos tenga un nombre más atractivo. Con una cuenta QGIS Cloud Free solo puede tener una base de datos en uso.
Cuando haya completado estos pasos y vea una entrada de base de datos en el plugin QGIS Cloud, habrá terminado la configuración básica de QGIS Cloud.
Al crear la base de datos, esta queda registrada inmediatamente en QGIS. Es decir, al abrir QGIS Browser, podrá acceder a la base de datos directamente, igual que a cualquier otra base de datos PostgreSQL/PostGIS. Lo mismo ocurre con QGIS Database Manager: la base de datos también queda registrada allí y puede editarse. En la sección Acceso a la base de datos de *QGIS Cloud* se explican otras formas de acceder a la base de datos.
Ya puede pasar a publicar el primer mapa.
Publicar un mapa con el plugin QGIS Cloud
El servidor de QGIS Cloud que genera los mapas en Internet es QGIS Server. Existen muchos servicios de servidor que pueden usarse para generar mapas, por ejemplo MapServer o Geoserver. Todos ellos tienen el inconveniente de que, para publicar un mapa mediante esos sistemas, hay que crear definiciones de mapa más o menos complejas.
Con QGIS Cloud es distinto. QGIS Server lee directamente los proyectos que ha creado con QGIS Desktop en su equipo. Por tanto, no se requiere una definición de mapa adicional y el mapa publicado tendrá exactamente el mismo aspecto que ve en su escritorio. Si sabe usar QGIS Desktop, puede publicar fácilmente un mapa en Internet.
A continuación verá qué significa esto en la práctica y lo sencillo que resulta.
Mapa de ejemplo
En primer lugar, necesita un mapa (proyecto) en QGIS que pueda publicar. Un proyecto de QGIS está formado por los datos que se desean mostrar en un mapa temático y por la simbolización que da significado a esos datos.
El proyecto de ejemplo se basa en datos libres. Los datos de ejemplo de Natural Earth son muy adecuados para ello. En la sección Descargar datos de muestra se explica cómo descargarlos.
Abra QGIS y vaya a layer -> add layer -> add vector layer. Cargue los dos archivos Shapefile ne_110m_admin_0_countries.shp y ne_110m_rivers_lake_centerlines.shp, y asigne colores a los países y ríos. Finalmente, guarde el proyecto con el nombre example_project.qgs.
proyecto de ejemplo
Ahora tiene un mapa del mundo en rojo y los ríos principales en azul. Es un ejemplo sencillo, pero servirá como base para la publicación en Internet.
Subir datos
El objetivo es que cualquier persona en el mundo pueda ver el mapa en Internet. Como se explicó en la sección Mapa de ejemplo, un mapa consta de datos y de su representación. Sin embargo, en el proyecto de ejemplo los datos todavía están en su equipo. Para publicar en Internet, el QGIS Cloud Server necesita acceder a esos datos. Si los datos están almacenados como archivos Shapefile en su equipo, el servidor de QGIS Cloud no puede acceder a ellos directamente. Para resolverlo se utiliza la base de datos cbohgu_wkwjgu, creada en la sección Configurar QGIS Cloud. Esa base de datos sí es accesible para el QGIS Cloud Server a través de Internet. El siguiente paso consiste en subir allí los datos locales.
Es sencillo con el plugin QGIS Cloud. Abra la barra lateral del plugin QGIS Cloud e inicie sesión con su nombre de usuario y contraseña de QGIS Cloud. Vaya a la pestaña Load Data.
En la lista verá todas las capas locales. De forma predeterminada, los datos se suben al esquema de base de datos public. También puede seleccionar otro esquema eligiéndolo en la lista desplegable Table schema. Si desea crear un nuevo esquema de base de datos, escriba el nuevo nombre en esa lista desplegable. Se creará un nuevo esquema con ese nombre y los datos de la capa se escribirán en él. Esto resulta especialmente útil cuando trabaja con capas ráster. Al subir capas ráster a la base de datos de QGIS Cloud, se crea además un conjunto de tablas de vista general. Por ello se recomienda usar un esquema de base de datos separado para cada capa ráster.
También puede cambiar el nombre de la tabla en la base de datos de QGIS Cloud introduciendo un nuevo nombre en el campo Table Name de la capa correspondiente.
Cuando haya ajustado todo según sus necesidades, pulse el botón Upload data.
subir datos locales a la base de datos de QGIS Cloud
Los datos se importan ahora desde los archivos Shapefile locales a la base de datos PostgreSQL de QGIS Cloud. Según el tamaño de los conjuntos de datos, esto puede tardar un momento. Es importante saber que las fuentes de datos del proyecto se sustituyen: ya no verá los archivos Shapefile originales en el proyecto, sino los datos procedentes de la base de datos de QGIS Cloud. Si pasa el cursor sobre la capa en la vista de capas de QGIS sin hacer clic, aparecerá un tooltip que muestra la fuente de datos. Allí podrá comprobar que los datos de la capa proceden de la base de datos de QGIS Cloud.
fuentes de datos en la base de datos
Los datos ya están en la base de datos y el proyecto está preparado para publicarse.
Publicar el mapa
Publicar un mapa significa cargar el proyecto de QGIS en el servidor de QGIS Cloud y ponerlo así a disposición de QGIS Server. QGIS Server carga el proyecto, todas las capas y la información de visualización, y devuelve esa representación (el mapa) al navegador como WMS (consulte la sección WMS) exactamente con el mismo aspecto que tiene en el escritorio.
publicar el mapa
Para publicar un mapa, inicie sesión en su cuenta de QGIS Cloud desde el plugin. A continuación, abra la pestaña map. Si todavía no ha publicado ningún mapa con su cuenta, la lista Published Maps estará vacía. Como todos los datos están almacenados en la base de datos de QGIS Cloud, puede publicar simplemente pulsando el botón Publish Map. El plugin QGIS Cloud se encarga del resto del proceso. Si la publicación se completó correctamente, el diálogo del plugin QGIS Cloud debería verse como en la figura.
Una nota adicional: todos los mapas que publique con una cuenta QGIS Cloud Free son visibles públicamente y se mostrarán públicamente en www.qgiscloud.com.
diálogo tras completar la publicación del mapa
La vista del diálogo ha cambiado. En la lista antes vacía Published maps aparece ahora su proyecto. Además, por encima de la lista encontrará varios enlaces:
- Webmap:
El enlace lleva directamente al mapa publicado. Al abrirlo, se carga el QGIS Cloud Web Client y se muestra el mapa (sección QWC2)…
- Public OWS URL:
Este enlace describe la URL base de los servicios web de QGIS Cloud. Cuando se publica un mapa, siempre se configura un WMS. También hay otros servicios que se pueden definir: WMTS, WFS, WFS-T y WCS. En la sección Servicios web OGC con QGIS Cloud se explica cómo definir y administrar estos servicios.
- Map Administration:
Dispone de muchas opciones para seguir editando el mapa publicado. Puede hacerlo desde el plugin QGIS Cloud o en www.qgiscloud.com. Más adelante se explicará con más detalle qué puede hacer allí.
- help:
Si necesita ayuda o quiere contactar con el soporte de QGIS Cloud por cualquier otro motivo, puede enviar un correo directamente al soporte de QGIS Cloud desde aquí.
Ahora ya tiene una vista general de las posibilidades básicas que ofrece QGIS Cloud. En las siguientes secciones se explican con más detalle otras funciones disponibles.
El plugin de QGIS Cloud
En la sección Inicio rápido ya obtuvo una primera impresión de las posibilidades del plugin QGIS Cloud. En este capítulo se explican con más detalle las demás funciones del plugin.
Añadir mapas base
El proyecto de ejemplo contiene actualmente solo dos capas que se muestran en el mapa. Para mejorar la orientación espacial, normalmente se necesitan uno o varios mapas base además de las capas temáticas principales. Pueden ser ortofotos u otros mapas topográficos. También es posible usar Bing y Google Maps, aunque en estos casos deben tenerse en cuenta las condiciones de licencia para su publicación.
En QGIS se pueden usar distintos mapas base:
Las capas WMS y WMTS se pueden cargar en el mapa con layer -> add layer -> add WMS/WMTS layer.
Capas xyz, como mapas de OpenStreetMap, Bing o Google. Estas capas se pueden cargar desde el plugin QGIS Cloud mediante map -> add background layer o desde QGIS Browser usando XYZ Tiles.
Para añadir OpenTopoMap al proyecto, abra de nuevo el plugin QGIS Cloud e inicie sesión en QGIS Cloud. Después abra la pestaña Maps. En la parte superior del diálogo encontrará el botón Add Background Layer. Al hacer clic, se abrirá un menú con distintas opciones de mapas. Seleccione OpenTopoMap -> OSM OpenTopoMap en la lista. Después haga clic en Publish Map para publicar el cambio en el mapa. Abra el mapa desde el enlace Webmap. Ahora debería ver OpenTopoMap como mapa base.
Para que el mapa web responda rápidamente a las acciones de zoom y desplazamiento, QGIS Cloud intenta incorporar los mapas base directamente en el mapa web, sin pasar por QGIS Server. La aplicación QGIS Cloud se asegura de que esto ocurra solo en el mapa web. Para que la inserción directa sea posible, el sistema de referencia de coordenadas del mapa debe coincidir con el del mapa base. El plugin QGIS Cloud mostrará una advertencia si no es así.
Si en un proyecto no se desea la inclusión directa de los mapas base, la propiedad Display external WMS, WMTS and XYZ layers as background maps puede desactivarse en Map Settings en el sitio web de QGIS Cloud. El enlace a la administración web del mapa se mostrará en la pestaña Maps del plugin para el mapa correspondiente.
Administración de mapas
El plugin QGIS Cloud permite realizar varias tareas de administración de mapas. Todas estas herramientas se encuentran en la pestaña Maps. Desde allí puede publicar mapas y consultar la lista de sus mapas personales publicados. También hay más opciones de administración.
la pestaña Maps con dos mapas publicados
Para entender mejor cómo funciona la administración de mapas, publique otro mapa en QGIS Cloud. Modifique el proyecto actual example_project cambiando el color de los países de rojo a verde. Después guarde el proyecto con el nombre example_project_green. Una vez guardado, publique el proyecto en QGIS Cloud. Si no recuerda cómo hacerlo, consulte la sección Publicar el mapa.
Si ahora hace clic en cualquiera de los dos mapas, verá cómo cambian la URL del mapa web y la URL de Public OWS. Como ha publicado mapas distintos, también deben existir URL distintas.
En la parte inferior de la pestaña Maps encontrará tres botones. Las funciones de estos tres botones siempre se aplican al mapa seleccionado en la lista.
- Open project:
Al hacer clic en este botón puede abrir, editar y volver a publicar directamente en QGIS el proyecto publicado en QGIS Cloud. Esto es especialmente útil si ya no tiene el proyecto original. Puede recuperarlo desde QGIS Cloud en su escritorio y continuar editándolo.
- Delete:
Permite eliminar el mapa seleccionado del QGIS Cloud Server. Esto elimina por completo el proyecto del servidor y deja de estar publicado.
- Ajustes de mapa:
Con los ajustes del mapa puede modificar distintas opciones. Las posibilidades disponibles con una cuenta QGIS Cloud Free se explican a continuación. Si cambia los ajustes del mapa, no necesita volver a publicar el mapa.
opciones de configuración de un mapa en QGIS Cloud Free
La figura muestra una vista general de las opciones de configuración de un mapa. En este caso solo hay dos opciones:
idioma
escalas
Todas las demás opciones solo pueden modificarse o utilizarse con una cuenta QGIS Cloud Pro. Estas funciones se describen en detalle en la sección Funciones de QGIS Cloud Pro.
Definir el idioma
Con una cuenta QGIS Cloud Free es posible fijar el idioma del cliente web en uno de los idiomas disponibles, o adaptarlo al idioma del navegador mediante Auto. Si el idioma del navegador no está disponible, se usará automáticamente el inglés. Pruébelo: establezca el idioma en Auto y haga clic en save. Después, al abrir la URL del mapa web, si accede al mapa desde Alemania, por ejemplo, verá las etiquetas del QGIS Cloud Web Client en alemán. Si quiere evitarlo y usar un idioma fijo, seleccione uno de la lista de idiomas sugeridos.
Definir escalas
Puede ajustar el comportamiento de visualización del mapa web para que solo pueda mostrarse en determinadas escalas. Escriba las escalas permitidas como una lista separada por comas en el cuadro de texto. Pruébelo escribiendo los valores 1000,5000,100000 y guardando el cambio. Después abra de nuevo el QGIS Cloud Web Client mediante el enlace del plugin y observe las escalas disponibles en el pie del cliente web.
escalas definidas por el usuario en QGIS Cloud Web Client
Como verá, ahora el mapa solo puede mostrarse en esas tres escalas.
El visor web de QGIS Cloud
Publicar un mapa en Internet requiere una interfaz adecuada entre el equipo y las personas que quieren consultar información sobre una zona concreta de la Tierra. Esto solo es posible con un cliente web adecuado, que ofrezca en el navegador las funciones SIG principales:
visualización de un mapa
visualización de la simbolización en leyendas
activación y desactivación de capas individuales
desplazamiento del mapa
desplazamiento del mapa a partir de una búsqueda
cambio de escala en el mapa
consulta de objetos en el mapa
búsqueda de objetos e información
impresión del mapa con calidad imprimible
edición de geodatos (QGIS Cloud Pro)
Todas estas funciones están disponibles en el QGIS Cloud Web Client con una cuenta QGIS Cloud Free. Al publicar un mapa, como se describe en la sección Inicio rápido, estas funciones quedan disponibles automáticamente para cualquier mapa en la web.
Hoy, las soluciones web como QGIS Cloud deben poder ejecutarse en una gran variedad de dispositivos: desde equipos de escritorio hasta tablets y smartphones. Esto significa que el QGIS Cloud Web Client debe reconocer el tamaño de la pantalla de cada dispositivo y adaptar automáticamente su apariencia. Este comportamiento se denomina diseño adaptativo y es compatible con el QGIS Cloud Web Client.
El QGIS Cloud Web Client se basa en QGIS Web Client 2 (QWC2), desarrollado por Sourcepole. Sourcepole desarrolla QWC2 de forma continua, y esas mejoras se incorporan cada vez más al QGIS Cloud Web Client.
Vista general del cliente
El QGIS Cloud Web Client se mantiene deliberadamente muy ligero. Esto permite usarlo de forma intuitiva, sin una introducción previa a la aplicación. Al mismo tiempo, ofrece muchas funciones para usuarios avanzados que necesitan una aplicación completa.
diseño básico del QGIS Cloud Web Client
Trabajar con QGIS Cloud
Veamos ahora con más detalle las funciones especiales que ofrece QGIS Cloud.
Buscar objetos en el mapa
La búsqueda de objetos en el mapa, definidos por determinados criterios, es una de las funciones más importantes de una aplicación SIG. En la configuración predeterminada del QGIS Cloud Web Client se integra la búsqueda por lugares y direcciones, además de la búsqueda por coordenadas. La búsqueda de direcciones se alimenta de información del proyecto OpenStreetMap, siempre que esas direcciones estén registradas. Así, las direcciones pueden encontrarse introduciendo simplemente la ciudad, la calle y el número en el campo de búsqueda. A continuación se ofrece una lista de resultados, desde la que puede seleccionarse la información deseada con un clic.
búsqueda de direcciones
El encuadre del mapa en el QGIS Cloud Web Client salta inmediatamente a la ubicación de la dirección y la muestra con un marcador azul.
La búsqueda por coordenadas se realiza en el sistema de referencia establecido en la vista actual del QGIS Cloud Web Client. El sistema de referencia activo se muestra en la barra de estado del QGIS Cloud Web Client, en la parte inferior de la página.
sistema de referencia definido en la barra de estado
búsqueda por coordenadas
También es posible desactivar por completo la función de búsqueda en el QGIS Cloud Web Client. Para hacerlo, establezca el tipo de búsqueda en none en los ajustes de mapa del plugin QGIS Cloud.
Imprimir mapas con QGIS Cloud
QGIS Cloud permite ofrecer funcionalidad de impresión en los mapas publicados. Gracias a QGIS Server, los diseños de impresión de los proyectos QGIS publicados también están disponibles automáticamente en el mapa web. Como ejemplo, añada un diseño de impresión al proyecto del capítulo Mapa de ejemplo. Para ello, en QGIS vaya a project -> new print layout e introduzca el nombre de la composición de impresión (aquí, ’A4 landscape’). Se abre una ventana de diseño en la que puede crear la composición arrastrando elementos como mapa, escala, leyenda o campos de texto. En el manual de usuario de QGIS encontrará más información sobre las numerosas opciones de composición.
diseño de impresión
Después de guardar y publicar el proyecto QGIS, la funcionalidad de impresión puede usarse en el mapa web desde map and tools->print.
impresión en QGIS Cloud Web Client
Si hay plantillas de impresión destinadas solo a uso interno y no deben publicarse en el mapa web, pueden indicarse en project -> properties -> QGIS Server -> exclude layouts.
Información de objetos y tooltips
Al hacer clic en los mapas web publicados, se muestra información sobre los objetos en la posición del cursor. Además, también puede configurarse un tooltip que se muestre al pasar el cursor sobre el mapa. En este capítulo presentamos las opciones de configuración más importantes para estas dos herramientas.
Desactivar la información de objetos en una capa
De forma predeterminada, la visualización de información está activada para todas las capas. Sin embargo, a veces una capa debe ser solo visible, sin permitir la consulta de información sobre ella. Por ejemplo, puede tratarse de una capa usada únicamente como mapa de fondo, o de una capa cuyos atributos no deben exponerse al exterior. En Project -> Properties -> Data Sources -> Queryable puede desactivarse la herramienta de información para capas individuales si es necesario.
definir capas consultables
En ocasiones se desea mostrar información de una capa, pero algunos atributos contienen información confidencial que no debe publicarse. Para evitar que esos atributos aparezcan en la herramienta de información o en el tooltip del mapa web, pueden desactivarse en las propiedades de la capa, en fields -> WMS.
definición de atributos visibles WMS/WFS
Modificar el campo mostrado en la información de objetos
De forma predeterminada, al hacer clic en el mapa con la herramienta de información de objetos se muestra el ID del objeto para cada capa consultable. Esto rara vez es la solución óptima. Para cambiarlo y usar el campo que prefiera, haga lo siguiente.
Abra la pestaña «Display» en las propiedades de la capa y seleccione en el menú desplegable qué campo debe mostrarse. Eso es todo.
Cambiar el orden de los atributos en la información de objetos
El orden de los atributos en la información de objetos definida por la capa no siempre es el más adecuado. Además, no todos los atributos deben mostrarse en todos los casos. Puede modificarlo desde el proyecto QGIS que va a publicar.
Para cambiar el resultado de la consulta, proceda así:
En las propiedades de la capa, cambie el formulario de atributos a Drag and Drop Designer.
Elimine del formulario todos los atributos que no quiera ver.
Cambie el orden de los atributos en Form Layout arrastrándolos.
Active la opción Use attribute form settings for GetFeatureInfo response en la sección QGIS Server de las propiedades del proyecto.
Después de volver a publicar el proyecto, el formulario de atributos debería ajustarse a sus necesidades.
Resaltar objetos en la información de objetos
En un WMS, el mapa se muestra como una imagen sin que el cliente web conozca las coordenadas de las geometrías. Si publicar las coordenadas de la geometría no representa un problema, puede marcarse la opción Project Properties -> QGIS Server -> Add geometry to object response. La respuesta GetFeatureInfo del servidor incluirá entonces la geometría vectorial del objeto.
información de objetos con resaltado
Esto permite que el mapa web resalte el objeto seleccionado.
información de objetos con resaltado
Función de tooltip
En el mapa web, además de la función de información, existe también la función de tooltip. Esta muestra un texto informativo cuando el cursor pasa sobre los objetos. Para activar la función de tooltip, puede introducir en QGIS el texto que se mostrará, en las propiedades de la capa bajo Display -> HTML map hint. Como el texto normalmente depende del objeto, se pueden insertar expresiones de QGIS dentro del HTML entre ’[%’ y ’%]’. En estas expresiones pueden utilizarse atributos y muchas funciones dinámicas. Por ejemplo, para crear el tooltip de la figura siguiente, se usó el texto Fluss: <b>[% «name_en» %]</b>, donde name_en es el nombre del atributo.
También puede organizar el texto en una tabla. El código fuente HTML quedaría así:
<table>
<tr>
<td>Fluss:</td><td><b>[% “name_en” %]</b></td>
</tr>
</table>
tooltip HTML
Acceso a la base de datos de QGIS Cloud
La base de datos de QGIS Cloud es una base de datos PostgreSQL/PostGIS normal. Sin embargo, existen restricciones en los permisos de acceso. Solo hay un usuario por cada base de datos. El nombre del usuario coincide exactamente con el nombre de la base de datos. Este usuario puede usar la base de datos, pero no tiene permisos de administrador. No puede realizar acciones como añadir una extensión. El usuario de la base de datos puede ejecutar todas las acciones que se realizan a nivel de base de datos, por ejemplo crear tablas, vistas, triggers o reglas.
Después de crear una base de datos mediante el plugin QGIS Cloud, los parámetros de conexión se introducen automáticamente en las conexiones de QGIS. Así, la base de datos queda registrada y disponible en QGIS. Puede administrarse directamente con QGIS Browser o QGIS DB Manager, lo que ya permite realizar muchas tareas con la base de datos.
Pero si quiere acceder a la base de datos desde un producto de terceros, necesita conocer los parámetros de conexión (credenciales). A continuación se explica cómo obtenerlos.
Obtener las credenciales
La conexión a una base de datos PostgreSQL se realiza mediante la llamada cadena de conexión, que contiene las credenciales. Debe incluir los siguientes parámetros:
hostname
username
dbname
password
port
Para la base de datos de QGIS Cloud, ya hay varios valores definidos:
hostname: db.qgiscloud.com
username: database name
dbname: name of database
password
port: 5432
Para conectarse a la base de datos todavía necesita la contraseña. Para obtenerla, abra el plugin QGIS Cloud y seleccione la pestaña Account. Allí verá también la lista de sus bases de datos. Pase el cursor sobre la base de datos deseada y aparecerá un tooltip con todas las credenciales. Al final del tooltip verá también la contraseña de la base de datos.
Puede usar esta información para acceder a la base de datos desde productos de terceros.
Servicios web OGC con QGIS Cloud
El Open Geospatial Consortium (OGC) es una organización sin ánimo de lucro fundada en 1994 como Open GIS Consortium, con el objetivo de definir el desarrollo del procesamiento de información espacial (especialmente geodatos) mediante estándares de aplicación universal que favorezcan la interoperabilidad. El OGC está formado por miembros de organismos gubernamentales, empresas privadas y universidades, cuya pertenencia al OGC está sujeta al pago de una cuota. Por su parte, el OGC es miembro del World Wide Web Consortium (W3C) desde enero de 2007.[2] La marca registrada es OpenGIS.
QGIS Cloud admite los Open Web Services de OGC y, por tanto, constituye una infraestructura de datos espaciales completa y conforme con OGC. QGIS Server, que está en la base de QGIS Cloud, es un servidor de mapas compatible con OGC que admite servicios web OGC. La configuración de QGIS Server puede definirse en el QGIS Project usando QGIS Desktop. Para ello, abra las propiedades del proyecto con el menú Project -> Properties -> QGIS Server. Si marca Service Properties, podrá completar las propiedades básicas del servicio.
propiedades del servicio de ejemplo
Una vez completados todos los campos, debe guardar y volver a publicar el proyecto. La publicación también le proporciona la URL del servicio, que se muestra junto a «Public OWS URL» en el plugin QGIS Cloud. Haga clic derecho en el enlace para copiar la URL al portapapeles. En este ejemplo es:
https://wms.qgiscloud.com/support/example_project/
Ahora escriba esta URL, o la URL correspondiente a su cuenta y proyecto, en la barra de direcciones de su navegador de Internet, o simplemente haga clic en el enlace del plugin QGIS Cloud. Al enviar la URL, recibirá un ServiceExceptionReport:
<ServiceExceptionReport version="1.3.0">
<ServiceException code="Service configuration error">
Service unknown or unsupported
</ServiceException>
</ServiceExceptionReport>
Este resultado es esperado: el servidor funciona y está devolviendo una respuesta. El mensaje de error aparece porque la solicitud se ha enviado al servidor sin los parámetros correctos. En concreto, no se ha indicado qué tipo de servicio se quiere solicitar. QGIS Cloud ofrece distintos servicios a través de la URL de servicio, como se explica en las siguientes secciones.
Web Map Service (WMS)
El estándar OpenGIS Web Map Service Interface Standard (WMS) proporciona una interfaz HTTP sencilla para solicitar imágenes de mapas georreferenciadas desde una o varias bases de geodatos distribuidas. Una solicitud WMS define las capas geográficas y el área de interés que se van a procesar. La respuesta a la solicitud es una o varias imágenes de mapa georreferenciadas (devueltas como JPEG, PNG, etc.) que pueden mostrarse en una aplicación de navegador. La interfaz también permite especificar si las imágenes devueltas deben ser transparentes, para poder combinar capas de varios servidores.
Al publicar un mapa en QGIS Cloud, ese mapa también queda disponible automáticamente como WMS y puede usarse de inmediato. Para probarlo:
crear una nueva conexión WMS
Haga clic derecho en la OWS URL en la pestaña map del plugin QGIS Cloud.
Abra QGIS Browser, haga clic derecho en la entrada WMS/WMTS y seleccione New Connection ….
Asigne un nombre a la conexión.
Copie la URL del portapapeles en el campo URL.
Pulse OK.
Ahora el WMS estará disponible como capa en todos los proyectos futuros de QGIS.
En las propiedades del proyecto puede configurar su WMS con más detalle. En la sección WMS Capabilities puede definir las dimensiones del mapa WMS, limitar el número de sistemas de referencia, excluir diseños de impresión (consulte la sección Imprimir con QGIS Cloud) y excluir capas.
La configuración predeterminada de los proyectos QGIS que desea publicar mediante QGIS Cloud no es la más adecuada en términos de rendimiento del QGIS Cloud Web Client y del WMS. Esto se nota especialmente cuando el proyecto publicado contiene muchas capas. En ese caso, la configuración predeterminada reduce el rendimiento porque se descargan todas las definiciones de sistemas de referencia para cada capa del WMS. Con muchas capas y los miles de sistemas de referencia que admite QGIS Server, el volumen acumulado puede ser considerable. Por eso es importante definir qué sistemas de referencia debe admitir el WMS publicado. Esto se logra activando el bloque CRS Restrictions y seleccionando solo los sistemas de referencia que realmente se vayan a usar.
Web Map Tile Service (WMTS)
El estándar Web Map Tile Service (WMTS) es un geoservicio especificado por el Open Geospatial Consortium (OGC). WMTS define un servicio web para ofrecer y recuperar mapas digitales mediante teselas. El objetivo del estándar WMTS es proporcionar mapas a las aplicaciones con buen rendimiento. Para ello, el mapa se pregenera en el servidor, se divide en mapas más pequeños, llamados tiles, y se almacena en una caché de teselas (tile cache). La aplicación puede solicitar después esas teselas de forma individual.
Con QGIS Cloud también puede ofrecer WMTS. De forma predeterminada, la entrega de WMTS está desactivada en QGIS Cloud. Para activar WMTS, vuelva a Project Properties -> QGIS Server -> WMTS Properties. Allí puede definir qué capa quiere publicar.
definir propiedades WMTS
En la figura puede verse que la capa de ríos está publicada y debe entregarse en formato de imagen PNG. En cambio, los límites administrativos deben entregarse en formato JPEG. Ambas capas se entregan como capas individuales y no como un mapa completo; por eso, el proyecto en su conjunto no está publicado.
Importante: en las propiedades WMS debe estar marcada la opción ’CRS Restrictions’. En ’WMTS Properties’ debe seleccionarse al menos un CRS.
La URL de WMS y WMTS es idéntica y siempre tiene la forma https://wms.qgiscloud.com/<username>/<mapname>. La integración de un WMTS de QGIS Cloud se realiza igual que con una capa WMS. Para que QGIS solicite el servicio deseado, WMS o WMTS, debe añadirse la siguiente extensión a la URL del servicio:
https://wms.qgiscloud.com/<username>/<mapname>?Service=WMTS&Request=GetCapabilities.
Si no se hace, QGIS siempre solicitará un WMS a QGIS Cloud.
WFS
Una función no tan evidente de QGIS Cloud es la posibilidad de compartir sus datos mediante Web Feature Service (WFS) y administrarlos mediante Web Feature Service Transactional (WFS-T). «Web Feature Service (WFS) se refiere al acceso a datos geoespaciales a través de Internet dentro de un SIG distribuido. WFS se limita únicamente a datos vectoriales, como los que pueden almacenarse en bases de datos.»
Puede configurar un WFS de QGIS Cloud en pocos pasos si el proyecto tiene capas vectoriales cargadas. Primero, defina las capas vectoriales que quiere publicar y realice los ajustes correspondientes:
Abra la pestaña project properties -> OWS server.
Desplácese hasta la sección WFS Properties y realice los ajustes necesarios. Allí, marque Published para cada capa que quiera publicar.
Además, puede definir los campos publicados de cada capa en la pestaña Layer Properties -> Fields.
definir propiedades WFS
Después de publicar el proyecto, el WFS ya estará disponible. Pruébelo creando una conexión WFS a este servicio con la OWS URL de QGIS Cloud, como se describió anteriormente.
WFS-T
WFS-T le da acceso completo a sus datos vectoriales para editarlos a través de la web. En este caso, la -T significa transaccional. Esto quiere decir que puede editar datos vectoriales mediante el estándar WFS-T. Como QGIS Cloud admite la funcionalidad WFS-T, puede administrar y editar los datos proporcionados por QGIS Cloud desde cualquier cliente compatible con WFS-T. QGIS Desktop es un cliente WFS-T.
Para que una capa vectorial pueda editarse como capa WFS-T mediante QGIS Cloud, la capa debe prepararse. Cada capa que se sube con el plugin QGIS Cloud a una base de datos de QGIS Cloud recibe durante el proceso de subida el campo qc_id. Este campo se rellena mediante una secuencia de base de datos. Esto significa que, para cada nuevo objeto capturado en la capa, el campo qc_id se completa con un valor numérico único. Como normalmente no se sabe qué números ya están usados en la tabla, el campo qc_id no debe aparecer durante la edición. Por tanto, debe evitarse que el campo qc_id se muestre. Puede configurarlo en Properties of the layer -> Attribute form. En Fields, seleccione el campo qc_id y cambie el tipo de control a Hidden.
También debe impedir que el campo qc_id se publique mediante WFS. Para ello, en Layer Properties -> Fields, seleccione Do not disclose via WFS en la configuración del campo qc_id.
Ahora debe volver a publicar el proyecto. El campo qc_id dejará de aparecer en el formulario de entrada y el nuevo ID podrá asignarse automáticamente.
Debe habilitar de nuevo la capacidad WFS-T en la pestaña ya conocida Project Properties -> OWS Server. Para activar WFS ya habíamos publicado las dos capas ne_110m_rivers_lake_centerlines y ne_110m_admin_0_countries como WFS. Ahora active las opciones Update, Insert y Delete en WFS–Properties. Tras publicar, las dos capas también estarán disponibles para su edición. Como la conexión a su WFS ya está establecida en QGIS Desktop, no necesita hacer nada más allí. Pruebe ahora la funcionalidad WFS-T cargando la capa ne_110m_rivers_lake_centerlines mediante WFS en QGIS Desktop y cambiándola al modo de edición. Podrá editar esta capa como cualquier otra capa vectorial en QGIS Desktop.
Tenga en cuenta que todos los servicios publicados con QGIS Cloud Free son públicos y están disponibles para cualquiera. Eso significa que cualquier persona podría editar sus geodatos. Si necesita acceso restringido, puede hacerlo mediante una suscripción QGIS Cloud Pro (consulte la sección Protección de acceso a mapas).
WCS
«El estándar de interfaz Web Coverage Service (WCS) del Open Geospatial Consortium define la recuperación web de información geoespacial digital que representa fenómenos que varían espacial y/o temporalmente.
WCS permite acceder a datos de cobertura en formatos útiles para el procesamiento en el cliente, por ejemplo para modelos científicos. WCS está relacionado con OGC Web Feature Service (WFS) y Web Map Service (WMS). Como instancia de servicio de WMS y WFS, un WCS permite a los clientes seleccionar partes de los activos de información de un servidor basándose en restricciones espaciales y otros criterios de consulta.
A diferencia de Web Map Service (WMS), que proporciona geodatos como imágenes de mapa, WCS proporciona los datos disponibles junto con sus descripciones detalladas (metadatos) y define una sintaxis rica para consultas sobre esos datos y metadatos. En particular, los datos se devuelven con toda su semántica; por ello, a diferencia de las imágenes WMS pensadas solo para lectura humana, los datos WCS pueden analizarse posteriormente por máquinas.
A diferencia de Web Feature Service (WFS), que devuelve elementos espaciales individuales, WCS devuelve datos multidimensionales que relacionan un fragmento de propiedades espacio-temporales de forma arbitraria. Como tal, WCS se centra en las coverages como una clase especializada de features (es decir, conjuntos de features) y ofrece funcionalidad acorde.
WCS se basa en el modelo de cobertura del OGC GML Application Schema for Coverages[1] y admite todos los tipos de cobertura definidos allí. En particular, la versión actual 2.0 ya no está restringida a cuadrículas regulares como las versiones anteriores de WCS.»
Al igual que los servicios descritos anteriormente, WCS también se configura en los ajustes del proyecto de QGIS Desktop. Los ajustes se realizan como se describió en la sección WFS.
Descubre QGIS Cloud Pro
Como parte de una suscripción QGIS Cloud Pro, tiene acceso a funciones adicionales disponibles solo en esa modalidad. El alcance de estas funciones se amplía constantemente y se pone a disposición de los usuarios de QGIS Cloud Pro. En las siguientes secciones se presentan estas funciones con más detalle.
Personalizar el QGIS Cloud Web Client
El QGIS Cloud Web Client se personaliza mediante visores. Estos visores son configuraciones con nombre que pueden asignarse más tarde a una vista de mapa. En una suscripción QGIS Cloud Pro se puede crear cualquier número de visores.
Estas propiedades pueden cambiarse en el QGIS Cloud Web Client definiendo un visor:
Nombre del visor
Header
Definir un favicon
Definir el logotipo del cliente de escritorio
Definir el logotipo del cliente móvil
El logotipo puede incluir un enlace adicional
Ajustes de apariencia del QGIS Cloud Web Client con CSS
A continuación se revisa cada punto. Primero debe crear un nuevo visor, ya que todavía no hay ninguno.
Crear un visor
Obtendrá una vista general de los visores asignados a la cuenta al cambiar al área Viewers en qgiscloud.com (https://qgiscloud.com/viewers). Tenga en cuenta que el elemento de menú Viewers solo se muestra si ha iniciado sesión con una cuenta QGIS Cloud Pro.
todavía no se ha definido ningún visor
La vista general de sus visores todavía está vacía, así que primero debe crear uno. Para ello, haga clic en el botón New.
Se abre la página de administración del Viewer. Solo se exige un nombre como entrada obligatoria. Introduzca un nombre de su elección. Conviene elegirlo de forma que más adelante pueda reconocer qué representa este Viewer. En este ejemplo, el visor se llamará Sourcepole. Introduzca también una breve descripción del visor en el campo Header. Esta descripción se usará más adelante, por ejemplo, para mostrar los marcadores en el navegador. El resultado se verá así.
Si ahora hace clic en Create viewer, el visor vacío aparece en la vista general. Con esto queda creado el primer visor.
Definir logotipos
Puede personalizar el QGIS Cloud Web Client con un Viewer. Los logotipos son un elemento distintivo importante. Se pueden definir tres tipos de logotipos.
favicon: son las imágenes pequeñas que aparecen en la barra de direcciones del navegador y delante de los marcadores. Los favicons deben tener un tamaño de 32x32 píxeles.
logotipo: el logotipo de escritorio aparece en la esquina superior izquierda del QGIS Cloud Web Client. Si no hay ningún visor conectado al mapa, allí se muestra el logotipo de QGIS Cloud Pro. Estas imágenes deben tener un tamaño de 200x25 píxeles.
logotipo móvil: en la vista móvil del QGIS Cloud Web Client hay mucho menos espacio para un logotipo. Por eso se necesita un logotipo independiente y más pequeño. Estas imágenes deben tener un tamaño máximo de 49x49 píxeles.
Para este ejemplo se han preparado los tres logotipos de Sourcepole. Abra de nuevo la vista Viewers y haga clic en el icono del lápiz situado junto al Viewer Sourcepole.
La definición del visor ahora se ve así:
Sería útil que, al hacer clic en el logotipo de Sourcepole, se abriera la página principal de Sourcepole. Por supuesto, esto también es posible. Para ello, en la vista Viewers, introduzca en el campo Logo link la dirección completa de destino que debe abrirse al hacer clic en el logotipo.
En este ejemplo se ve así.
Personalizar el QGIS Cloud Web Client con CSS
La apariencia del QGIS Cloud Web Client se controla mediante CSS. CSS significa Cascading Style Sheets. Es un lenguaje de diseño y formato que se utiliza para determinar la apariencia de documentos HTML; por tanto, se ocupa del diseño o estilo, no del contenido de un sitio web. Con CSS, los usuarios pueden definir, por ejemplo, fuentes, colores, líneas, alturas y anchuras en un sitio web. Los elementos visuales del QGIS Cloud Web Client se controlan mediante CSS. Puede sobrescribir estos elementos CSS en un visor. De este modo, se puede personalizar la apariencia del QGIS Cloud Web Client.
Este tema se adentra en el diseño web. Aquí no se pretende ofrecer un tutorial completo sobre CSS, ya que existen buenos recursos en Internet. Sin embargo, sí se muestra cómo cambiar de forma básica el CSS del QGIS Cloud Web Client.
En este ejemplo partimos de un mapa vacío para concentrarnos por completo en CSS. El objetivo no es diseñar el mapa, sino la apariencia de un QGIS Cloud Web Client personalizado. No se necesita contenido cartográfico, pero sí un proyecto. Por tanto, cree un proyecto QGIS vacío y publíquelo en QGIS Cloud. En este ejemplo, el proyecto se llama css. En el siguiente paso debe definir un visor y conectarlo al mapa css, como se describe aquí. El visor se llamará MyCSS. Con esto ya puede empezar el diseño CSS.
Identificar selectores y clases CSS
Como primer cambio en el QGIS Cloud Web Client, modifique de negro a rojo el color del texto del botón del menú de la aplicación. El texto Map & Tool debe aparecer en rojo. ¿Por dónde empezar? Al principio es normal sentirse algo perdido con este tema: dónde está cada cosa y cómo comenzar. Como el QGIS Cloud Web Client admite muchos navegadores y no se pueden cubrir todos aquí, el ejemplo se centra en Firefox. Firefox dispone de herramientas de desarrollo muy útiles para trabajar con CSS. Otros navegadores también ofrecen herramientas similares, que suelen funcionar de forma parecida.
En Firefox, las herramientas de desarrollo se activan con la tecla F12. Después de pulsar F12, Firefox se verá así:
Para este caso necesita el inspector, situado en la parte superior izquierda de las herramientas de desarrollo.
Una vez activado, active la herramienta de selección.
Ahora puede identificar los elementos individuales de la página moviendo el cursor del ratón sobre ellos. Cada vez que un elemento está activo, se muestra su información CSS. Sitúe el cursor sobre el menú de la aplicación y haga clic con el botón izquierdo del ratón.
Después de hacer clic en el elemento seleccionado, el cursor del inspector CSS salta a la posición exacta en el CSS donde se encuentra la definición del elemento seleccionado.
Ahora haga clic en la línea <span class=»appmenu-label»>Map & Tools</span>. Esa es exactamente la línea que lleva a la definición CSS de la etiqueta appmenu cuyo color debe cambiar a rojo. La definición CSS correspondiente a la etiqueta aparece ahora en el inspector. Esta es la definición necesaria. También se ve que el CSS de la etiqueta está definido en el archivo TopBar.css desde la línea 64.
También puede hacer clic en el enlace TopBar.css. Entonces el archivo CSS se abre directamente y puede copiar/pegar la definición desde ese archivo.
Ya tiene la definición CSS completa de la etiqueta appmenu. Para cambiar
el color, añada una regla propia en el visor. Abra en qgiscloud.com
la página de definición del visor recién creado MyCSS y pegue las líneas
CSS copiadas en el campo de texto CSS. Si no recuerda cómo hacerlo,
consulte aquí. Esto, por sí solo, aún no cambia la
apariencia del QGIS Cloud Web Client: para que el texto aparezca en
rojo, añada la línea color: red;. Como ve, no es necesario
insertar de nuevo toda la definición CSS; basta con añadir su extensión.
#TopBar div.AppMenu .appmenu-label {
color: red;
}
Actualice el visor y recargue el mapa. Entonces debería ver la etiqueta del App Menu en rojo.
Puede experimentar con distintos colores, estilos y decoraciones. Recuerde guardar el visor antes de recargar la página.
Personalización avanzada con CSS
En los siguientes pasos se personalizan algunos componentes del QGIS Cloud Web Client. Primero se cambia el color de fondo de la barra de menú superior. Para ello debe averiguar qué selector CSS controla ese elemento. El procedimiento es el mismo que en el capítulo anterior: pulse F12 para abrir de nuevo las herramientas de desarrollo, active el Inspector y mueva el cursor sobre la barra de cabecera hasta que se vea como en la ilustración.
En el panel Inspector puede ver que el selector del elemento es TopBar, resaltado en azul. Ahora puede cambiar el color añadiendo las siguientes reglas CSS:
#TopBar div.AppMenu .appmenu-label {
color: red;
}
#TopBar {
background-color: #c1ccc7;
}
No olvide actualizar el visor y recargar la página con el QGIS Cloud Web Client. Si lo ha hecho todo correctamente, el elemento TopBar debería verse así.
También puede cambiar el menú emergente de la vista general de capas. Use el panel Inspector para identificar el selector del elemento. Después añada la regla correspondiente.
#LayerTree div.layertree-tree {
background-color: #62d6b3;
}
Así se ve cuando todo se ha realizado correctamente.
Si se añaden algunos elementos de diseño más, el visor puede usarse para diseñar un QGIS Cloud Web Client con un aspecto algo más verde.
/* Top bar and bottom bar, background color set to #c1ccc7. */
#TopBar, #BottomBar {
background-color: #c1ccc7;
}
/* The lines of the burger menu in blue */
#TopBar div.AppMenu .appmenu-icon {
color: #3800ff;;
}
/* The font color of the map buttons in #595959 and the background of the buttons in #c1ccc7 */
button.map-button {
color: #595959;
background-color: #c1ccc7;
}
/* Background color of the layer tree in #eeebeb */
#LayerTree div.layertree-tree {
background-color: #eeebeb;
}
/* Active search element type in #62d6b3 */
#Search li.searchbar-provider-selection-active {
background-color: #62d6b3;
}
Como puede ver, con herramientas adecuadas como las herramientas de desarrollo del navegador es relativamente sencillo personalizar la apariencia del QGIS Cloud Web Client. Aquí solo se ofrece una breve introducción. Puede encontrar otro ejemplo de diseño con CSS en el Sourcepole Blog.
Ajustes de mapa
En la sección Administración de mapas ya vimos una pequeña parte de las posibilidades de los ajustes de mapa. Sin embargo, con una cuenta QGIS Cloud Free solo hay opciones muy limitadas. Esto cambia con una cuenta QGIS Cloud Pro.
Búsqueda personalizada
Como parte de una suscripción QGIS Cloud Pro, es posible implementar una función de búsqueda personalizada basada en una consulta de base de datos. De este modo, la ventana de búsqueda del QGIS Cloud Web Client ya no mostrará información de OpenStreetMap, sino resultados procedentes de consultas definidas libremente. El objetivo es mostrar una lista de términos en el cuadro de búsqueda, seleccionar uno de ellos y ajustar el mapa al encuadre del objeto correspondiente. Así resulta sencillo ampliar el QGIS Cloud Web Client y adaptarlo a cada aplicación.
La búsqueda se define mediante cualquier consulta SQL que devuelva dos columnas como resultado: por un lado, el texto que se muestra en el cuadro de búsqueda y, por otro, el encuadre espacial asociado a esa posición de texto. Finalmente, al completarse la búsqueda, el mapa se ajusta a ese encuadre espacial. Esto significa que debe existir una geometría para cada texto.
En la siguiente sección se explica con más detalle cómo formular la consulta SQL. También se muestran ejemplos de la potencia de este enfoque.
Para sustituir la búsqueda estándar de OpenStreetMap por una búsqueda en base de datos en un mapa QGIS Cloud Pro y activarla, proceda así:
Inicie QGIS
Inicie sesión en la cuenta QGIS Cloud Pro con el plugin QGIS Cloud.
Abra la pestaña Maps.
Seleccione el mapa deseado y haga clic en Map Settings.
Cambie Search Type a DBSearch.
Seleccione la base de datos de origen para la consulta en la lista Search DB.
ajustes de mapa con búsqueda personalizada
Ahora todo está preparado para usar la búsqueda en base de datos.
SQL para definir la búsqueda
En los ajustes de mapa del plugin QGIS Cloud puede formularse la consulta SQL de búsqueda. En este ejemplo, los ajustes de mapa definen que todas las consultas se refieren a la base de datos cbohgu_wkwjgu.
Primero cree algunas tablas de ejemplo en la base de datos cbohgu_wkwjgu, que servirán para explicar mejor la búsqueda personalizada. Puede hacerlo cómodamente con DB Manager en QGIS Desktop. Para ello, abra DB Manager en QGIS Desktop y seleccione su base de datos QGIS Cloud, llamada QGISCloud xxxxxx_yyyyyy, haciendo clic en el pequeño triángulo delante del nombre de la base de datos.
Esto pone a disposición el editor SQL, al que puede acceder haciendo clic en el icono
editor SQL
desde DB Manager.
Como primer paso, cree la tabla friends en DB Manager. Para ello, escriba el siguiente comando en el campo de texto del editor de consultas.
CREATE TABLE friends (
id SERIAL,
name VARCHAR,
geom GEOMETRY (Point,4326) );
Después ejecute esta consulta haciendo clic en el botón execute. Si lo ha hecho todo correctamente y no incluyó ningún error en la consulta, junto al botón execute debería aparecer: 0 rows, 0.xxx seconds.
Ahora rellene la tabla friends con valores.
INSERT INTO friends (name, geom) VALUES
('Paul', st_setsrid('POINT(-0.86 52.12)'::geometry, 4326));
INSERT INTO friends (name, geom) VALUES
('Steve', st_setsrid('POINT(13.46 52.50)'::geometry, 4326));
INSERT INTO friends (name, geom) VALUES
('Mary', st_setsrid('POINT(8.33 46.95)'::geometry, 4326));
INSERT INTO friends (name, geom) VALUES
('Tim', st_setsrid('POINT(2.38 47.78)'::geometry, 4326));
Ya tiene todo preparado para implementar la búsqueda personalizada. La definición de la búsqueda se realiza de nuevo en el plugin QGIS Cloud. Abra el plugin y cambie a la pestaña Maps. Abra los ajustes del mapa como se explicó en la sección Ajustes de mapa. El núcleo de la búsqueda es una consulta SQL escrita en el campo de texto Search SQL. Debe seguir un patrón concreto y tener este aspecto:
SELECT name AS displaytext, Box2D(wkb_geometry) AS bbox
FROM <table>
WHERE name ILIKE '%?%';
Donde:
name es una columna que contiene cadenas de texto. El contenido de la columna name se muestra en el campo de búsqueda.
wkb_geometry es una columna que contiene geometrías.
tablename es el nombre de la tabla (también llamada capa) en la que se busca.
%?% es el marcador de posición para la cadena de búsqueda.
Si se quieren usar caracteres especiales o mayúsculas en nombres de columnas o tablas, deben encerrarse entre «» – comillas dobles.
El ejemplo implementa una búsqueda sobre la tabla friends. La búsqueda debe funcionar de forma que, al introducir una letra inicial en el cuadro de búsqueda, se listen todos los nombres que empiecen por esa letra. La lista se irá acotando a medida que se introduzcan más letras.
La primera parte de una consulta SQL siempre es SELECT. En este caso se necesita un texto: los nombres de la tabla friends. Por tanto, la consulta SQL puede empezar así:
SELECT name AS displaytext
Como puede ver, se ha asignado a la columna name el alias displaytext. Esto debe ser así y no puede cambiarse.
También se necesita un encuadre al que debe desplazarse el mapa. Como la ubicación de cada registro de friends se conoce como punto, debe consultarse el encuadre alrededor de cada punto. Para ello se determina el bounding box de los puntos almacenados en la columna geom:
SELECT name AS displaytext, Box2D(geom) AS bbox
El bounding box también recibe el alias bbox. Igual que con displaytext, esto es obligatorio.
En el siguiente paso debe definir la tabla que se va a consultar.
SELECT name AS displaytext, Box2D(wkb_geometry) AS bbox
FROM friends
La consulta está casi terminada. Pruebe qué ocurre si la define de esta forma. ¿El resultado responde al objetivo de la búsqueda?
Todavía falta algo: la selección por letras, comenzando por la primera letra. Debe definir una condición. Como solo se quiere filtrar por los nombres, el filtro debe formularse así:
SELECT name AS displaytext, Box2D(geom) AS bbox
FROM friends
WHERE name ILIKE '?%';
Pruebe la búsqueda. Si lo hizo todo correctamente, la búsqueda se comportará exactamente como se definió al principio. Puede formular consultas de cualquier complejidad. La única condición es que la consulta devuelva una lista con dos columnas llamadas displaytext y bbox.
ajustes de mapa con búsqueda
ATENCIÓN Tenga en cuenta que el CRS de la columna de resultado bbox debe ser el mismo que el del proyecto. En estos datos de ejemplo, los puntos tienen el CRS 4326, es decir, WGS84. Si el proyecto publicado está referenciado en otro CRS, el QGIS Cloud Web Client movería el mapa al bounding box del punto en coordenadas WGS84. Eso no sería correcto y se seleccionaría un encuadre equivocado en el mapa. Por eso, en este caso debe transformar las coordenadas de los puntos al CRS del mapa. Por suerte, PostGIS ofrece la función adecuada. La transformación puede realizarse así:
... Box2D(st_transform(<geometry column>, <CRS>)) AS bbox
Sustituya (<CRS>) por el CRS del mapa publicado.
Puede simplificar mucho el trabajo definiendo en la base de datos seleccionada una vista de búsqueda que pueda administrar con PgAdmin o QGIS DB Manager:
CREATE or REPLACE VIEW mysearch as
SELECT name AS displaytext, Box2D(geom) AS bbox
FROM friends
WHERE name ILIKE '?%';
Después use esta vista en el campo de consulta de búsqueda en lugar de una consulta SQL muy compleja:
SELECT displaytext, bbox FROM mysearch WHERE name ILIKE '?%';
Si quiere cambiar la consulta de búsqueda, puede hacerlo cómodamente con PgAdmin o QGIS DB Manager. Si usa esta opción, no necesita cambiar la consulta de búsqueda en QGIS Cloud Backend.
Protección de acceso a mapas
Los mapas y servicios publicados con una cuenta QGIS Cloud Free son, por regla general, públicos. Se publican en www.qgiscloud.com inmediatamente después de la publicación y cualquier persona en el mundo puede verlos y usarlos. Después de un tiempo, las miniaturas de los mapas desaparecen de www.qgiscloud.com. Sin embargo, quienes tengan la URL del mapa podrán seguir accediendo a él en cualquier momento. A diferencia de los mapas, los datos de la base de datos de QGIS Cloud siempre son accesibles únicamente con la autenticación correspondiente. Están vinculados personalmente a la cuenta QGIS Cloud. El acceso a los datos está completamente bajo su control.
Con QGIS Cloud Pro existe la posibilidad de restringir el acceso a mapas y servicios a un grupo determinado de usuarios y controlar así el acceso. Estos usuarios deben iniciar sesión primero con su nombre de usuario y contraseña de QGIS Cloud antes de poder acceder al mapa protegido. En este caso, solo el administrador del mapa necesita una cuenta QGIS Cloud Pro. Los demás usuarios con los que se comparta el mapa deben tener al menos una cuenta QGIS Cloud Free registrada en QGIS Cloud.
El mapa puede compartirse con un conjunto específico de usuarios desde el plugin QGIS Cloud, en Map Settings. En este ejemplo, el mapa y los servicios WMS example_project se comparten con el usuario de QGIS Cloud user1. Introduzca nuevos nombres de usuario y haga clic en add user para compartir el mapa con cualquier número de usuarios adicionales.
compartir un mapa en el plugin QGIS Cloud
Con QGIS Cloud Pro, los mapas y servicios web publicados recientemente siempre quedan protegidos por acceso. Si los mapas Pro deben ser accesibles sin protección de acceso, las propiedades del mapa en el plugin QGIS Cloud pueden configurarse como map public o WMS public.
Importar datos externos en el mapa web
Datos de servicios web externos: WMS, WMTS, WFS
Con QGIS Cloud Pro también puede añadir capas WMS, WFS o WMTS externas al mapa. En Layers & Legend encontrará la opción “Import Layer”. Introduzca allí la URL del servicio deseado con la forma:
Asegúrese de conectarse al servicio web mediante https, ya que el QGIS Cloud Web Client solo se comunica mediante https. Al hacer clic en Connect, aparecerán todas las capas ofrecidas por el servicio. Después de seleccionar una capa, esta se añade al mapa. Para que este ajuste sea persistente para el mapa, debe guardar la página como marcador en su navegador. Cada vez que abra ese marcador, el mapa se cargará de nuevo exactamente con esa configuración.
Datos locales basados en archivos: KML, JSON, GeoJSON
Con datos locales basados en archivos se procede igual que con los servicios web. Sin embargo, en este caso no puede hacer persistentes los datos locales basados en archivos mediante un marcador.
Editar datos geoespaciales
Los datos geoespaciales de QGIS Cloud pueden incorporarse en QGIS Desktop como una capa PostGIS o como una capa WFS-T (consulte la sección WFS-T) y editarse con las herramientas de edición de QGIS (sección Acceso a la base de datos de QGIS Cloud).
Sin embargo, la edición de datos geoespaciales también es posible en el mapa web, desde el navegador de Internet. En ese caso ya no se necesita una instalación local de QGIS Desktop. Como en un mapa web editable todos los usuarios con acceso al mapa también pueden editar, se recomienda que los mapas editables solo sean accesibles para usuarios específicos (sección Protección de acceso a mapas).
Para probar la funcionalidad de edición sin una cuenta Pro, existe el mapa de prueba https://qgiscloud.com/mhugent/sandbox_map. En este mapa sandbox se pueden añadir objetos nuevos o modificar objetos existentes libremente.
Un requisito para editar una capa es que tenga el tipo de geometría correcto. Actualmente solo se pueden editar datos vectoriales bidimensionales. Esto significa que las siguientes geometrías no son compatibles:
PointZ, PointM
LinestringZ, LinestringM
PolygonZ, PolygonM
Preparar capas editables
Editar una capa significa crear nuevas geometrías o atributos, o editar los existentes. Básicamente, cada tabla de datos subida a la base de datos de QGIS Cloud mediante el plugin QGIS Cloud tiene la columna qc_id, que genera valores automáticos. Esta columna no debe ser editable dentro de la función de edición, ya que debe contener valores únicos generados automáticamente. Si se introdujera manualmente un valor en este campo, existiría el riesgo de que ese valor apareciera dos veces en la tabla, lo cual no está permitido y provocaría un error al guardar la entrada. Para evitar la edición de la columna qc_id, oculte el campo en la máscara de edición del QGIS Cloud Web Client.
Abra el diálogo de propiedades de la capa correspondiente y seleccione la opción Attribute Form. Ahora verá listados todos los campos de la capa. En la parte superior debería aparecer el campo qc_id. Haga clic en qc_id.
Si establece Widget Type en Hidden, como se muestra en la figura, este campo ya no se mostrará al entrar en modo de edición en el QGIS Cloud Web Client. Al guardar los cambios, se generará automáticamente el siguiente valor único disponible.
ocultar qc_id
De este modo puede ocultar todos los campos que no quiera ver en la edición del QGIS Cloud Web Client.
Para probar la funcionalidad de edición, haga editable la capa de ríos del mapa de ejemplo de la sección Mapa de ejemplo. Para ello, en las propiedades del mapa del sitio web de QGIS Cloud, en editable layers, marque la capa correspondiente y haga clic en update map al final de la página. La entrada Editable Layers solo es visible en QGIS Cloud Pro dentro de las Map Properties.
definir capas editables
En el mapa web aparece ahora una entrada Edit en Map & Tools -> Tools. Después de pulsarla, puede seleccionar la capa que se va a editar. Con Select puede editar un objeto existente; con Draw puede crear un nuevo objeto en el mapa.
herramienta de edición en QGIS Cloud Web Client
QGIS Cloud tiene en cuenta los tipos de datos y los ajustes de edición del proyecto QGIS publicado:
Los atributos que tienen el tipo de edición Hidden en QGIS tampoco se mostrarán al editar en el mapa web.
Los atributos de tipo bool se muestran como controles deslizantes activado/desactivado.
Los atributos de tipo date o timestamp se muestran en una vista de calendario.
Los atributos Integer se muestran en un spinbox. Se aplican las restricciones de valor mínimo/máximo y el tamaño de paso seleccionados en QGIS.
Los atributos con tipo de edición value mapping se muestran como un cuadro combinado al editar en el mapa web.
cuadro combinado en la edición de atributos
Continúe digitalizando la línea. Para ello, coloque los vértices con clics del ratón. Para finalizar la digitalización de la línea, haga doble clic; se abrirá entonces el formulario de atributos para introducir la información correspondiente.
Los vértices de la línea también pueden editarse:
move - mueva el cursor del ratón sobre el vértice. Cuando el punto se vuelva azul, puede arrastrarlo y moverlo con el ratón.
add - haga doble clic sobre la línea para añadir un vértice.
delete - con shift + click se elimina un punto.