Welcome to Planet OSGeo

November 29, 2022

Por demanda popular la Universitat Politècnica de València ha habilitado una serie de enlaces para que se puedan seguir las 18as Jornadas Internacionales de gvSIG + Jornadas GeoLIBERO 2022 vía streaming.

Así que todo el mundo que nos ha escrito, llamado, preguntado por las redes sociales… ya tenéis una opción para seguir en directo las diferentes ponencias y talleres. Aprovecho este post para agradecer a la UPV el que haya añadido esta posibilidad para todas aquellas personas que quieren seguirnos en directo y no pueden estar presencialmente.

Os dejamos con los distintos enlaces, indicando horario (de España) y día. Para ver equivalencia con ponencias y talleres, podéis consultar el programa:


Apertura y Sesión inauguración 9:00 a 11:00 h 30/11/2022


Sesiones 1 y 2

11:00 h a 15:15 30/11/2022


Taller 1

16:00-18:30h 30/11/2022


Taller 2 y 3

15:25h a 19:25h 30/11/2022


Sesión 3

9:00 h a 11:00 1/12/2022


Sesión 4, 5 y 6

11:10 a 14:50 1/12/2022


Taller 4:

15:25 a19:40 1/12/2022


Taller 5

10:25 a 12:30 2/12/2022


Taller 6

12:30 a 15:00 2/12/2022


¡Empezamos mañana!

by Alvaro at November 29, 2022 03:59 PM

November 28, 2022

Looking out the window at the landscape below remains the best part of flying. My family and I went to Boise, Idaho, last week and the views were extra good. I've driven from Fort Collins to Cody, Wyoming, and Idaho Falls, Idaho, for Thanksgiving in years past when I had more time than money, but I'm done with that. BOI-DEN-Fort Collins (by car) takes 5 hours, maximum. Traversing Wyoming (alone, not counting the CO, UT, ID legs) in Winter takes 2d6 + 4 hours.

I was on the north side of a 737-900 leaving Boise at 7 a.m. Friday and got some superb early morning views of the Lost River (ID), Teton (WY), Wasatch (UT), Uintah (UT), Rawah (CO), and Never Summer (CO) ranges.


Utah's Uintah range.


Colorado's Rawah range.

by Sean Gillies at November 28, 2022 01:29 AM

November 27, 2022

Planet Labs, my employer, suggests people take a Friday paid day off every month. I used mine in October to go on a little adventure that I'd been thinking about for a couple years: running from my house to the summit of Horsetooth Mountain and back again. I spent eight and a half hours on the trail, including many stops for photos, water, and food, covering 33 miles and 4100 feet of elevation gain. Horsetooth Reservoir, 7 miles long and half a mile wide, was my primary obstacle.


Horsetooth Mountain from Centennial Drive, 5 miles in.

The first four miles were on the Spring Creek bike path and dirt in Pineridge Open Space. Beyond that was seven miles of road shoulder to go around the south end of Horsetooth Reservoir and reach the upper Horsetooth Open Space trailhead. I drive this road once or twice a week, but had never run it before. It's fairly busy, so I ran strictly on the left and kept a close eye on oncoming vehicles. Waving and mouthing "thanks" when drivers give me extra room is my standard practice.


13 miles in, 10 minutes from the summit.

From the Horsetooth parking lot, I had 10 miles of peaceful single track, mostly all to myself. I took it very easy, only using a little speed to reach the Lory State Park visitor's center at the north end of Horsetooth Reservoir before closing time, 4 p.m., to buy a Coke and refill water bottles.


View west from the top.

I found the smuggler's route from the vistor center through to the north Horsetooth boat ramp, saving me from three additional miles of road shoulder, ran the road back along the reservoir's east shore to Maxwell Open Space, and then through Maxwell to Pineridge and back down the bike trail. Overall it was half road, half dirt.

To cap things off, I ordered Sichuan and Wuhan style noodles from Beijing Noodle (awesome place, closest restaurant to my house) using my phone's browser on the trail, and then carried the takeout boxes home on foot while drinking a beer from the store next to the noodle shop. It was such a satisfying day. I'll be thinking fondly about this adventure for a while.

by Sean Gillies at November 27, 2022 08:04 PM

Twitter's biggest problem now is its owner's narcissism and right-wing radicalization. Josh Marshall calls out Musk's scapegoating of minorities and other ugly shit:

We’re hardly four weeks into the Elon era on Twitter and he’s already cueing up a storyline in which he tried to placate the Blacks and the Jews and the gays but they betrayed him and set out to “kill Twitter.”

Musk isn't Tony Stark, he's the Donald Trump of batteries and rockets.

by Sean Gillies at November 27, 2022 07:26 PM

November 26, 2022

The following is a method for converting QGIS projects into stylized Cloud Optimised Geotiffs (COG)s. The process is devised as an alternative to raster tiling and explores the use of COGs as a raster-tile-esque format along with QGIS as a styling editor replacing Tilemill.

For those unfamiliar with the COG format, there is an excellent explanation here.  

For COG uses in QGIS, users readers can look here.

Basic Method

  1. Develop QGIS project
  2. Build in zoom rules for scales
  3. “Export as Image” based on scale and zoom resolution
  4. Images converted to overview structure, with the lowest scale being the base of the overviews
  5. Combine images into COG.
  6. Upload COG to S3 and consume via webviewer or QGIS

The Method in Detail

The method relies on two processes readily available today. One is the QGIS “Export to Image” function and two, is a quirk of GDAL overviews, where an overview can read an overview of itself. 

Let’s build a hypothetical QGIS project with a hillshade.tif, multiplied into an elevation DEM.tif gradient, and a vector roads layer placed over top. With the roads layer in place, build a few varying road widths like:

  • road_width = 1 at 250k scale
  • road_width = 5 at 100k scale
  • road_width = 10 at 50k scale

With these rules in place, let’s next export a few images from capturing the style changes using the QGIS “Export to Image” function. ‘Export to Image” allows users to export images from the project based on extent, resolution, and scale. Sort of like taking snapshots of a project at different zoom levels and in different areas of interest.  When used properly, the exported image will honour the zoom rule for that scale.  So, from the example, users could export three images using the scale capturing the road width changes. Let’s say the exports are named:

  • 50k.tif
  • 100k.tif
  • 250k.tif

Great, we can export images with zoom rules honoured in the images, but what does it matter? Well, if we could “stack” these images in QGIS, have the resolution set to half of each other,  and have them automatically turn on/off as users zoom, we would see the changes happening for each scale. This is entirely possible and how overviews work in geospatial;  we now just need to hack the overview method for the purposes of viewing our images in this manner. 

Here is the basic premise: in order to get our images to act as overviews, we want to reduce the geospatial image resolution (not DPI) by half of the image before it. So, if the image at the bottom (50k.tif) is 14, then the 100k.tif is 28.  These are strange DPIs, but will make more sense in a moment. 

The resolution we are seeking for each image is based on the screen resolution, scale, and pixel width of the tile. In its most basic form, the resolution of the for a given scale can be found by multiplying the scale (in metres) by 0.00028.

  • Resolution = Scale * 0.00028
  • Where, 0.00028 is metres/pixel.  

Knowing this equation, we can begin to build a “tile matrix” composed of Zoom Level, Scale, and Resolution.   Here is good explanation of the tile matrix from the OGC.

Matrices are available for a number of projections.  The NZTM tile matrix developed by LINZ is here. Inspecting the NZTM matrix,  the resolutions we are seeking for the image scales are:

Snippet of NZTM Tile Matrix for the Web

Now we know the image resolution we need,  when we “Export to Image” from QGIS we can set the proper resolution for the images as if they were stacked into a pyramid. Let’s revise the export of the images and use the correct resolution:

  • 50k.tif (image resolution = 14)
  • 100k.tif (image resolution = 28)
  • 250k.tif (image resolution = 70)

I do this programmatically using pyQGIS leveraging QPainter.  You can see a full python script here.

Here is where the Overviews now come into play. We want the 50k.tif image to see the 100k.tif image as an overview and so on down the line.  Fortunately, we can rely on a strange quirk of GDAL to do this.  Using GDAL, or any other raster tool, convert your image stack look like so:

  • 50k.tif -> No change
  • 100k.tif -> 50k.tif.ovr
  • 250k.tif -> 50k.tif.ovr.ovr

GDAL command line example: 

gdal_translate \
	100k.tif \
        50k.tif.ovr \
        -of "GTiff" \
        -r bilinear \
        -co PROFILE=BASELINE \
        -co BIGTIFF=YES \
        -co TILED=YES

* Note: we are stripping the header from only the overview images using PROFILE=BASELINE. We don’t need the additional information and it makes a lighter file.

Now we have:

  • 50k.tif 
  • 50k.tif.ovr
  • 50k.tif.ovr.ovr

You could now load only the 50k.tif file into QGIS and see the changes from the other files happen as you zoom in. If you wanted and you only planned to use QGIS, you could leave it here, but this post is about how to bring this into a single file format (COG), ready for the web.

The last step is to bring all these files into a single file format, the COG. When creating a COG, GDAL will allow users to use external overviews we already generated instead of generating them itself.  That is what we do here.  We point to the single base file, set the output format to COG, and compress the tiled overviews.

gdal_translate \
	50k.tif \
	50k-cog.tif \
	-of COG \

In the end, we have a single COG tif file, with internal overviews tiled and acting like “zoom” scales.

From this point, the COG can be transferred to a location like S3 and accessed by Openlayers. You can view loading a three band COG in Openlayers here, to get a sense on how to access the file.  This is how I load the COG using Openlayers:

const url = "https://d3cywq4ybqu7io.cloudfront.net/cogs/as-raster-tile/50000-cog.tif"

const cogSource = new GeoTIFF({
  sources: [
  convertToRGB: true,

const cog = new TileLayer({
  crossOrigin: 'anonymous',
  source: cogSource,
  extent: extent,

* the notable bit here is that you might need to use: convertToRGB: true

You can view the website with the COG in action here.

The COG may also be directly access from S3 in QGIS without the need to download the file. In the “Add Layers”, you can access the COG as a “Raster” using the “http” connection.


There are a lot of moving parts in this process and it can get a bit confusing about what step goes where. Here is a link to the Git repo I built with a few examples. Please do contact me with questions and I will try to help however I can.

by xycarto at November 26, 2022 02:52 AM

November 25, 2022

Desde el principio en geomatico nos hemos preocupado por el impacto que teníamos en todas las facetas de nuestra actividad. Una de las más importante para el día a día de una empresa es el acceso a la financiación. De momento en geomatico no hemos necesitado financiarnos, y optamos por depositar nuestros ahorros en Coop57 con la idea de que nuestro dinero pudiese ayudar a iniciar proyectos de la economía social. Coop57 es una cooperativa de servicios financieros éticos y solidarios que tiene como objetivo principal, contribuir a la transformación social de nuestra economía y de nuestra sociedad. 

Para nosotros es una tranquilidad saber que nuestro dinero está financiando este tipo de proyectos y por eso os animámos a que echéis un vistazo a quienes son Coop57 (Quienes somos) y participéis como socios de la cooperativa #sumacoop57.

by Geomatico at November 25, 2022 11:55 AM

November 24, 2022

Dashboarding with pycsw and Apache Superset

At ISRIC - World Soil Information we’re in the process of adopting pycsw in a data workflow related to the EJP Soil project. One of the project requirenements is to provide a dashboard with catalogue statistics. On one hand to better understand the content of the catalogue, but also to identify gaps in data availability, by location, date and/or topic.

Apache Superset dashboard visualizaion of pycsw catalogue

At ISRIC we’re already using Apache Superset in some of our projects, so it was relatively easy to add the pycsw database and set up the initial dashboard vizualisations. The initiative was appreciated, so these days we include the dashboard in each of the pycsw deployments.

Superset is a tool to create dashboard vizualisations on (relational) databases. It is not as full featured as Kibana or Tableau. But it does offer a considerable set of features and fits well in the Open Source aspect of pycsw.

In this blog I’ll give a quick starter on how to get started. Note that for production systems I recommend to set up proper authentication and Redis Cache for improved performance.

The starting point is https://hub.docker.com/r/apache/superset which provides good guidance on how to get started with superset. The guidance suggests to install the World Bank's Health Nutrition and Population Stats samples. Which is a nice example, but it is probably better to continue with a clean environment. A SQLite driver is available by default, but you need to tweak the config file to allow connections to sqlite.

If you aim to connect to a pycsw PostGreSQL database, you need to add the psycopg2 driver to the docker image. Alexander Mencevice prepared some docker compose examples for setting up superset with postgres (and redis).

With a running superset instance you can now login and connect to the pycsw database. Setting up vizualisations on fields such as accessconstraints is quite straight forward.

  • On datasets create a new dataset based on the connected database and select the records table.
  • Then the dataset explore screen opens.
  • Select a chart type (for example pie-chart).
  • Select group by identifier.
  • On the simple tab in metrics, select accessconstraints and Count
  • Save and Run query to get your first chart.

You can now add the chart to a dashboard.

Sharing the dashboard to the public can be done by publishing the dashboard. But also you need to give public access to the datasets behind the charts:

  • Open the List Roles in Settings.
  • Edit the public role.
  • Start typing datasource access on [My database][records](id:7) and select the relevant dataset from autocomplete.

Unnesting json type pycsw fields

In recent versions pycsw introduced a number of fields which contain json. Superset currently is not able to parse json and use it in charts. However you can set up saved queries and use them as datasets. In a saved query you can place advanced PostGres SQL to parse and unnest the json. JSON support in postgres has evolved quite a bit in recent versions. Note that you have to parse the json to string of record(set). In case of record(set) you need to join the result of the json parsing back to the original resultset (unnest). An example of a query to unnest the pycsw links:

SELECT identifier, k.name, k.protocol
  records r, 
  json_to_recordset(cast(r.links as json)) as k(name text, protocol text)

Saved queries are created in the SQL lab. Click Explore once the query is ok to save it and create a vizualisation on it. Note that you have to give access to public on the saved query for it to be available publicly.

November 24, 2022 11:59 AM

Hoy os traemos información sobre las ponencias que conforman el segundo día de las Jornadas gvSIG + GeoLIBERO.

Sesión 3: Cartografía colaborativa

Iniciamos el segundo día con una sesión, moderada por Juan Pablo Navarro del Colegio Oficial de Ingeniería Geomática y Topográfica, dedicada a la cartografía colaborativa. Tan importante es que el software sea libre como que lo sean los datos.

  • Proyecto Co.mapper: Información Geográfica Voluntaria en la comunidad estudiantil. Desde la Universidad Autónoma del Estado de México nos presentan este proyecto humanitario que implementa la metodología OPEN CITIES buscando la reducción de riesgos de desastres naturales derivados del crecimiento urbano a través del uso de datos abiertos.
  • Cartografía colaborativa y desarrollo de soluciones geoespaciales abiertas: fomento del intercambio de conocimientos a través de redes. Profesora de la Universidad Federal de Paraná y con amplia experiencia en proyectos de cartografía colaborativa y software libre, la ponente nos hablará del fomento de intercambio de conocimientos a través de redes.
  • Integración de escenarios virtuales en la actualización cartográfica del campus CU-UAEMéx. Una propuesta desde el ecosistema de OSM. ¿Escenarios virtuales y OpenStreetMap? Veremos que nos proponen desde la Universidad Autónoma del Estado de México

Sesión 4: Consultoría y análisis

Continuaremos con una sesión dedicada a mostrar diversos proyectos de consultoría y análisis, de ámbitos como el medio ambiente, los riesgos naturales o la salud. Moderada por Felipe Sodré Mendes Barros de la Universidad Nacional de Misiones de Argentina, tendremos las siguientes ponencias:

  • Uso de gvSIG en la revisión del Plan Especial de Protección Civil ante Sismos del Gobierno de Aragón. Proyecto que nos mostrará como a partir de la información proporcionada por el Instituto Geológico y Minero de España (IGME) y de los datos tomados en campo por Geoscan se elaborarón una serie de mapas a partir de los cuales y mediante las herramientas de geoprocesamiento de gvSIG Desktop, se realizaron una serie de mapas de susceptibilidad a distintos tipos de riesgos. Estos mapas sirvieron de base a la ingeniería para elaborar los mapas de riesgos de cada municipio.
  • gvSIG aplicado al riesgo de impacto paisajístico. Ante la necesidad de realizar un análisis de impacto paisajístico para aprobar una nueva instalación en una zona del municipio de Zaragoza, se muestra el uso de gvSIG Desktop para su elaboración.
  • Aumento de la calidad de los hábitats durante los confinamientos por COVID19 en la Península Ibérica. Los confinamientos derivados de la pandemia tuvieron un fuerte impacto en el medio ambiente y la diversidad. n esta ponencia se mostrarán los estudios realizados con SIG para conocer los verdaderos efectos que tuvo el confinamiento sobre los hábitats y las especies que los habitan.
  • Evaluación del impacto de inundaciones costeras bajo escenarios de cambio climático desde un enfoque de género y generaciones. Mediante el uso de datos y software libre se nos mostrará un interesante estudio desde una perspectiva novedosa.

Sesión 5: Administración local

Moderada por Javier Rodrigo Blanco, de SCOLAB y uno de los padres de gvSIG Online, llegamos a una interesantísima sesión en la que veremos como diversos ayuntamientos están implantando soluciones de software libre para optimizar la gestión de su información espacial.

  • La IDE Local en el marco de la directiva INSPIRE. Las entidades locales constituyen la administración local, la más cercana al territorio, al ciudadano y con más competencias propias vinculadas al espacio sobre el que desarrollan sus funciones, por lo que precisa de información geográfica de gran nivel de detalle y variedad temática. Está formada por los ayuntamientos, las diputaciones y los cabildos/consells insulars. La Directiva INSPIRE, fija normas generales con vistas al establecimiento de una infraestructura de datos espaciales en la Comunidad Europea, orientada a la aplicación de las políticas comunitarias de medio ambiente. Para dar cumplimiento a la directiva INSPIRE las administraciones deben publicar sus datos geográficos acorde a unas especificaciones. Sobre todo ello nos hablarán desde la Diputación de Barcelona.
  • Implementación de Sistemas de Información Geográfica para la gestión municipal en Perú basado en software libre. Nos vamos a otras latitudes para conocer soluciones en software libre aplicadas en municipios de Perú.
  • Infraestructura de Datos Espaciales de Alzira. Veremos los distintos geoportales que ya conforman la IDE, algunos desarrollos particulares para facilitar el acceso a información urbanística a los ciudadanos y la integración de gvSIG Online con el gestor de expedientes Indenova.
  • Infraestructura de Datos Espaciales de Nàquera. Conoceremos como el Ayuntamiento de Nàquera ha puesto en marcha su IDE, qué geoportales tienen disponibles y cómo están escalando su aplicación a ámbitos como la gestión de áreas industriales.
  • Infraestructura de Datos Espaciales de Albacete. Esto va mucho más allá de una IDE. Un completo proyecto de gestión de la información municipal con componente geográfica, con todo tipo de integraciones y desarrollos.

Sesión 6: Educación

Moderada por Alvaro Anguix, director general de la Asociación gvSIG, cerraremos las sesiones de ponencias de estas Jornadas hablando de educación y geomática libre. Propuestas y perspectivas.

  • Propuesta de una estrategia metodológica para la enseñanza de la geomática en América Latina. Desde El Salvador nos mostrarán su propuesta para todo el ámbito de América Latina.
  • Una perspectiva de la Geomática en el ámbito universitario iberoamericano. ¿Cuál es la situación de la geomática en el ámbito universitario iberoamericano? Fruto de un interesante estudio, se presentaran las conclusiones a las que se ha llegado.

Seguiremos con talleres esa misma tarde y la mañana del día siguiente.

La asistencia a las jornadas es gratuita, solo debéis haber realizado la inscripción, que podéis hacer aquí.

by Alvaro at November 24, 2022 07:00 AM

November 23, 2022

Hoy os traemos algo de información sobre las excelentes ponencias que conforman el programa de las Jornadas gvSIG + GeoLIBERO. Proyectos y novedades que debéis conocer, de las más diversas temáticas y desarrollados en todo tipo de geografías. Vamos con las sesiones que os vais a encontrar durante el primer día…

Sesión de inauguración

La sesión con la se inician las jornadas, moderada por Raquel Borjabad de la Dirección General de Tecnologías de la Información y las Comunicaciones, comprende las siguientes ponencias:

  • GVENRUTA: Plataforma de cálculo de rutas multimodal para movilidad sostenible de la Comunitat Valenciana. GVENRUTA es el nombre del proyecto con el que la Generalitat Valenciana, con el objetivo de fomentar la movilidad sostenible, ha puesto en marcha un servicio de planificación de rutas multimodal para el ámbito de la Comunitat Valenciana. El proyecto ha comprendido la puesta en marcha de un geoportal y dos APPs, una para Android y otra para iOS, además de la implantación de las herramientas de administración del sistema.
  • SIGCAR: gestión de seguridad vial con gvSIG Desktop. SIGCAR es el nombre del proyecto orientado a gestionar toda la información de accidentalidad de la Generalitat Valenciana. Integración con Arena2 de la Dirección General de Tráfico, análisis de accidentes, generación de informes, gestión de aforos, mantenimiento del catálogo de carreteras…
  • GuiaT: Impulsos hacia la Agilización Urbanística. Herramienta de agilización de trámites urbanísticos que permite a promotores, redactores y personal técnico funcionario acceder a la información urbanística más relevante de un ámbito y conocer con carácter previo, cuáles son los condicionantes sectoriales y la documentación necesaria, evitando así, trámites innecesarios.
  • FONDEA: aplicación para la protección las praderas de posidonia de los fondos marinos valencianos. Desarrollo de una aplicación móvil para la señalización de praderas fanerogamas con el objetivo de que los usuarios de embarcaciones dispongan de una app móvil que les permita fondear fuera de las zonas de praderas de posidonia teniendo cartografiada y localizadas dichas zonas.

Sesión 1: Internacional

Continuaremos con una sesión orientada a presentar proyectos en distintos países, desarrollados con la Suite gvSIG: El Salvador, Uruguay, Brasil, Malí y España. Sesión moderada por Antoni Pérez Navarro de la UOC Universitat Oberta de Catalunya.

  • Visualizador cartográfico del proyecto Sinergias Ciudadanas, fortaleciendo y construyendo cultura de paz y los DDHH de las mujeres y las personas LGTBI en El Salvador. Un proyecto en el que veremos como se pueden utilizar las soluciones de gvSIG para dar visibilidad a los datos de violencia contra las mujeres y las personas LGTBI en El Salvador.
  • gvSIG Batovi: Los jóvenes y adolescentes conociendo y transformando su entorno. Llevar la tecnología a los más jóvenes y que estos la usen para conocer su entorno y proponer todo tipo de propuestas para su mejora. Educar transformando. Un proyecto que hay que conocer e intentar replicar en otros países (como ya han empezado a hacer en México).
  • Desarrollo del Sistema Único de Direcciones de Uruguay. Un proyecto con una complejidad técnica detrás más que destacable. Y con una implicación de país. El Sistema Único de Direcciones Geográficas del Uruguay (Decreto Presidencial 160/022) es una base única de direcciones actualizadas. Busca asegurar que todas las viviendas y locales tengan dirección en formato interoperable con un código único nacional para cada elemento. Y el software para ponerlo en marcha ha sido la Suite gvSIG.
  • Geoportal del estado de Tocantins, Brasil. Más allá de presentar la Infraestructura de Datos Espaciales desarrollada para uno de los estado más grandes de Brasil, se mostraran las herramientas de geoestadística y cuadros de mandos que se han integrado en gvSIG Online.
  • Aplicación para identificación de riesgos en los desplazamientos de los Cascos Azules en Malí. La Misión Multidimensional Integrada de Estabilización de las Naciones Unidas en Malí (MINUSMA) es una misión de paz establecida por el Consejo de Seguridad en su resolución 2100 del 25 de abril en 2013 para estabilizar el país tras la rebelión tuareg de 2012. ¿Queréis conocer la aplicación basada en la Suite gvSIG que se ha desarrollado para mejorar la seguridad de los Cascos Azules?
  • GIS. Sistemas clave en la gestión de proyectos renovables. Repsol Renovables nos presentará el uso que están haciendo de la Suite gvSIG para gestionar los diversos proyectos (y cientos de capas de información) relacionados con las energías renovables.

Sesión 2: Novedades de la Suite gvSIG

Cambio de tercio, pasamos de las sesiones de proyectos a presentar algunas de las principales novedades de la Suite gvSIG, tanto para gvSIG Online como gvSIG Desktop… además de realizar la presentación oficial de gvSIG Mapps. Sesión moderada por Carlos Lara Peña de la UCSC Universidad Católica de la Santísima Concepción de Chile.

  • Automatización de tareas de transformaciones de datos, desarrollo de un ETL para gvSIG Online. ¿Os gustaría tener un FME en software libre? Se presenta una de las mejoras más relevantes de gvSIG Online, su ETL. De forma resumida permite automatizar tareas de transformaciones de datos, ya sean repetitivas o no, de manera que no sea necesario la manipulación de los datos a través de código. Para saber más, tenéis que asistir a la ponencia.
  • gvSIG Mapps: app de gvSIG Online para toma de datos en campo. Framework para el desarrollo de apps móviles con componente geográfica. La más reciente incorporación a la Suite gvSIG. Una app móvil para tomar y actualizar datos en campo y plenamente integrada con gvSIG Online, es decir, con geoportales e IDEs. Y, no solo eso, además es un framework que permite desarrollar apps móviles a medida.
  • Preparación de modelos de datos en gvSIG Desktop. Cuando trabajamos con un Sistema de Información Geográfica, además de gestionar datos geográficos tenemos que mantener una serie de información alfanumérica asociada a esa información espacial. A veces, esa información puede ser una número de tablas considerable relacionadas entre sí. ¿Cómo gestionar esto con un SIG? Con gvSIG Desktop ya tenemos las herramientas para ello…
  • Explorando el potencial de las fichas de búsqueda en gvSIG Desktop. Esto hay que verlo para entender el alcance. No se trata de usar el típico buscador de los SIG de escritorio. Va mucho más allá. Poder generar fichas a partir de nuestros datos, relacionados entre sí, y complicar nuestras búsquedas tanto como necesitemos.
  • VCSGIS: Control de versiones para cartografía en gvSIG Desktop. Finalizamos con una deuda que tenían los SIG libres con la edición y mantenimiento de información a niveles avanzado. Gestión de históricos, edición multiusuario, topología… lo dicho, cerramos la sesión de ponencias por todo lo alto.

Y por la tarde… talleres.

La asistencia a las jornadas es gratuita, solo debéis haber realizado la inscripción, que podéis hacer aquí.

by Alvaro at November 23, 2022 10:00 AM

La Facultad de Geografía e Historia de la Universidad de Sevilla, ha celebrado durante el periodo comprendido entre el 7 y el 17 de noviembre, dos cursos sobre el programa QGIS. Dichos cursos, titulados “Introducción a los sistemas de información geográfica QGIS” y “Sistemas de Información Geográfica QGIS II” se han enmarcado dentro del programa de doctorado de dicha facultad. Organizados por la Doctora Pilar Díaz Cuevas e impartidos por el profesor Gabriel Orozco Frutos, los cursos han sido recibidos de manera gratuita por doctorandos y profesores de la Universidad especializados en diferentes materias.

Entre los campos en los que harán uso del software encontramos: Análisis de vulnerabilidad, energías renovables, turismo, paisaje y patrimonio en la arqueología, cartografía histórica, la sociedad de la información en los hogares de las regiones europeas, movilidad intermodal y Smart cities, …

Alumnos y profesor del curso de QGIS del programa de doctorado (Sevilla)

Percepciones sobre QGIS de algunos de los asistentes al curso:

  • “No conocía el programa QGIS y me ha resultado muy útil. Con unas mínimas nociones, apoyada por la Ayuda que proporciona el mismo y que es muy completa, es posible empezar a trabajar con el programa sin poseer grandes conocimientos. Tiene herramientas intuitivas y sencillas y se puede ver que también grandes posibilidades si se utiliza con intencionalidad. La existencia de una comunidad activa que lo sustenta es realmente positiva. Estoy muy satisfecha de haber empezado a usarlo.” Carmen Venegas – Gerente Centro de Estudios Paisaje y Territorio.

  • “En tan solo cuatro días aprendiendo QGIS con Gabriel, he conseguido superar el bloqueo que tenía en el campo de los SIGs y he empezado a utilizarlo en mis estudios.“ Rafael Giraldo Aguilar. Arqueólogo, historiador y gestor cultural.

  • “Hasta ahora, aunque conocía QGis, lo había utilizado muy poco (prácticamente solo para conectarme a bases de datos PostGIS y visualizar los resultados de los análisis realizados). Recientemente he tenido la oportunidad de participar en dos cursos de QGis (nivel introductorio y avanzado respectivamente), organizados por el Programa de Doctorado en Geografía de la Universidad de Sevilla (coordinados por la Dra. Pilar Diaz Cuevas e impartidos por Gabriel Orozco Frutos) y en ellos he descubierto una herramienta muy completa y versátil que responde prácticamente a todas las necesidades de análisis que hasta ahora cubría con otras herramientas. Me han resultado especialmente interesantes los complementos tan variados y útiles a los que nos permite acceder, y en la actualidad estoy experimentando con algunos de ellos, destinados a la clasificación digital de imágenes de satélite.“ Dra. Esperanza Sánchez Rodríguez - Profesora Contratada Doctora. Universidad de Sevilla.

  • “El familiarizarme con un SIG libre y gratuito como QGIS, a través de los dos cursos que ha impartido en la Universidad de Sevilla para doctorandos en Geografía y profesores, ha sido para mí una experiencia de reciclaje docente muy gratificante. Su botonadura, aunque mejorable, no es especialmente compleja, la cantidad de plugins instalables resulta muy atractiva y la posibilidad de trabajar en la nube también muy atrayente. Además, el que exista detrás una comunidad organizada de usuarios con los que interactuar es algo sumamente positivo." Dr. Jesús Ventura-Fernández, Profesor titular de Análisis Gº. Regional en la Universidad de Sevilla.

November 23, 2022 10:00 AM

November 22, 2022

Os traemos un post recopilando toda la información sobre los talleres que se van a impartir en las 18as Jornadas Internacionales de gvSIG+Jornadas GeoLIBERO 2022. Todos ellos gratuitos.

Para asistir a cualquiera de los talleres solo debéis haber realizado la inscripción a las Jornadas, lo que podéis hacer aquí.

Primer día

El miércoles 30 de noviembre hay programados tres talleres:

Segundo día

El jueves 1 de diciembre ocuparemos toda la tarde con un único taller:

Tercer día

Por último, el viernes 2 de diciembre, durante toda la mañana se llevarán a cabo estos dos talleres:

¡Os esperamos!

by Alvaro at November 22, 2022 02:57 PM

November 21, 2022

The GeoTools team is pleased to share the availability GeoTools 28.0 :geotools-28.0-bin.zip geotools-28.0-doc.zip geotools-28.0-userguide.zip geotools-28.0-project.zip Improvements and fixes in this release BugGEOT-6324 WFS-NG online tests don't extend OnlineTestCaseGEOT-7242 Simplification fails for geographic shapes in HANAGEOT-7244 Constructor GridGeometry2D(Rectangle, Rectangle2D) looses

by Andrea Aime (noreply@blogger.com) at November 21, 2022 03:58 PM

Si queréis aprender a explotar (y explorar) vuestros datos al máximo nivel… no os perdáis este taller.

El día 30 de noviembre durante las 18as Jornadas Internacionales de gvSIG, desde las 15:30 se realizará el taller gratuito “Preparación de modelos de datos y fichas de búsqueda en gvSIG Desktop”.

¿Qué vamos a aprender en el taller?

Los asistentes al taller podrán aprender a configurar modelos de datos en gvSIG Desktop. En muchas ocasiones, cuando trabajamos con un Sistema de Información Geográfica, además de gestionar datos geográficos tenemos que mantener una serie de información alfanumérica asociada a esa información espacial. Unas veces son solo unos pocos datos extra, pero otras la información alfanumérica representa una parte tan importante como la información geográfica. A veces una tabla o capa esta relacionada con otras y no estamos acostumbrados a disponer de herramientas que integren el manejo de la parte geográfica con un modelo de datos alfanumérico.

En este taller vamos a partir de una serie de tablas, unas con datos geográficos y otras no. Tablas que lo que tienen en común es que en su conjunto forman un modelo de datos. Vamos a ver como configurar gvSIG desktop para poder trabajar con ellas como un todo.

Aprenderemos a que configurando adecuadamente nuestras tablas podemos navegar por los datos, mediante las denominadas fichas de búsqueda, y realizar búsquedas potentes sobre los datos alfanuméricos desde una aplicación SIG.

¿Dónde se realiza?

El taller se realizará en el “Aula 0.2”, que incluye ordenadores por lo que no es necesario traer portátil.

Y muy importante, si pensáis asistir al taller no os olvidéis de inscribiros a las Jornadas: http://www.gvsig.com/es/eventos/jornadas-gvsig/18as-jornadas-gvsig/inscripcion

by Alvaro at November 21, 2022 09:06 AM

November 19, 2022

In the previous post, we — creatively ;-) — used MobilityDB to visualize stationary IOT sensor measurements.

This post covers the more obvious use case of visualizing trajectories. Thus bringing together the MobilityDB trajectories created in Detecting close encounters using MobilityDB 1.0 and visualization using Temporal Controller.

Like in the previous post, the valueAtTimestamp function does the heavy lifting. This time, we also apply it to the geometry time series column called trip:

SELECT mmsi,
    valueAtTimestamp(trip, '2017-05-07 08:55:40') geom,
    valueAtTimestamp(SOG, '2017-05-07 08:55:40') SOG
FROM "public"."ships"

Using this SQL query, we again set up a — not yet Temporal Controller-controlled — QueryLayer.

To configure Temporal Controller to update the timestamp in our SQL query, we again need to run the Python script from the previous post.

With this done, we are all set up to animate and explore the movement patterns in our dataset:

This post is part of a series. Read more about movement data in GIS.

by underdark at November 19, 2022 10:09 AM

I didn't think last two years Post GIS Day conferences could be topped, but I was wrong. This year's was absolutely fabulous and better than all the others. We had two key conferences going on this year (yesterday). The first was the Cruncy Data PostGIS Day 2022 12 hour marathon of nothing but PostGIS related talks. Many thanks to Elizabeth Christensen and Paul Ramsey for putting it all together and for 12 hrs. The PostGIS day celebrations climaxed with many of us playing capture the flag on Paul's new shiny invention until we managed to crash it.

Continue reading "Post GIS Day 2022 Celebrations"

by Regina Obe (nospam@example.com) at November 19, 2022 12:29 AM

November 18, 2022

Publicação – III Simpósio Brasileiro de Infraestrutura de Dados Espaciais

A Secretaria do Planejamento e Orçamento do Estado do Tocantins (SEPLAN/TO) conduziu o desenvolvimento de um sistema multiusuário de informações para armazenamento, organização e compartilhamento público de dados geoespaciais produzidos pela Instituição, denominada publicamente como Geoportal. Essa estrutura integrará a Infraestrutura de Dados Espaciais do Tocantins (IDE-TO), cuja base legal foi instituída pelo Decreto Estadual nº 5.459/2016. Esse trabalho apresenta as funcionalidades da ferramenta Vistas SQL desenvolvida para a plataforma gvSIG Online que faz o gerenciamento dos dados censitários do Geoportal da SEPLAN/TO.

A arquitetura do sistema multiusuário de informações está apoiada em três camadas: servidor de aplicativo, servidor de banco de dados e cliente web. Na camada de servidor de aplicativos, utiliza-se o Geoserver como servidor de mapas, ofertando os dados por meio dos protocolos padrão Open Geospatial Consortium (OGC) para geração de mapas, Web Map Services (WMS), Web Map Tile Service (WMTS), Web Feature Service (WFS) ou Web Coverage Service (WCS). Na camada do servidor do banco de dados, os dados estão armazenados em um sistema gerenciador de banco de dados PostgreSQL com cartucho espacial PostGIS. Na camada do cliente web, utilizam-se os aplicativos que permitem aos usuários interagir com as informações geográficas, correspondendo à face visível da Infraestrutura de Dados Espaciais (IDE), representada pelo Geoportal ou visualizadores de mapas.

Para implementação de Infraestruturas de Dados Espaciais, utilizou-se software livre baseado na plataforma gvSIG Online, que integra componentes como o servidor de mapas GeoServer, o cliente WebGIS OpenLayers e o banco de dados espacial PostgreSQL/PostGIS. A arquitetura do software permite a visualização de dados de forma distribuida, e em diversos sistemas de projeção e coordenadas, com conversão para visualização em tempo de execução. Esses dados podem estar disponíveis em serviços Web ou para acesso direto, por meio de uma URL armazenada no catálogo de metadados. Para a estruturação de metadados, utilizou-se uma aplicação de catalogo livre e de código aberto para recursos referenciados espacialmente,

GeoNetwork, compartilhando informações confiáveis sobre a origem dos dados. No cadastro, carga e armazenamento no banco de dados dos dados geoespaciais e estatísticos, utilizou-se software livre gvSIG Desktop, com licença pública GNU/GPL. São utilizados padrões de interoperabilidade, metadados, e de difusão de dados geoespaciais em conformidade com a Política Cartográfica Nacional e o Perfil de Metadados Geoespaciais do Brasil (Perfil MGB).

Por meio dessa estrutura tecnológica é possível consultar e acessar um servidor de mapas interativos no qual são representados dados multidisciplinares, possibilitando a integração de informações georreferenciadas representadas por bases de dados temáticos e sistemáticos, mapas, imagens de satélite, e dados censitários. As informações geoespaciais do Geoportal são estruturadas em bases de dados, organizadas por insumos técnicos, projetos e recortes espaciais. As informações estatísticas e socioeconômicas são disponibilizadas na forma de mapas com abrangência municipal. Suas funcionalidades incluem ferramentas que integram as capacidades do Geoportal com painéis de controle que permitem a visualização e download de diferentes tipos de gráficos (barras, círculos e linhas) e planilhas. Abrange informações temporais com séries históricas sobre aspectos econômicos, produtivos, demográficos e sociais; dentre as diversas séries de dados, elenca-se produto interno bruto, produção agrícola, rebanhos, população, saúde e educação. As informações presentes no Geoportal são oriundas do Instituto Brasileiro de Geografia e Estatística – IBGE e da SEPLAN/TO.

Esse trabalho tem como objetivo apresentar a nova ferramenta desenvolvida para o gvSIG Online denominada como Vistas SQL, que define tabelas virtuais através de consulta ao banco de dados. A consulta pode incluir uma ou mais tabelas, assim como uma seleção de campos das tabelas incluídas. De um ponto de vista prático utiliza- se o conceito de view no SQL, que é uma nova tabela definida com base em outras tabelas, com os dados sempre sincronizados com essas tabelas, pois elas não são armazenadas de forma separada. A utilidade mais notória desta ferramenta é a publicação de dados estatísticos, mantendo em tabelas separadas as informações geográficas (por exemplo, uma camada de municípios com a geometria, o endereço e potencialmente outras informações, como população) e as informações estatísticas (tabela sem geometria, que inclui os valores de uma ou várias variáveis estatísticas associadas a um identificador, como o código do município). Desta forma, podem-se publicar novas estatísticas sem a necessidade de voltar a publicar a camada de municípios, ou inversamente, podendo atualizar a camada de municípios sem a necessidade de atualizar as tabelas estatísticas. A ferramenta Vistas SQL não pode ser editada a partir da home page do sistema, sendo possível editar a camada municipal, de modo que os resultados serão automaticamente visíveis em qualquer tabela que inclua essa camada de municípios. Para isso, deve-se levar em conta que a mesma camada que é editada para os limites deve ser a mesma que é composta pela Vista SQL. Com a aplicabilidade dessa ferramenta espera-se abordar as diferentes situações censitárias ancorada com o uso das informações geográficas.



(min. 51)

by Alvaro at November 18, 2022 09:45 AM

GeoServer 2.22.0 release is now available with downloads (bin, war, windows), along with docs and extensions.

This is a stable release of the GeoServer 2.22.x series, made in conjunction with GeoTools 28.0 and GeoWebCache 1.22.0.

All major new features have been described in the Release Candidate (RC) Blog post.

Thanks to Martha Nagginda (GeoSolutions) and Andrea Aime (GeoSolutions) for making this release.

We would like to thank everyone who helped test the release candidate: Russell Grew, Georg Weickelt, Jukka Rahkonen, David Blasby, Graham Humphries, and everyone too shy to email the public list.

Natural Earth GeoPackage and workspace

The sample data directory now includes a small geopackage generated from Natural Earth data. These layers are good examples with multiple styles, and include complete descriptions from the Natural Earth project.

World map

Thanks to Jody Garnett (GeoCat), David Blasby (GeoCat), and the attendees of the FOSS4G GeoServer Beginner Workshop.

User Manual Getting Started updated

The user manual has been revised. Changes include:

  • Getting started has been updated and includes with new sections for GeoPackage, image, layer group and style.

  • Tutorials now provides an index of all tutorials across the user manual

Thanks to Jody Garnett (GeoCat) and the attendees of the FOSS4G GeoServer Beginner Workshop.

Welcome Page Updates


The welcome page description provides a summary of the workspaces and layers available to the current user.

The header includes a welcome message and a link to the organization providing the service.

Each web service is listed using the service title as a heading, followed by the service abstract as a description. The protocols provided by the service are displayed as blocks linking to the web service URL. These are the URLs used to access the service in a desktop or web application.

Welcome layout

The services shown are based on the permissions of the current user. As an example when logged in as an Administrator the REST API service is shown with a link to the API endpoint.


For more information on the welcome page and an example of how to use service URLs in QGIS visit the user manual Welcome reference page.

Workspace and Layer Selection

Use the top-right corner of the welcome page to:

  • Select workspace to browse workspace web services
  • Select layer and layergroup for layer specific web services

You can book mark or share this page (which is great for providing a team or project with its own distinct web services and landing page).

Welcome workspace

For more information on this functionality see workspace web services and layer web services in the user manual.

Using a workspace virtual web service is great if you are setting up a GIS project, supporting a web application, or providing GIS services for a team. This is especially true as it is straight forward to manage security on a workspace basis.

Welcome layer

Using a layer virtual web service is great when registering a layer with a catalogue service such as GeoNetwork. It provides a web service that can only be used to access a single layer.

Welcome layer

For the technical background on this feature see Virtual web services in the user manual. This functionality has been present in GeoServer for a long time; but because it required hand editing URLs many users were not aware of capability.

Contact Information and Service Metadata

Contact information now includes a welcome message to be used as introduction on the welcome page for the global services. Editing the contact details for a workspace will override this introduction for visitors viewing the workspace services.

To customize the welcome page header introduction the welcome field is used. To append a welcome page header For more information visit link both organization and online resource are required.

Contact Information : Organization

To customize the welcome page footer Contact administrator link contact information for email address is required. If this information is not provided the sentence inviting visitors to contact the administrator will not be shown in the footer.

Contact Information : Primary Contact

To customize the service heading and description shown vist a service configuration page. Edit the service title and abstract and the change will be reflected on the welcome page (and in the GetCapabilities document shared with web clients). Disabled services are not available and not listed.

WMS : Service Metadata

Disabling global services prevents any services from being accessable or listed on the initial welcome page.

Disable global services

All these fields, including the email address, make use of GeoServer internationalization allowing the welcome page to be customized for all your visitors.

For background information visit GSIP-202. Thanks to Jody Garnett and the GeoCat Live product for these improvements.

Startup logging messages

GeoServer performs some initial setup when setting up a data directory for the first time:

  • The built-in logging profiles are unpacked into logs/ folder
  • The security/ folder is setup

In the past this initialization produced some warnings (when checking for files that were not yet created). These warnings were misleading giving the impression that GeoServer was installed incorrectly.

Please note that startup logs now use the CONFIG log level during startup one level lower thatn INFO. This change allows logging profiles to filter out the startup process while still retaining information messages on service operation and use.

Logging profile date formatting updates

The built-in logging profiles have been updated as the date was being incorrectly logged:

  • If you have hand edited any of the built-in logging profiles you can fix the data format manually. Locate appender PatternLayout entries and correct the date formatting to %date{dd MMM HH:mm:ss}.

  • If you have not modified any of the built-in logging profiles a quick way to update is to remove them from your GEOSERVER_DATA_DIRECTORY logs folder.

    The built-in logging profiles will be restored next time you change profiles or when the application starts up.

  • If you never plan to customize the built-in loggig profiles use the system property UPDATE_BUILT_IN_LOGGING_PROFILES=true. This setting will cause GeoServer to update the files when changing profiles or on application startup.

    This setting only affects the built-in logging profiles; any new logging profiles that you have made manually are unaffected.

For more information see the user guide on built-in logging profiles.

Style format

The styles list provides a Format column indicating the format used.

World map

Thanks to Mohammad Mohiuddin Ahmed for this change.

CSW ISO and Metadata extension

To support the use of the CSW module the Metadata extension provides a tab for editing metadata as part of layer configuration. It also provides a REST API for bulk metadata activities including importing from GeoNetwork.

The CSW ISO Metadata profile is now available as an extension.

Metadata tab

For background information see GSIP-211.

Thanks to Niels for for this work.

Significant improvements in raster rendering performance

Raster rendering performance has increased significantly for two specific use cases:

  • GeoTIFF hyperspectral images, with hundreds of bands, and band interleaved structure
  • Mosaicking hundreds of small images

Hyperspectral sensors collect information at a very high spectral resolution, producing images with hundreds of bands. The typical pixel interleaved layout, where all the bands of a single pixel are stored together, is particularly inefficient while rendering a false color image, where only three of them are used. A band interleaved, where each band is stored in a separate bank, is more efficient. GeoServer previously loaded band interleaved images in an inefficient way, but that has been handled, improving both memory usage and rendering performance, in proportion to the number of bands found in the GeoTIFF. For the typical hyperspectral image, that implies an improvement of a couple of orders of magnitude.

Hyperspectral images

The second use case involves mosaicking hundreds of images, under the notion that each one has a significant number of overviews. Showing the entire mosaick involves opening all these files, fetching the smallest overview, and mosaicking the result: the process used to be slow and very memory intensive (going with the square of the output image size). The implementation has been improved so that the memory used in now linear with the output image size, and the amount of processing has been reduced as well, providing again a couple of orders or magnitude speed up when mosaicking several hundreds small images.

Mosaicking many little images

Thanks to Andrea Aime (GeoSolutions) for these improvements.

Translation updates

Alexandre has successfully experimented with setting up a Transfex GeoServer GitHub Integration synchronization.


Priority has been given to translating the new welcome page functionality, shown here translation into Dutch by Sander.

welcome nl

Carsten Klein started an effort to make the german translation more consistant, settling on terms like Gruppenlayer when updating the user interface.

welcome nl

Thanks to Alexandre Gacon, Carsten Klein, Marc Jansen, Sander Schaminee, and everyone who helped work on translations for the new functionality.

YSLD SLD Properties

The YSLD style format is focused on defining a feature type style (generating the sld and named layer wrapper since they are not used when drawing a single layer). This update allows the sld and named layer wrappers to be configured.

sld-title: Civic Information
layer-name: poi
title: Point of Interest
- title: Locations
  - point:
      - mark:
          shape: x
          fill-color: '#0099cc'
          stroke-color: 'black'
          stroke-width: 0.5

In the above example layer-name is used by GeoServer’s dynamic styling to identify the layer to draw.

Thanks to Steve Ikeoka for this improvement.

  • GEOT-7210 YSLD styles does not parse/encode layer name

Community modules news

News about community modules improvements, and new community modules you’ll find in the 2.22.x series.

A reminder that GeoServer community modules are still being worked on and are not directly available for download. If you are interested in these topics please support their completion directly by compiling the source code and contributing; or financially by sponsoring or contracting the development team working on the activity.

COG reader support for Azure

The COG reader community module now supports COGs stored in Azure as well. The location of the COG can be provided as a HTTP(s) link, while eventual access credentials should be provided as system properties:

System Property Description
azure.reader.accountName The Azure account name
azure.reader.accountKey The Azure account key
azure.reader.container The Azure container for the blobs
azure.reader.prefix The optional prefix folder for the blobs

To support this activity contact Daniele (GeoSolutions).

STAC datastore and mosaicking

A new community module, STAC datastore, supports connecting to a STAC catalog implementing the STAC API, and serve collections as vector layers, and items as features in said layers, with full filtering and time dimension support, if the server implements a CQL2 search.

STAC store

The store can also be used as an index for an image mosaic, if the STAC API assets points to accessible Cloud Optimized GeoTIFFs.

STAC mosaic

To support this activity contact Andrea (GeoSolutions).

Vector mosaicking datastore

The vector mosaic datastore allows indexing many smaller vector stores (e.g., shapefiles, FlatGeoBuf) and serving them as a single, seamless data source.

An index table is used to organize them, know their location on the file system (or blob storage) and their footprint, along with eventual variables that can be used for quick filtering (e.g., time, collecting organization, and so on).

This can have some advantages compared to the typical database storage:

  • Cheaper, when dealing with very large amounts of data in the cloud, as blob storage costs a fraction of an equivalent database.
  • Faster for specific use cases, e.g, when extracting a single file and rendering it fully is the typical use case (e.g. tractor tracks in a precision farming application). This happens because the file splitting de-facto imposes and efficient data partitioning, and shapefile access excels at returning the whole set of features (as opposed to a subset).

STAC mosaic

To support this activity contact Andrea (GeoSolutions).

Improvements and Fixes


  • GEOS-10717 XStreamServiceLoader performance improvement with XstreamPersister caching

  • GEOS-10718 [OIDC] the OIDC plugin does not currently take into account the id_token_hint parameter

  • GEOS-10735 Obfuscate secret key in S3 Blob Store, avoiding requiring reentry when editing and HTML source visibility

  • GEOS-10739 Contact information user interface feedback for welcome message

  • GEOS-10740 Service enabled does not respect minimal/custom service names

New Feature

  • GEOS-10734 SpatialJSON WFS output format community module



  • GEOS-4727 Editing SQL views seems to be leaking connections

  • GEOS-10667 WFS: inconsistent srsDimension=4 with topp:tasmania_roads layer

  • GEOS-10707 GeoFence internal LayerGroup Limit merge inconsistency

  • GEOS-10709 Schemaless Features - Simplified property access might return values for wrong property names

  • GEOS-10710 Features Templating backward mapping with back xpath (’../my/property/name’) doesn’t work

  • GEOS-10714 DefaultGeoServerFacade throws ConcurrentModificationException for workspace settings and services

  • GEOS-10729 Concurrent access on data access rules (authorization) can lead to loss of configured catalog mode, and lost rules

  • GEOS-10731 GWC variable Parameterization does not work with geoserver-environment.properties due to the bean initialization order

  • GEOS-10736 OSEO product creation via REST API fails if the product id starts with a valid ISO date

  • GEOS-10737 GeoCSS misses support for labelInFeatureInfo and labelAttributeName vendor options

  • GEOS-10741 Remove deprecated YUI usage

For complete information see 2.22.0 release notes.

About GeoServer 2.22

Additional information on GeoServer 2.22 series:

Release notes: ( 2.22.0 | 2.22-RC | 2.22-M0 )

by Martha Nagginda at November 18, 2022 12:00 AM

November 17, 2022

The GeoTools team is pleased to share the availability GeoTools 28.0-RC :geotools-28-RC-bin.zip geotools-28-RC-doc.zip geotools-28-RC-userguide.zip geotools-28-RC-project.zip Improvements and fixes in this release BugGEOT-2063 CRS decode errorGEOT-5911 MongoDB CQL_Filter not working anymoreGEOT-6259 ShapefileReadWriteTest fail on WindowsGEOT-6888 PostGIS - fixed columns lengths when using

by Andrea Aime (noreply@blogger.com) at November 17, 2022 10:40 AM

El día 30 de noviembre, a las 16 h y en el marco de las Jornadas Internacionales de gvSIG + Jornadas GeoLIBERO, se realizará el taller de GIS Indoor.

Hace tan sólo 30 años, para viajar comprábamos un mapa en una librerı́a o una gasolinera y era común comentar la calidad que habı́a entre los mapas de los diversos proveedores.

A principios de los 2000 se popularizaron los navegadores por satélite (conocidos como GNSS, por sus siglas en inglés Global Navigation Satellite Systems), pero quedan unas zonas que se resisten: los espacios interiores, más conocidos en el mundo cientı́fico por entornos indoor. En estos espacios los navegadores fallan, y seguimos mirando el plano del Centro Comercial para encontrar la tienda o el restaurante que buscamos.

Uno de los mecanismos actuales para lograr el posicionamiento en interiores es el Wifi fingerprinting.

Este taller tendrá dos partes:

  • Teórica: se hará un breve repaso de los sistemas de posicionamiento en interiores y se explicará en detalle el WiFi fingerprinting.
  • Práctica: se recogerán datos para preparar una base de datos para posicionamiento mediante WiFi fingerprinting.

¿Qué necesitas para realizar el taller?

Todas aquellas personas que tengan Android pueden instalar la siguiente app:


El taller se realizará en el «Aula 0.1».

Y, muy importante, no olvidéis inscribiros a las Jornadas: http://www.gvsig.com/es/eventos/jornadas-gvsig/18as-jornadas-gvsig/inscripcion

by Alvaro at November 17, 2022 10:39 AM

November 16, 2022

The latest v0.12 release is now available from conda-forge.

This release contains some really cool new features, including:

  • New function to add an acceleration column #253
  • We have further improved our repo setup by adding an action that automatically creates and publishes packages from releases, heavily inspired by the work of the GeoPandas team.
  • Last but not least, we’ve created a Twitter account for the project. (And might soon add a Mastodon account as well.)

As always, all tutorials are available from the movingpandas-examples repository and on MyBinder:

If you have questions about using MovingPandas or just want to discuss new ideas, you’re welcome to join our discussion forum.

by underdark at November 16, 2022 07:39 PM

Estamos seguros que los que asistáis a este taller vais a quedar sorprendidos. Lo que aquí se va a mostrar es un hito en el desarrollo del SIG libre, un completo control de versiones para trabajar con datos espaciales. Como proyecto, probablemente sea el desarrollo más complejo que hayamos abordado. Ahí es nada.

El día 30 de noviembre durante las 18as Jornadas Internacionales de gvSIG, desde las 17:00 se realizará el taller gratuito “Control de versiones en gvSIG Desktop”.

Objetivo: Aprender a configurar un sistema de control de versiones con gvSIG Desktop. Cargas capas en el control de versiones y aprender a trabajar con él.

¿Qué vamos a aprender en el taller?

Uno de los principales problemas relacionados con la gestión y mantenimiento de información geográfica, que hasta ahora no estaba suficientemente resuelto de forma eficiente por las diversas opciones de software libre disponibles, era el de la edición multiusuario y los problemas o necesidades que esta tarea requiere resolver.

Dejaremos de lado la parte teórica… No vamos a ver las ventajas e inconvenientes que tiene un control de versiones. Los sistemas de control de versiones se vienen usando desde hace muchos años en otros ámbitos, principalmente cuando nos encontramos con escenarios en los que varios usuarios precisan modificar de forma simultánea información y también, tener el control del histórico de modificaciones. Con gvSIG Desktop vamos a poder aplicar todo ello a la edición de datos geográficos.

Así que, en lugar de ver las ventajas que podemos obtener con su uso, simplemente vamos a empezar a usarlo (¡mucho más divertido!).

Partiremos de una serie de tablas con información cartográfica y veremos qué acciones debemos realizar para cargarlas en el control de versiones de gvSIG. Revisaremos los principales conceptos relacionados con el control de versiones de gvSIG Desktop, empezando a usarlo con nuestros datos. Configuraremos un pequeño repositorio local, para luego escalarlo a un pequeño sistema en nuestra red, y acabar viendo como podríamos escalar a un sistema más grande basado en servicios web.

¿Dónde se realiza?

El taller se realizará en el “Aula 0.2”, que incluye ordenadores por lo que no es necesario traer portátil.

Y muy importante, si pensáis asistir al taller no os olvidéis de inscribiros a las Jornadas: http://www.gvsig.com/es/eventos/jornadas-gvsig/18as-jornadas-gvsig/inscripcion

by Alvaro at November 16, 2022 12:56 PM

November 15, 2022

November 14, 2022

El próximo 2 de diciembre de 2022 se impartirá un taller gratuito en el que poder aprender a manejar gvSIG Mapps integrado con gvSIG Online, en el marco de las 18as Jornadas Internacionales gvSIG que se celebrarán en Valencia (España).

¿Qué haremos?

Durante el taller veremos cómo crear un geoportal en gvSIG Online, que incluirá una serie de capas, incluyendo tanto capas base como otras provenientes de ficheros SHP. Finalmente se creará una capa vacía para trabajar con ella en la segunda parte del taller.

En esta segunda parte, ya sobre gvSIG Mapps, la app móvil de la Suite gvSIG para toma de datos en campo, se trabajará sobre el geoportal anterior editando la capa creada previamente, tanto gráfica como alfanuméricamente e incluyendo fotografías asociadas a las nuevas geometrías. Sobre gvSIG Mapps trabajaremos de forma online y offline, simulando casos en los que trabajamos en zonas de poca cobertura o que no queremos consumir datos móviles.

¿Cómo inscribirme?

Para realizar este taller solo debes registrarte en las jornadas: http://www.gvsig.com/es/eventos/jornadas-gvsig/18as-jornadas-gvsig/inscripcion

¿Dónde se realiza?

El taller se realizará en el Aula 0.3, que incluye varios ordenadores y otros puestos sin ordenador, por si deseas acudir con tu propio portátil.

Para la primera parte, si deseas acudir con tu portátil solo necesitarás conexión a internet (se proporcionará clave para internet a los inscritos a las Jornadas), y para la segunda deberás tener instalado gvSIG Mapps en tu móvil, disponible para Android desde la Play Store. El enlace de descarga de la cartografía a utilizar en el taller se facilitará al inicio del mismo.

Puedes consultar el programa completo de las jornadas aquí: http://www.gvsig.com/es/eventos/jornadas-gvsig/18as-jornadas-gvsig/programa

by Alvaro at November 14, 2022 12:11 PM

Our ninjas have been so busy that less than a month after we released QField 2.4, we find ourselves with so many new features we simply can’t wait any longer to present to you the latest version of QField: 2.5 “Fancy Flamingo 🦩”.

Exciting new features

QField’s main new feature of this 2.5 release cycle is its brand new elevation profiling functionality which has been added to the measuring tool. Users are now able to dynamically build and analyze elevation profiles wherever they are – in the field or on their desktop – by simply drawing paths onto their maps and projects.

This is a great example of QField’s capability at bringing the power of QGIS through a UI that keeps things simple and avoids being in your way until you need it. Oh and while we’re speaking of the measuring tool, check out the new azimuth measurement!

This new version also brings multi-column support to feature forms. QField now respects the number of columns set by users in the attributes’ drag and drop designer while building and tweaking projects in QGIS. The implementation will take into account the screen availability and on narrow devices will revert to a one-column setup. Pro tip: try to change the background color of your individual groups to ease understanding of the overall feature form.

Another highlight of this release is a brand new screen lock action that can be triggered through QField’s main menu found in the side dashboard or in the map canvas menu shown when long pressing on the map itself. Once activated, QField will become unresponsive to touch and mouse events while keeping the display turned on. When locked, QField also hides tool buttons which results in a more complete view of the map extent.

Stability improvements

As with every release, our ninjas have been spending time hunting nasty bugs and improving stability and QField 2.5 is no exception. In particular, the feature form should feel more reliable and even more polished.

by Mathieu at November 14, 2022 09:37 AM

November 13, 2022

Der Crashkurs dauert 2.5 Stunden (14:00 – 16:30 Uhr) via Google Meet (kein Google Konto erforderlich) und kostet 90 CHF pro Person.


Ziel dieses Crashkurses ist es, “blutigen Anfänger:innen” INTERLIS näher zu bringen. Nach dem Crashkurs werden sie wissen, was INTERLIS ist, wie es angewendet wird und wie ein Modell gelesen wird und man sich darin zurechtfindet. Weiter werden sie fähig sein, ein einfaches Beispielmodell selbst zu modellieren.




Keine. Das Webinar ist primär frontal und es muss keine Software vorinstalliert werden.

Um gleich ein bisschen mitzumachen, können aber optional folgende Tools installiert werden, im Idealfall auf einem separaten Bildschirm:

by David at November 13, 2022 08:22 PM

November 12, 2022

November 10, 2022

Der Kurs dauert einen Tag (9:00 – 17:00 Uhr) und kostet 560 CHF pro Person (inkl. Mittagessen und Kursbestätigung). Ein Lehrer für maximal 6 Personen und 2 Lehrer für 7 bis 12 Personen. Mindestteilnehmerzahl 6 Personen.


Nach Abschluss des Kurses kennen die Teilnehmer:innen alle Funktionen vom QGIS Model Baker und können INTERLIS Modelle in der Datenbank abbilden und Transferdateien importieren und exportieren. Ausserdem wird eine Einführung ins Handling mit Behälter und Datasets gegeben und der Live Validator vorgestellt.

  • Einführung und Installation Model Baker
  • INTERLIS Modell und Daten Import mit dem Wizard
  • Exkurs “Vererbungen und physische Abbildung”
  • Datenerfassung
  • Exkurs “Behälter und Datasets”
  • Daten Validierung und Export
  • Exkurs “UsabILIty Hub”
  • Diskussion, Inputs, Verbesserungsvorschläge


Grundkenntnisse in QGIS und in Datenbanken (z.B. Begriff „Datentyp“ mit Integer/Zahl/Datum/Zeichenkette/Boolean) sowie in INTERLIS.

“Blutige” Anfänger:innen können eine Woche vorher am 19. Januar ein INTERLIS Crashkurs (Webinar) besuchen.


Die folgenden Softwarekomponenten sind Kurvoraussetzungen und -empfehlungen

  • Installation von QGIS für Windows, macOS oder Linux https://download.qgis.org. Wir verwenden die aktuell neuste LTR Version 3.22.
  • Installation von PostgreSQL Datenbank empfohlen (Version 11 oder neuer). Wir werden die Workflows mit PostgreSQL durchspielen. Falls jemand keine PostgreSQL Datenbank installiert hat, kann man auch mit GeoPackage arbeiten.

Weitere Infos

Ca. 2 Wochen vor Kursbeginn erhalten alle Teilnehmer:innen eine Mail mit weiteren Infos (zBs. ob genügend Anmeldungen vorhanden sind, den Durchführungsort – wird in der Nähe des HB Zürich sein, etc).

by Anna Randegger at November 10, 2022 07:50 PM

I am working on the Harris Matrix Data Package specification with the aim of decoupling it from my own “hmdp” tool. An important step towards the adoption of a data format is to have more software implementations. With this in mind, I present a procedure to import, analyze and plot a Harris Matrix data package in R, with the experimental stratigraphr library maintained by Joe Roe.

stratigraphr is a tidy framework for working with archaeological stratigraphy and chronology in R. It includes tools for reading, analysing, and visualising stratigraphies (Harris matrices) and sequences as directed graphs


Let’s go!

Installing the needed libraries

Apart from the common tidyverse libraries, we need to install the stratigraphr and frictionless packages.

Please follow the installation instructions on their respective websites:

Loading packages


Loading datasets

We load a Harris Matrix Data Package describing figure 12 from E.C. Harris’s manual Principles of archaeological stratigraphy, as modified by T.S. Dye. Please note that we are loading a package straight from a URL, and this could be an institutional repository like Zenodo or OSF.

fig12 <- frictionless::read_package("https://codeberg.org/steko/harris-matrix-data-package/raw/branch/main/fig12/datapackage.json")
contexts <- frictionless::read_resource(fig12, "contexts")
observations <- frictionless::read_resource(fig12, "observations")

Converting Harris Matrix Data Package to the stratigraphr format

Now the observations tibble contains our initial data that must be converted to the stratigraphr native format. We modify it in place.

observations <- observations %>% pivot_wider(names_from = url, values_from = older, values_fn = list)
observations <- rename(observations, context = younger)
observations <- rename(observations, below = `NA`)

Warning! The names_from = url parameter is a bit of a hack, and only works because the values in that column are all NULL.

The first approach is to use the same code from the stratigraphr documentation, but it returns an error. Directly loading the data in stratigraphr only works if all contexts exist in the context column of the observations table (the following code chunk is not going to work, shown here for demonstration):

h12_graph <- stratigraph(observations, "context", "below", "below")
ggraph(h12_graph, layout = "sugiyama") +
  geom_edge_elbow() +
  geom_node_label(aes(label = context), label.r = unit(0, "mm")) +

It seems like the context column doesn’t actually contain all contexts, which makes sense because there is no duplication of relationships in the Harris Matrix Data Package format ‒ it’s a tidy format! We can easily work around this by loading the full contexts table.

edges <- stratigraphr::strat_connect(observations[["context"]], observations[["below"]], "below")
'data.frame':   26 obs. of  2 variables:
 $ to  : chr  "2" "11" "12" "13" ...
 $ from: chr  "1" "1" "1" "1" ...
h12_graph <- tidygraph::tbl_graph(nodes = contexts, edges = edges, node_key = "label", directed = TRUE)

Ready to plot!

So far so good. Let’s try plotting the Harris Matrix.

ggraph(h12_graph, layout = "sugiyama") +
  geom_edge_elbow() +
  geom_node_label(aes(label = label), label.r = unit(0, "mm")) +
A Harris Matrix visualization of archaeological stratigraphy. It's a graph of nodes labeled with numbers, connected by edges drawn as orthogonal linesA Harris Matrix visualization of archaeological stratigraphy, data from figure 12 from E.C. Harris’s manual Principles of archaeological stratigraphy, as modified by T.S. Dye.

It works perfectly!

We still need to include once-whole contexts in the picture, from the inferences table, but apparently this is not yet supported by stratigraphr either.

Summary: the quick way to analyze and plot archaeological stratigraphy data in R

In short, the equivalent to the stratigraphr vignette with Harris Matrix Data Package is:

harris12 <- frictionless::read_package(file="https://codeberg.org/steko/harris-matrix-data-package/raw/branch/main/fig12/datapackage.json")
contexts <- frictionless::read_resource(harris12, "contexts")
observations <- frictionless::read_resource(harris12, "observations")
observations <- observations %>% pivot_wider(names_from = url, values_from = older, values_fn = list) %>% rename(context = younger) %>% rename(below = `NA`)
edges <- stratigraphr::strat_connect(observations[["context"]], observations[["below"]], "below")
h12_graph <- tidygraph::tbl_graph(nodes = contexts, edges = edges, node_key = "label", directed = TRUE)
ggraph(h12_graph, layout = "sugiyama") +
  geom_edge_elbow() +
  geom_node_label(aes(label = label), label.r = unit(0, "mm")) +
A Harris Matrix visualization of archaeological stratigraphy. It's a graph of nodes labeled with numbers, connected by edges drawn as orthogonal linesA Harris Matrix visualization of archaeological stratigraphy, data from figure 12 from E.C. Harris’s manual Principles of archaeological stratigraphy, as modified by T.S. Dye.

It’s slightly more verbose than the original stratigraphr, and it could certainly be improved, but it’s a good way to get started with archaeological stratigraphy data in R.

by Stefano Costa at November 10, 2022 04:46 PM

This post covers loading a raw COG Tif and manipulating the values in JS. If you are unfamiliar with the COG Tif format, see here for an explanation. Openlayers has a few good examples on how to load COGs.  Some of this is a repeat of their examples and some goes a little more in depth. 

  • Example site is running here
  • Github repo is here

The following will cover:

  1. Loading a COG via Openlayers 6
  2. Demonstration of a pop-up to query the COG value

Data in the site:

  1. Sea Surface Temperature (SST) from JPL. Clipped to New Zealand EEZ
  2. LINZ Aerial Imagery Basemap. The link is temporary.  I highly suggest you get your own link from here.  

Few Notes:

  1. The COG and the website are built using WEB MERCATOR projection, so there are no special steps to build the site with regards to projection 
  2. I am only covering the JS in this example, see here for a full HTML/CSS/JS example, you can look here

Creating the COG

There are many tutorials out there on creating a COG.  I am not going to repeat these.  Instead, I am providing a link to a COG I created. The COG used in this example was created using a standard python build like:

creation_options = [

    format = "COG",
    creationOptions = creation_options

I put the COG on S3 and made the link public


Loading a raw COG tif

First, set the url to the COG and load it as a source:

var urls3 = 'https://d3cywq4ybqu7io.cloudfront.net/cogs/sst/clipped-eez-nztm-20200101090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02_fill_cut_warp_cog.tif'

var cogSource = new ol.source.GeoTIFF({
    normalize: false,
    sources: [
        url: urls3,
        min: 277,
        max: 300,
        nodata: -32768,

Here, we set the min/max of the value from the COG.

Second, we build the colour gradient for the COG.  This will tell the client how to colour the values of the COG:

var cogBand = ['band', 1]

var defaultColor = {
color: [
    276.9, [255, 255, 255, 0],
    277, [19, 22, 180, 1],
    284, [70, 111, 207, 1],
    289, [196, 229, 183, 1],
    294, [217, 164, 73, 1],
    300, [199, 69, 40, 1]

Here, we are using a linear interpolation to create a smooth gradient between the values.

Third, load the COG with colorization:

var cog = new ol.layer.WebGLTile({
    visible: false,
    crossOrigin: 'anonymous',
    source: cogSource,
    style: defaultColor,

Here, the visibility is set to ‘false’.  When the map initializes on the browser, I want it turned off at the start to allow users to toggle the layer on/off.

Setting up the query button

This is a standard pop-up button from Openlayers.  It is developed so users can query the SST map and see the actual value at that location. You’ll need to do some work in the HTML and CSS. See here for more detail in the code: 

First, build the pop-up in the JS at the top of the file:

// Pop up set
var container = document.getElementById('popup');
var content = document.getElementById('popup-content');
var closer = document.getElementById('popup-closer');

var overlay = new ol.Overlay({
    element: container,
    autoPan: {
      animation: {
        duration: 250,

closer.onclick = function () {
return false;

Second, set the pop-up to query the COG layer:

// Set onclick to return values from COG
map.on('singleclick', function(evt) {
    var coordinate = evt.coordinate;
    var data = cog.getData(evt.pixel);
    var celcius = data[0] - 273.15
    var codeText = "Temp in Celcius"
    content.innerHTML = "<div class='popupText'>Sea Surface Temperature: <strong>" +     
        celcius.toFixed(2) + "</strong><div class=returnVal>" + codeText + "</div></div>";

Those are the main bits. The remainder of the code in the JS is setting up a base map, building the toggle button, and preparing the query pop-up.

Of course, you can clone the repo and do what you like to make it your own special site.

As usual, this example is only one way to do this. There are many other setups and special circumstances that will negate what is shown here.

Let me know if this this helped or if you have questions. Also, if you used this, I’d love to see what you built!

by xycarto at November 10, 2022 01:44 AM

November 09, 2022

Venerdì 28 ottobre 2022 il gruppo soci Genova e Liguria ha presentato ènostra al Circolo Barabini di Trasta (Genova).

Prima della presentazione c’è stato un momento conviviale con la “trastapasta” di gnocchi al pesto! Il Circolo Barabini è un luogo bellissimo, un laboratorio di cose buone. Io non lo conoscevo prima della settimana scorsa, mi è piaciuto davvero molto, luogo di prassi antifascista e di lotte fatte dal basso e con il sorriso.

Trastapasta con gnocchi al pesto

Alla presentazione erano presenti circa 30 persone, molti soci del circolo ma anche qualcuna da fuori. Abbiamo anche trasmesso in diretta streaming tramite Jitsi, con 3-4 persone collegate. Abbiamo parlato di crisi climatica, dell’importanza delle fonti rinnovabili per la transizione energetica e di come ènostra nasce per seguire questo obiettivo in modo etico e sostenibile.

Un momento della presentazione, Sara Gollessi parla di ènostra

Nel dettaglio poi abbiamo parlato di cosa fa ènostra, dalla fornitura di energia, alla realizzazione di impianti collettivi, alle comunità energetiche e alla formazione e informazione. La seconda parte della presentazione è stata un po’ più interattiva, abbiamo spiegato come funziona la fornitura dell’energia elettrica, come si compone il costo finale della bolletta, l’andamento del PUN e quali sono le tariffe di ènostra. Abbiamo parlato dei servizi che offre ènostra per la realizzazione di impianti fotovoltaici e termici, e dell’attuale situazione di sovraccarico. Infine abbiamo parlato degli impianti collettivi e della tariffa prosumer.

Le domande non sono mancate! C’era chi ha un impianto FV da molti anni e riportava la propria esperienza di ritorno/non ritorno economico, chi voleva informazioni sul prestito sociale di ènostra, chi voleva avere indicazioni sul portale dei consumi di Arera, chi condivideva la difficoltà di entrare in contatto con GSE per risolvere problemi relativi al proprio impianto FV, chi voleva capire se era possibile passare a ènostra pur avendo realizzato il proprio impianto FV con “ENEL” diversi anni fa, chi voleva capire meglio il meccanismo di autoconsumo vs scambio sul posto e il rapporto tra curva dei consumi e della produzione nell’arco delle 24 ore.

Ci hanno poi riportato che è piaciuto l’incontro perché abbiamo spiegato tante cose senza fare i “venditori”.

Per noi è stata la prima volta di una presentazione collettiva in presenza, quindi siamo abbastanza soddisfatti. Speriamo di ripetere nel prossimo futuro.

Ti interessa organizzare una presentazione come questa nel tuo circolo, associazione, quartiere? Contattaci!

Il gruppo soci di ènostra Genova e Liguria: Massimo, Mattia, Maurizio, Sara, Stefano

by Stefano Costa at November 09, 2022 07:33 AM

With the recent changes to the Mergin Maps plugin for QGIS, you can visualise the local changes before synchronising your data.

Have you ever been in the situation when, after making a lot of changes in your Mergin Maps project, you hesitate to press Sync button because you are not sure that all required changes are made or afraid that some unwanted edits were introduced? Or maybe you need to review the work done and see what actually have changed between two versions? If the answer to any of these questions is “yes” then you will like the changes visualisation functionality we introduced in the 2022.4 version of the Mergin Maps plugin for QGIS.

Changes visualisation functionality comes handy in two use-cases: revising local changes made in the Mergin Maps project before syncing them with the server and getting a list of changes between two versions of the project. Let’s take a closer look at this feature.

Local changes visualisation

While working with Mergin Maps project, the user can at any time revise their current changes made locally. First, make sure that all your layer’s edits are saved (committed) as currently viewing of the unsaved changes is not supported. Then right-click on any vector layer and select “Show Local Changes” entry in the context menu.

Accessing local changes from context menu

Accessing local changes from context menu

This will open the Changes Viewer dialog. Each vector layer with local changes has its own tab in the Changes Viewer dialog, the name of the tab matches the layer name and also contains information about the number of changes in this specific layer. Local changes are shown on the map and in the tabular form, to distinguish different types of edits a following color codes are used: inserts (new features) are green, edits orange and deletions red. It is possible to enlarge or reduce the size of the map and table by dragging the splitter between them, splitter position is applied to all tabs and will be saved and reused on the further dialog calls.

Features added, deleted and modified in map and tabular views

Features added, deleted and modified in map and tabular views

Map canvas in the Changes Viewer dialog supports basic operations like panning as well as zooming in and out. By default, all project layers are shown on the map to provide better context, but it is possible to toggle their visibility by unchecking the “Toggle Project Layers” button in the toolbar above the map. When this button is unchecked, only changes from the current vector layer are shown.

If, after some panning/zooming, you need to return to the extent where all changes are visible — press “Zoom Full” button. Also, it is possible to select a specific feature(s) in the table below map and zoom to them by clicking the “Zoom To Selection” button. Finally, changes can be added as a new memory layer to the current project. To do so, click “Add to project” button and choose one of the options: add changes from the current layer or add all changes from all layers. For each changed layer, a new memory layer will be added to the current project. These changes layers will preserve the same color coding for features and attribute table as used in the Changes Viewer dialog. Please note, that these layers should be manually removed from the project before the sync, unless it is your intention to make them a part of your Mergin Maps project. Another way to revise local changes is to open Changes Viewer from the Project Status dialog by clicking “View Changes” button.

Mergin Maps Processing tools

Sometimes one may want to export local changes as a vector layer and save that file for further usage. Of course, this can be done with the help of Changes Viewer dialog, but it is time-consuming, especially when the Mergin Maps project has many layers or if there is a need to check local changes in several projects. To cover this use-case, we also provide “Extract local changes” tool. This tool is a part of the Mergin Maps QGIS plugin and can be found under the “Mergin Maps” group in the Processing Toolbox.

Mergin Maps Processing tools to create changeset

Mergin Maps Processing tools to create changeset

In the tool dialog you need to specify a directory with your Mergin Maps project, select a layer of interest either choosing from available layer or selecting a GeoPackage file in the project directory and layer in this file.

Processing tool to extract local changes

Processing tool to extract local changes

An output layer containing local changes will be created as a temporary or regular layer and added to the current project. This layer will have the same styling (both for features and attribute table) as the layers produced by Changes Viewer dialog.

Result of the local change processing tool

Result of the local change processing tool

The “Create diff” tool comes handy when you need to revise the changes between two versions of the layer in the Mergin Maps project. This tool is also a part of the Mergin Maps QGIS plugin, and it is implemented as a Processing algorithm. The “Create diff” tool can be found under the “Mergin Maps” group in the Processing Toolbox.

The tool dialog is quite similar to the “Extract local changes” tool dialog. Fill in input values: directory of your Mergin Maps project, layer of interest, start and end version numbers. Finally, specify location of the output vector layer or leave the field empty if you want it as a temporary layer in your current project. After clicking “Run” the tool will query the server for information and generate a vector layer containing all changes made between specified layer versions. For example, if some field value was changed in one version and then the same field was changed again in another version, then only the last change will be shown in the output changes file.

This feature is an another step in our ongoing efforts to create an easy-to-use tool for collaborative data collection and data management. If you need help or want to share your experience with Mergin Maps QGIS plugin, please join us in the community chatroom, and we will be happy to hear your thoughts.

November 09, 2022 02:00 AM

November 08, 2022

During a moment of sun on an otherwise gloomy Sunday, I ran into a flock of turkeys on Towers Trail.


Post-Superior running is going well. I'm getting some consistent easy miles, some long runs on the weekends, and am spending quality time with my yoga mat and foam roller. My plans for next year are still coming together. I'll write about that more after Thanksgiving.

by Sean Gillies at November 08, 2022 03:14 AM

November 04, 2022

The QGIS plugin repository currently lists 1728 plugins and the list keeps on growing. October has been busy with 15 new plugins. It can be challenging to stay up to date.

Our monthly plugin update is meant to provide you a quick overview of the newest plugins. If any of the names or short descriptions piques your interest, you can find the direct link to the plugin page in the table below the screenshot.

Query Tool
The plugin is used to extract clusters (Tie) on shapefile issue for the Pavemetrics inspections systems.
NextGIS IdentifyPlus
Extended identify tool. Show photos and other attachments stored in your Web GIS right in QGIS. Developed by NextGIS.
MapBiomas Collection Official
This plugin lets you add the anual land use and land cover maps from the MapBiomas Project (http://mapbiomas.org/) as a collection of WMS layer.
FLINTpro Datacheck
This plugin is designed for FLINTpro users to easily check the compatibility of data for uploading to FLINTpro.
Selection Sets Reloaded
Plugin for saving and loading selection sets for layers.
Deepness: Deep Neural Remote Sensing
Inference of deep neural network models (ONNX) for segmentation, detection and regression
Create points on arcs’ intersection
The plugin creates a new layer with points on arcs’ intersection within the same layer
Download data from IBGE
This plugin downloads data from IBGE
This is a plugin to interract with the GMSH mesh generator (see http://geuz.org/gmsh).
Replace Geometry
Replaces a geometry keeping the attributes unchanged
SensorThings API
The plugin enables QGIS to access dynamic data from sensors, using SensorThings API protocol (https://www.ogc.org/standards/sensorthings)
Fast Field Filler
The plugin was created to quickly fill in the fields in the attribute table.
Nearest Neighbor Method for Linear Features (NNMLF)
This plugin estimates the spatial distribution pattern of linear features.
NDFF Connector Plugin
This connector uses the NDFF-Connector library to create all needed configuration and settings to connect to the NDFF api, to upload Observations/Waarnemingen
Zone Label
This plugin allows to split and manually label rectangular areas.

by underdark at November 04, 2022 06:35 PM