Welcome to Planet OSGeo

July 22, 2025

July 21, 2025

July 20, 2025

We have a had several pics of the Upside Down World outside LSE, these are different because I was there myself with some of my best geo-nerd mates.

When you get to study this globe up close it prompts lots of conversation. Ed pointed out how big a portion of the globe is without any significant land mass.

Denise showed us the parts of Papua New Guinea that she visited as a student, it’s much bigger than I realised.

by Steven at July 20, 2025 09:00 AM

The PostGIS Team is pleased to release PostGIS 3.6.0beta1! Best Served with PostgreSQL 18 Beta2 and soon to be released GEOS 3.14.

This version requires PostgreSQL 12 - 18beta2, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.14+ is needed. To take advantage of all SFCGAL features, SFCGAL 2.2.0+ is needed.

3.6.0beta1

This release is a beta of a major release, it includes bug fixes since PostGIS 3.5.3 and new features.

by Regina Obe at July 20, 2025 12:00 AM

July 19, 2025

July 18, 2025

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

This is a stable release of GeoServer recommended for production use. GeoServer 2.27.2 is made in conjunction with GeoTools 33.2, and GeoWebCache 1.27.2.

Thanks to Peter Smythe (AfriGIS) for making this release.

CITE certification achieved

The GeoServer team are really pleased to announce that our long-lost CITE Certification has been regained (for 2.27) over the last 6 months.

OGC CITE Certification is important for two reasons:

  • Provides a source of black-box testing ensuring that each GeoServer release behaves as intended.
  • Provides a logo and visibility for the project helping to promote the use of open standards.

Many thanks to all who were involved! After approximately 10 years, we can once again officially confirm that GeoServer is OGC compliant. Thank you especially to Gaia3D and OSGeo:UK for sponsorship covering the expense of CITE Certification for 2025.

For more details, please read the separate announcement.

Release notes

New Feature:

  • GEOS-11805 Option to disable the management of stored queries

Improvement:

  • GEOS-11877 Improve CoverageView composition to support noData fill on missing bands/coverages

Bug:

  • GEOS-10728 Cannot download GeoPackage if the source data contains UUID types
  • GEOS-11708 STAC breadcrumbs rendering as plain text
  • GEOS-11820 WCS spatial sub-setting does not work when native CRS != declared CRS
  • GEOS-11832 count=0 service exception for some formats
  • GEOS-11857 Random NPE In LocalWorkspaceCallback
  • GEOS-11862 Layer Preview and Tile Layers page dropdown links broken after updating table
  • GEOS-11865 MapDownloadProcess washes out 1 band gray images when transparency is on
  • GEOS-11866 Prevent requests setting variables that should only be set by GeoServer
  • GEOS-11879 Xalan causes a java.lang.NoClassDefFoundError

Task:

For the complete list see 2.27.2 release notes.

Community Updates

We list these community modules purely as a service to the community to raise awareness of interesting add-ons to support, if there is sufficient common interest. They are not “production ready”.

How to make contact: browse the GitHub repo (https://github.com/geoserver/geoserver/tree/main/src/community > module > History) to see who:

  • a) made the original commit,
  • b) has been making changes (other than refactoring/dependency updates).

If you want to use a community module (in production), YOU need to arrange funding to:

  • a) promote it to an official extension (passing tests, etc.) and
  • b) maintain it going forward.

Community module development:

  • GEOS-11727 OGC API Tiles tests require tile links to be available in the collections resource too
  • GEOS-11728 OGC API Tiles returns an invalid content-disposition header
  • GEOS-11822 OGC API procesess basic implementation
  • GEOS-11829 Features templating ability to override schema
  • GEOS-11830 Smart data loader create store page fails when environment variables are in use
  • GEOS-11839 New Community Module for WPS Download in NetCDF output format for spatiotemporal coverages
  • GEOS-11847 Next link is missing in “Search” OGC API - Features proposal implementation when startIndex is not set
  • GEOS-11870 Singlestore(MemSql) datastore community module
  • GEOS-11871 Allow native execution of group by in DGGS store, when grouping on geometries
  • GEOS-11874 Align OGC API tiles API spec with specification
  • GEOS-11875 Execute OGC API Tiles CITE tests
  • GEOS-11876 WPS Vertical Longitudinal Profile: Support automatic distance computation
  • GEOS-11878 WFS HITS request returns the whole data records on a GML feature templated layer
  • GEOS-11880 OGC API Maps is not showing up in GeoServer home page
  • GEOS-11883 OGC API process description lacks links
  • GEOS-11884 OGC API process HTML input/outputs lack occurrences and formats

About GeoServer 2.27 Series

Additional information on GeoServer 2.27 series:

Release notes: ( 2.27.2 | 2.27.1 | 2.27.0 )

by Peter Smythe at July 18, 2025 12:00 AM

July 17, 2025

Do you deal with sensitive geospatial data ? Are you concerned by cybersecurity threats ?

Oslandia and partners ( e.g. OPENGIS.ch) launched the « Security Project for QGIS » : a mutualized funding effort to increase QGIS cybersecurity.

️During this webinar, Vincent Picavet first presented the context of the project : new regulations are coming ( CRA, NIS2 ), cyberattacks increase, software see a growing complexity, and QGIS legacy makes it difficult to increase security … and its benefits !

You can access the replay for free, after filling in a quick survey. 

Do not hesitate to pledge for the project on https://oslandia.com/en/security-project-for-qgis/, and contact us for any question qgis+security@oslandia.com !

by Caroline Chanlon at July 17, 2025 12:37 PM

July 16, 2025

The GeoServer team are really pleased to announce that our long-lost CITE Certification has been regained (for 2.27) over the last 6 months.

OGC CITE Certification is important for two reasons:

  • Provides a source of black-box testing ensuring that each GeoServer release behaves as intended.
  • Provides a logo and visibility for the project helping to promote the use of open standards.

Recent activity:

  • As part of a Camptocamp organized OGC API - Features sprint Gabriel was able setup a GitHub workflow restoring the use of CITE testing for black-box testing of GeoServer. Gabriel focused on OGC API - Features certification but found WMS 1.1 and WCS 1.1 tests would also pass out of the box, providing a setup for running the tests in each new pull request.
  • Andrea made further progress certifying the output produced by GeoServer, restoring the WMS 1.3, WFS 1.0 and WFS 1.1 tests, as well as upgrading the test engine to the latest production release. In addition, CITE tests that weren’t run in the past have been added, like WFS 2.0 and GeoTIFF, while other new tests are in progress, like WCS 2.0, WMTS 1.0 and GeoPackage.
  • Peter set up multiple GeoServers for the testing and to act as reference implementations (hosting graciously provided by the Open Source Geospatial Foundation) and ran the test suites.
  • Angelos Tzotsos (OSGeo) submitted the certification request to OGC.
  • Gobe Hobona (OGC) approved all of our submissions.

Many thanks to all who were involved! After approximately 10 years, we can once again officially confirm that GeoServer is OGC compliant.

Developer Documentation

For developers, read more about the certification process and how to expand on it for additional services.

CITE Certification Sponsorship

Thank you to Gaia3D and OSGeo:UK for sponsorship covering the expense of CITE Certification for 2025.

This certification process is expensive, and we will require sponsorship for 2026 if we wish to maintain certified status.

However, as mentioned above, these CITE tests are automatically run as part of our build process for each new pull request, so we can unofficially verify that we pass CITE tests, but we cannot claim to be compliant.

If you/your organization finds the CITE Certification valuable, please contact the Project Steering Committee to sponsor the annual renewal. The more organizations that are able to sponsor, the lower the expense will be to each organization (sharing the approx USD $1,000 per year cost).

by Peter Smythe at July 16, 2025 12:00 AM

July 15, 2025

Another Raf’s contribution with the plots where the olives come from, in gold on top of the orthophotomap, is the label of Lacrima Olea, the Picual variety extra virgin olive oil home-grown and cold-pressed produced by Cooperativa de Godall, Catalunya

by Arnaud at July 15, 2025 09:00 AM

July 14, 2025

July 13, 2025

July 12, 2025

July 11, 2025

July 10, 2025

July 09, 2025

Some spatial use cases require identifying "narrow" or "skinny" polygons.  A classic example is the process of cleaning polygonal coverages. Coverages (even clean ones) may contain narrow gaps between polygons which are unwanted.  But they may also contain larger gaps which are valid.  A geometric test is required to distinguish narrow polygons which are gaps (that can be merged) from wider ones (which should be retained). 

Narrowness Measures

There are various criteria which can be used to determine if a polygon is "narrow".  One approach is to use an estimate of circularity (also called compactness or roundness) such as the Polsby-Popper measure.  This is a measure based on the ratio of polygon area to the square of its perimeter.  Polygons with a measure closer to 1 are more circular than ones with lower values (which are thus more likely to be narrow).  This is easy to implement and fast to compute, but it has significant limitations:

  • it is not obvious how to pick a measure value that determines "narrowness"
  • it is based on shape-wide metrics (area and perimeter), so it may not accurately reflect the local properties of a shape (i.e. a polygon may have a low circularity measure and still contain a wide "bulge" in one place.)
  • because it is a ratio it is size-independent, so very small gaps (which should be removed) may be compact according to the measure, and are thus retained. (Adding an area limit can mitigate this, but that introduces yet another difficult-to-choose parameter.)

Maximum Inscribed Circle isRadiusWithin

Really, the best way is to determine the narrowness of a polygon is to compute its actual width.  An effective way to do this is to compute the diameter of the largest circle which lies within the polygon.  This is known as the Maximum Inscribed Circle.  The JTS Topology Suite provides the MaximumInscribedCircle class to compute the centre point and radius of the required circle (see the blog post). (The algorithm is also available in downstream projects including GEOS, PostGIS and Shapely.)  The algorithm uses an iterative approximation, which currently requires specifying an approximation tolerance distance.

However, the real requirement is only to test whether the MIC radius is less than a given length value.  The actual value of the radius is not required.  Generally, an algorithm that tests for a value can be faster and more robust than one that computes the value explicitly.  This is a perfect example of this principle.  By formulating the function as a test against a provided radius length execution can be much faster, since computation can terminate as soon as it is known that the radius must be smaller or larger than the required length.  (Determining that the MIC radius is larger than the limit is easy: an internal point is found with distance to the polygon boundary which is greater than the limit.  The radius is known to be smaller than the limit once the grid size used to generate internal points is less than one-half the limit value.  If neither of those situations occurs the approximation tolerance is used to terminate the computation.)  This has recently been implemented as the MaximumInscribedCircle.isRadiusWithin predicate.  

A further benefit of the isRadiusWithin implementation is that it removes the need to specify the approximation tolerance.  The tolerance can be determined automatically, as a fraction of the specified radius limit.  This is significant, because selecting an appropriate distance tolerance for a Maximum Inscribed Circle computation is difficult, since it has no relationship to the size of the input geometry (i.e. a geometry may have a large extent, but still be very narrow.)  This is particularly challenging when a single tolerance must be chosen for a set of inputs of varying shape - precisely the use case for which this is being built.

Demonstration

As expected, evaluating the isRadiusWithin predicate is much faster than computing the actual value of the Maximum Inscribed Circle radius.  For a demonstration we use this dataset of world country borders (exploded to treat each island as a separate polygon).   This dataset has 8,393 polygons containing a total of 366,951 vertices.  

Computing the Maximum Inscribed Circle radius for each polygon, with a tolerance of 0.00001 degrees, takes 2.68 seconds.  

Evaluating the isRadiusWithin predicate, using a distance tolerance of 1 degree, executes in 0.034 seconds - almost 80 times faster.  


Usage in Coverage Cleaning

This function is used in the CoverageCleaner class to provide a fast test for narrow polygons (as specified by the user using the gapWidth parameter).  To see how this works on a real use case,  consider a polygonal coverage dataset of communes in Departement 71 in France (Saône-et-Loire).  The dataset has 564 polygons, with 612,238 vertices. As shown in a previous post on coverage cleaning, this dataset has highly non-aligned linework.  This creates lots of gaps.  The gaps can be found by cleaning the coverage with a gap tolerance distance of 0, which reveals 28,427 gaps, with 349,042 vertices.

Departement 71 communes showing the many gaps present

Close-up of gaps (note scale)

Computing the Maximum Inscribed Circle radius explicitly for each gap takes 25.4 seconds.  In contrast, using isRadiusWithin with a distance of 0.5 takes only 1.35 seconds - 18 times faster.  Since the cleaning process itself takes only 4.9 seconds, the reduction in time for the gap merging phase is significant.  

Future Work

It would be very nice to extend the automatic tolerance setting to the Maximum Inscribed Circle computation.  More research is required to see whether this can be done.

by Dr JTS (noreply@blogger.com) at July 09, 2025 07:31 PM

July 08, 2025

July 07, 2025

July 06, 2025

Week 19 was a planned rest week. I did more biking and enjoyed watching or listening to the Western States Endurance Run livestream while gardening and running on a treadmill at the gym.

  • 10.6 miles running

  • 318 ft D+ running

  • 7 hours, 12 minutes all training

In week 20 I ran more than 35 miles! My biggest mileage and elevation gain of the season. Recovering from Achilles tendinopathy while training has been challenging, but it seems like I'm succeeding.

  • 36.8 miles running

  • 6,280 ft D+ running

  • 14 hours, 30 minutes all training

I ran four times and did back-to-back long runs for the first time in ages. 10 miles on Saturday and 14 today in two trips up Towers Trail in Lory State Park. My body is feeling okay afterwards, so I'm optimistic that I'll be able to do more next week. I think I've got the capacity for a 50 mile week with 10,000 ft before Never Summer.

https://live.staticflickr.com/65535/54638129030_44d28d8839_b.jpg

A granite prominence in Colorado's Lory State Park viewed from a lush and green grassy stretch of Howard Trail.

by Sean Gillies at July 06, 2025 10:53 PM

This is a guest post by Guilhem Allaman.

Mid-June, the French-speaking QGIS Users Meeting was held in Avignon, Southern France – a city often described as “the City of the Popes“, thanks to the Popes’ Palace, the city’s number one attraction. Not far from the non-terminated bridge, which has inspired some happy songs around the world as well as the 2025 edition banner :

QGISFR2025 visual banner - Credits to Sylvain Beorchia

The French-speaking QGIS community could meet, discuss and share some insightful ideas and moments together. The conference brought over 280 people from the 6 corners of France including Guadeloupe, as well as Belgium, Togo, Switzerland. The QGIS-fr Users Meeting, using the #QGISFR2025 hashtag on social media, proposed events during 3 days :

  • During day 1, participants were able to take part to the 20 workshops, on a variety of balanced QGIS topics. Approximately 200 people attended that day. On the evening, a shared aperitif and dinner was organized.
QGISFR2025 shared "aperitif" on first day evening - Photo from Marjorie Fangain
  • Day 2 was the conference day, with no less than 12 insightful talks, which showcased interesting usages and strategies around QGIS for the 220 attendants.
  • Day 3 was devoted to contributions to the QGIS project, focusing on 5 axes : development, funding, documentation, translation and communication. Approximately 75 people attended that day.
QGISFR2025 conference day - Photo from Margaux Pontier

The QGIS-fr Users Meeting is organized by OSGeo-fr, the french local chapter of the OSGeo Foundation. This year’s edition was in partnership and co-organized with Avignon Université, and especially the UMR 7300 ESPACE Unit.

The money raised by participants and sponsors registrations will be used to finance the QGIS project, as well as other projects on which QGIS depends. This year, the sum donated to QGIS.org is around €17,000.

The Avignon unterminated Bridge over the Rhône river - Photo from Margaux Pontier

OSGeo-fr is already looking forward to next year : the next edition will be held in March, in Brest – Brittany region, a place often described as “the End of the World“. The 2026 QGIS-fr Users Meeting will be organized in collaboration with the UMR LETG Unit.

by underdark at July 06, 2025 12:20 PM

GeoSpatial Techno is a startup focused on geospatial information that is providing e-learning courses to enhance the knowledge of geospatial information users, students, and other startups. The main approach of this startup is providing quality, valid specialized training in the field of geospatial information.

( YouTube | LinkedIn | Facebook | X )


GeoServer WPS Extension Installation Guide

This session covers the steps to install the WPS (Web Processing Service) extension in GeoServer, enabling advanced geospatial data processing capabilities through standardized web service operations.

If you want to access the complete tutorial, click on the link.

Introduction

GeoServer is a powerful open-source server application that enables users to publish geospatial data and interactive maps on the web. It supports a wide range of data formats and protocols, making it a flexible solution for managing and delivering geospatial content. One of its standout capabilities is functioning as a geoprocessing server.

Geoprocessing involves analyzing spatial data to derive insights and perform operations such as Buffer, Clip, Union, Contour, and more. By default, GeoServer does not include Web Processing Service (WPS) functionality. However, WPS is available as an optional extension that’s easy to install. Adding this extension unlocks advanced geospatial analysis and processing features directly within GeoServer. To get started, download the WPS extension ZIP file that matches your GeoServer version.

Note: This tutorial uses GeoServer version 2.25.3. Be sure to download the WPS extension that corresponds exactly to your GeoServer version—mismatched versions will result in errors.

Installing the WPS Extension

Here are the steps to install the WPS extension in GeoServer:

  • Navigate to the GeoServer website and select the download link.
  • Under the Archive tab, choose the version that matches your installed GeoServer.
  • Select the WPS option from the Services section. After a few seconds, the extension file will begin downloading automatically.

Prepare for Installation:

  • It’s recommended to stop GeoServer before installing any extensions. This will prevent any potential conflicts or problems during the installation process.
  • Unzip the downloaded WPS extension file.
  • Copy all extracted .jar files directly into the WEB-INF/lib directory of your GeoServer installation. Ensure the extracted files are placed directly in this directory, avoiding subfolders.
  • Once the files are in place, restart GeoServer to ensure that the changes take effect. This activates the newly installed WPS extension.

Verifying the WPS Extension Installation

Once GeoServer is running again, open the GeoServer web interface. From the Server Status section, click on the Modules tab to confirm that the WPS extension is in the list of installed modules.

Testing WPS Functionality:

  • Navigate to the Demos section in the GeoServer interface.
  • Select WPS Request Builder to access a tool for testing WPS processes.

  • The WPS Request Builder consists of a drop-down list containing various processes. It supports many types of processes that are categorized based on prefixes. These prefixes are:
    • JTS: Java Topology Suite
    • geo: geometry processes
    • ras: raster processes
    • vec: Vector processes
    • gs: GeoServer-specific processes
  • The geo and JTS processes return text-based analysis results but do not support internal GeoServer layers as input.
  • The gs and vec function groups support both text input and GeoServer layers or WFS layer URLs.
  • For raster data analysis, use processes with the Ras prefix.

In this session, we took a brief look at how to install the WPS extension in GeoServer. To access the full tutorial, click on this link.

by Milad Rafiei at July 06, 2025 12:00 AM

July 05, 2025

July 04, 2025

Stellenbezeichnung: QGIS- & PostGIS-Expert:in

Arbeitsort: Remote (innerhalb der Schweiz von Vorteil)

Pensum: 80–100%

Firma: OPENGIS.ch


Über OPENGIS.ch

OPENGIS.ch ist ein engagiertes Team von GeoNinjas für Entwicklung und Beratung. Wir setzen auf massgeschneiderte Open-Source-Geodatenlösungen für Schweizer und internationale Kundschaft. Unsere Leidenschaft gilt offenen Technologien – wir entwickeln sie weiter, setzen sie wirkungsvoll ein und engagieren uns aktiv in der Open-Source-Community. Unser verteiltes, agiles Team lebt von Zusammenarbeit, Vielfalt und gegenseitigem Support.


Deine Rolle

Zur Verstärkung unseres Beratungsteams suchen wir eine erfahrene, motivierte Fachperson im Bereich GIS. Du unterstützt unsere Kundinnen und Kunden bei der Erstellung und Pflege von PostGIS-Datenbanken, QGIS-Projekten und QField-Einsätzen. Du arbeitest selbstständig, aber eingebettet in ein kollegiales und kundenorientiertes Umfeld. Wenn du fürs QGIS-Ökosystem brennst, möchten wir dich unbedingt kennenlernen!


Deine Aufgaben

  • Aufbau und Betreuung von professionellen QGIS-Projekten (inkl. Datenbankanbindungen, Drucklayouts, Modellen usw.)
  • Einrichten, Anpassen und Migrieren von PostGIS-Datenbanken
  • Leitung kleiner Projekte
  • Direkter Austausch mit Kund:innen zur Erfassung und Umsetzung ihrer Bedürfnisse
  • Optional: Durchführung von QGIS- und QField-Schulungen (Einsteiger- und Fortgeschrittenenniveau)

Dein Profil

  • Fundierte Erfahrung mit QGIS und PostGIS
  • Gute Kenntnisse im Datenmodellieren
  • INTERLIS-Erfahrung von Vorteil
  • Kenntnisse in QField und/oder QFieldCloud von Vorteil (Schulung möglich)
  • Von Vorteil: Erfahrung mit Python-Scripting, Git und Docker
  • Selbständige, lösungsorientierte Arbeitsweise
  • Freude an Teamarbeit und klare Kommunikation
  • Offen für Neues, neugierig und lernfreudig
  • Fliessend Deutsch oder Französisch; gute Kenntnisse der anderen Sprache von Vorteil
  • Englischkenntnisse fliessend
  • Wohnsitz in der Schweiz bevorzugt

Fragen an dich

  • Welche Erfahrungen bringst du mit QGIS und PostGIS mit?
  • Kannst du ein aktuelles Projekt beschreiben, bei dem du fortgeschrittene QGIS-Funktionen und PostGIS genutzt hast?
  • Was hast du kürzlich aus persönlichem Interesse gelernt?

So bewirbst du dich:

Wenn dich diese Stelle anspricht und du das passende Profil mitbringst, freuen wir uns auf deine Bewerbung unter opengis.ch/jobs


Werde Teil von OPENGIS.ch – und gestalte mit uns die Zukunft der Open-Source-Geoinformatik! 🌍💻🚀

by Marco Bernasocchi at July 04, 2025 07:25 PM

July 03, 2025

There’s something magical about discovering a beautifully illustrated tourist map like this one from Howth. These pictorial gems transform simple navigation into an adventure, especially this one, where you can imagine yourself hunting a treasure on an Island.

Thanks, Catherine, for sharing it.

by Arnaud at July 03, 2025 09:00 AM

July 02, 2025

July 01, 2025