Vous pouvez lire le billet sur le blog La Minute pour plus d'informations sur les RSS !
Feeds
10891 items (4 unread) in 53 feeds

-
Décryptagéo, l'information géographique
-
Cybergeo
-
Revue Internationale de Géomatique (RIG)
-
SIGMAG & SIGTV.FR - Un autre regard sur la géomatique (1 unread)
-
Mappemonde
-
Imagerie Géospatiale
-
Toute l’actualité des Geoservices de l'IGN
-
arcOrama, un blog sur les SIG, ceux d ESRI en particulier
-
arcOpole - Actualités du Programme
-
Géoclip, le générateur d'observatoires cartographiques
-
Blog GEOCONCEPT FR

-
Géoblogs (GeoRezo.net)
-
Geotribu
-
Les cafés géographiques
-
UrbaLine (le blog d'Aline sur l'urba, la géomatique, et l'habitat)
-
Séries temporelles (CESBIO)
-
Datafoncier, données pour les territoires (Cerema)
-
Cartes et figures du monde
-
SIGEA: actualités des SIG pour l'enseignement agricole
-
Data and GIS tips
-
Neogeo Technologies
-
ReLucBlog
-
L'Atelier de Cartographie
-
My Geomatic
-
archeomatic (le blog d'un archéologue à l’INRAP)
-
Cartographies numériques (3 unread)
-
Veille cartographie
-
Makina Corpus
-
Oslandia
-
Camptocamp
-
Carnet (neo)cartographique
-
Le blog de Geomatys
-
GEOMATIQUE
-
Geomatick
-
CartONG (actualités)
Planet OSGeo
-
8:00
gvSIG Team: Geoportales con gvSIG Online para visibilizar la violencia de género e identidad sexual en El Salvador
sur Planet OSGeoCompartimos la presentación de un proyecto consistente en poner en marcha la plataforma gvSIG Online para ayudar a visibilizar, mediante visores de mapas, los datos de violencia de género e identidad sexual en El Salvador.
En el proyecto se utilizó gvSIG Desktop para generar los distintos mapas a partir de simples hojas de cálculo y gvSIG Online para la creación de geoportales y publicación de los mapas temáticos.
Aquí tenéis el acceso a los visores públicos:
-
6:00
Marco Bernasocchi: QField 2.8: Boosting field work through external sensors
sur Planet OSGeoThe latest version of QField is out, featuring as its main new feature sensor handling alongside the usual round of user experience and stability improvements. We simply can’t wait to see the sensor uses you will come up with!
The main highlight: sensors
QField 2.8 ships with out-of-the-box handling of external sensor streams over TCP, UDP, and serial port. The functionality allows for data captured through instruments – such as geiger counter, decibel sensor, CO detector, etc. – to be visualized and manipulated within QField itself.
Things get really interesting when sensor data is utilized as default values alongside positioning during the digitizing of features. You are always one tap away from adding a point locked onto your current position with spatially paired sensor readings saved as point attribute(s).
Not wowed yet? Try pairing sensor readings with QField’s tracking capability!
Head over QField’s documentation on this as well as QGIS’ section on sensor management to know more.
The development of this feature involved the addition of a sensor framework in upstream QGIS which will be available by the end of this coming June as part of the 3.32 release. This is a great example of the synergy between QField and its big brother QGIS, whereas development of new functionality often benefits the broader QGIS community. Big thanks to Sevenson Environmental Services for sponsoring this exciting capability.
Notable improvementsA couple of refinements during this development cycle are worth mentioning. If you ever wished for QField to directly open a selected project or reloading the last session on app launch, you’ll be happy to know this is now possible.
For heavy users of value relations in their feature forms, QField is now a tiny bit more clever when displaying string searches against long lists, placing hits that begin with the matched string first as well as visually highlighting matches within the result list itself.
Finally, feature lists throughout QField are now sorted. By default, it will sort by the display field or expression defined for each vector layer, unless an advanced sorting has been defined in a given vector layer’s attribute table. It makes browsing through lists feel that much more natural.
-
17:19
gvSIG Team: Preparación de modelos de datos en gvSIG Desktop
sur Planet OSGeoCada vez es más frecuente encontrarnos con proyectos con conjuntos de datos alfanuméricos estructurados, repartidos en varias tablas, algunas con componente geográfica y otras no,… en definitiva modelos de datos cada vez más elaborados.
GvSIG Desktop tiene funcionalidades (que seguro la mayoría no conoce) que le permiten manipular las tablas resultado de materializar un modelo de datos: dispone de herramientas para trabajar con las tablas no como “tablas aisladas” sino como un todo, en el que las distintas entidades están relacionadas entre sí.
En la siguiente presentación os mostramos cómo podemos trabajar en gvSIG Desktop con modelos de datos.
-
2:00
PostGIS Development: PostGIS 3.3.3, 3.2.5, 3.1.9, 3.0.9 Patch Releases
sur Planet OSGeoThe PostGIS development team is pleased to provide bug fixes and performance enhancements 3.3.3, 3.2.5, 3.1.9 and 3.0.9 for the 3.3, 3.2, 3.1, and 3.0 stable branches.
-
11:25
GeoTools Team: GeoTools 29.1 Released
sur Planet OSGeoThe GeoTools team are pleased to announce the release of the latest stable version of GeoTools 29.1 geotools-29.1-bin.zip geotools-29.1-doc.zip geotools-29.1-userguide.zip geotools-29.1-project.zip Improvements and fixes in this release BugGEOT-7325 WMTS multi tile request is not compatible with RESTful serversGEOT-7333 The result of linearization after creating circulararc is -
2:00
Camptocamp: Implementing an Effective CICD Pipeline for Faster Software Delivery and Enhanced Security Testing
sur Planet OSGeoEnclosure: [download]
Delivering high-quality software quickly is essential in today's fast-paced digital landscape, and a well-designed continuous integration and continuous delivery (CICD) pipeline can help development teams achieve this goal by enabling faster feedback loops and reducing the time between code changes and deployment. -
11:05
gvSIG Team: FONDEA: aplicación para protección de praderas de posidonia de fondos marinos desarrollada con gvSIG Mapps
sur Planet OSGeoFONDEA es una aplicación desarrollada con tecnología gvSIG Mapps que tiene como objetivo ayudar a proteger las praderas fanerógamas, la conocida posidonia. Mediante su uso permite ubicar tanto las embarcaciones como las praderas, con el fin de evitar fondear en zonas protegidas.
Podéis conocer todos los detalles técnicos en el siguiente vídeo:
-
18:00
Paul Ramsey: Keynote @ CUGOS Spring Fling
sur Planet OSGeoLast month I was invited to give a keynote talk at the CUGOS Spring Fling, a delightful gathering of “Cascadia Users of Open Source GIS” in Seattle. I have been speaking about open source economics at FOSS4G conferences more-or-less every two years, since 2009, and took this opportunity to somewhat revisit the topics of my 2019 FOSS4GNA keynote.
If you liked the video and want to use the materials, the slides are available here under CC BY.
-
9:13
gvSIG Team: Culminó con gran éxito la edición 2022 del Curso-Concurso Proyectos con Estudiantes y gvSIG Batoví
sur Planet OSGeoRepescamos un post sobre la edición de 2022 del Curso-Concurso de gvSIG Batoví, sobre la que no os habiamos contado nada. Como siempre decimos, un ejemplo a replicar en cualquier país del mundo… y en esas se está, este 2023 es muy probable que otros países participen.
Un ejemplo de como llevar la geomática a las aulas. Alumnos utilizándola para analizar su realidad más cercana para intentar mejorarla.Desde 2017 se realiza el Curso-Concurso Proyectos de Geografía con Estudiantes y gvSIG Batoví, sólo interrumpido el año 2020 por obvias razones. La edición 2022 tuvo su cierre el pasado 7 de diciembre en el IPES (Instituto de Perfeccionamiento y Estudios Superiores), en la ciudad de Montevideo.
salón de actos del IPES
Esta es una iniciativa conjunta de la Dirección Nacional de Topografía (MTOP), la Inspección Nacional de Geografía y Geología de la Dirección General de Educación Secundaria (DGES/ANEP) y Ceibal, a la que este año se sumó el Centro de Investigación en Computación del Instituto Politécnico Nacional de México.
Nuevamente la red GeoLIBERO (Red CYTED compuesta por una veintena de grupos de investigación y un centenar de destacados especialistas en geomática libre de Iberoamérica) participó activamente a través de las tutorías que año a año vienen teniendo los proyectos participantes. Estas tutorías brindan apoyo y asesoramiento a los diferentes…
View original post 985 more words
-
8:05
gvSIG Team: GuiaT, uso de gvSIG Online para agilizar los trámites administrativos y burocráticos del sector urbanístico
sur Planet OSGeo -
2:00
Camptocamp: Camptocamp participates in the geOcom’s 10th edition
sur Planet OSGeoEnclosure: [download]
geOcom is the annual meeting of users, administrators and developers of the geOrchestra data infrastructure. -
18:08
GeoSolutions: Leveraging Open-Source Geospatial Services for Real-Time Emergency Management Applications: Overwatch Imaging and HURREVAC use cases
sur Planet OSGeoYou must be logged into the site to view this content.
-
9:50
gvSIG Team: SIGCAR: gestión de seguridad vial con gvSIG Desktop
sur Planet OSGeoEn la Generalitat Valenciana se han desarrollado un conjunto de herramientas muy potentes sobre gvSIG Desktop para la gestión de Seguridad Vial. Estas herramientas, además, pueden aplicarse a otros usos y forman parte del conjunto de funcionalidades disponibles en las últimas versiones de desarrollo de gvSIG Desktop (sí, tenemos pendiente sacar una versión final que contenga las innumerables mejoras que se han aportado desde la última distribución… la idea es tenerla para el segundo semestre de este año).
Y ahora si queréis conocer cómo se gestionan los datos de accidentalidad, aforos, catálogos de carreteras… os dejamos con la presentación de SIGCAR:
-
2:00
GeoServer Team: GeoServer 2.23.1 Release
sur Planet OSGeoGeoServer 2.23.1 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a stable release of GeoServer suitable for production systems, made in conjunction with GeoTools 29.1 and GeoWebCache 1.23.0.
We are grateful to Ian Turton (Astun Technology Ltd) for making this release.
Release notesImprovement:
-
GEOS-10858 jdbc-config turns off isolated workspace support
-
GEOS-10898 Preserve key order in STAC responses coming from JSONB columns
-
GEOS-10923 Use default writing params on
GeoTIFFPPIO
-
GEOS-10940 Update MapML viewer to release 0.11.0
Bug:
-
GEOS-8162 CSV Data store does not support relative store paths
-
GEOS-10837 geopackage output fails when
java.io.tmpdir
on network share -
GEOS-10912 jms-cluster fails to clone grid coverage layer on other nodes
-
GEOS-10920 Excel output format packaging misses dependencies, cannot produce .xls
-
GEOS-10921 Double escaping of HTML with enabled features-templating
-
GEOS-10922 Features templating exception on text/plain format
-
GEOS-10932 csw-iso: should only add
'xsi:nil = false'
attribute -
GEOS-10934 CSW does not show title/abstract on welcome page
-
GEOS-10946 WMS
GetLegendGraphic
throwsFootprintsTransformation
cannot be cast toProcessFunctionException
-
GEOS-10950 Performance regression in
DescribeFeatureType
across all feature types -
GEOS-10955 STAC templates are initialised in the wrong location
-
GEOS-10957 Support
ResourceAccessManager
implementations returning custom subclasess ofAccessLimits
-
GEOS-10969 Empty
CQL_FILTER
parameter should be ignored -
GEOS-10975 JMS clustering reports error about
ReferencedEnvelope
type not being whitelisted in XStream -
GEOS-10985 B/R of GeoServer catalog is broken with GeoServer 2.23.0
Task:
- GEOS-10859 OGC API: swagger-api 4.15.5 upgrade
For the complete list see 2.23.1 release notes.
About GeoServer 2.23 SeriesAdditional information on GeoServer 2.23 series:
-
-
13:07
gvSIG Team: Plataforma de cálculo de rutas multimodal para movilidad sostenible
sur Planet OSGeoLlevamos tiempo con el blog parado, fruto de la avalancha de proyectos, actividades, etc. en la que andamos metidos. Pero ya toca reactivar la difusión del huracán de cosas que se están moviendo en el ecosistema gvSIG, así que vamos a empezar por retomar el blog, contándoos en primer lugar diversos proyectos que utilizan la Suite gvSIG… y empezamos con GVEnRuta, donde hemos utilizado la solución que denominamos gvSIG Mobility y que incluye productos como gvSIG Online, gvSIG Mapps y OpenTripPlanner.
Se trata de una plataforma de cálculo de rutas multimodal para movilidad sostenible que fue presentada en las pasadas Jornadas Internacionales de gvSIG.
Por cierto, y antes de dejaros con la presentación, la línea de “proyectos de movilidad” es una de las que más está creciendo en el ecosistema gvSIG y más adelante os contaremos alguno de los proyectos en los que se está trabajando. Tanto es así que igual este año se celebra en Valencia cierto evento que… bueno, ya os contaremos cuando sea el momento.
Vamos con la presentación de GVEnRuta:
Y si queréis probarlo (además de las Stores de Google e iOS), podéis en:
-
19:23
Free and Open Source GIS Ramblings: Analyzing video-based bicycle trajectories
sur Planet OSGeoDid you know that MovingPandas also supports local image coordinates? Indeed, it does.
In today’s post, we will explore how we can use this feature to analyze bicycle tracks extracted from video footage published by Michael Szell @mszll:
The bicycle trajectory coordinates are stored in two separate lists: xs_640x360 and ys640x360:
This format is kind of similar to the Kaggle Taxi dataset, we worked with in the previous post. However, to use the solution we implemented there, we need to combine the x and y coordinates into nice (x,y) tuples:
df['coordinates'] = df.apply( lambda row: list(zip(row['xs_640x360'], row['ys_640x360'])), axis=1) df.drop(columns=['xs_640x360', 'ys_640x360'], inplace=True)
Afterwards, we can create the points and compute the proper timestamps from the frame numbers:
def compute_datetime(row): # some educated guessing going on here: the paper states that the video covers 2021-06-09 07:00-08:00 d = datetime(2021,6,9,7,0,0) + (row['frame_in'] + row['running_number']) * timedelta(seconds=2) return d def create_point(xy): try: return Point(xy) except TypeError: # when there are nan values in the input data return None new_df = df.head().explode('coordinates') new_df['geometry'] = new_df['coordinates'].apply(create_point) new_df['running_number'] = new_df.groupby('id').cumcount() new_df['datetime'] = new_df.apply(compute_datetime, axis=1) new_df.drop(columns=['coordinates', 'frame_in', 'running_number'], inplace=True) new_df
Once the points and timestamps are ready, we can create the MovingPandas TrajectoryCollection. Note how we explicitly state that there is no CRS for this dataset (crs=None):
trajs = mpd.TrajectoryCollection( gpd.GeoDataFrame(new_df), traj_id_col='id', t='datetime', crs=None)
Plotting trajectories with image coordinatesSimilarly, to plot these trajectories, we should tell hvplot that it should not fetch any background map tiles (’tiles’:None) and that the coordinates are not geographic (‘geo’:False):
If you want to explore the full source code, you can find my Github fork with the Jupyter notebook at: [https:]]
The repository also contains a camera image of the intersection, which we can use as a background for our trajectory plots:
bg_img = hv.RGB.load_image('img/intersection2.png', bounds=(0,0,640,360))
One important caveat is that speed will be calculated in pixels per second. So when we plot the bicycle speed, the segments closer to the camera will appear faster than the segments in the background:
To fix this issue, we would have to correct for the distortions of the camera lens and perspective. I’m sure that there is specialized software for this task but, for the purpose of this post, I’m going to grab the opportunity to finally test out the VectorBender plugin.
Georeferencing the trajectories using QGIS VectorBender pluginLet’s load the five test trajectories and the camera image to QGIS. To make sure that they align properly, both are set to the same CRS and I’ve created the following basic world file for the camera image:
1 0 0 -1 0 360
Then we can use the VectorBender tools to georeference the trajectories by linking locations from the camera image to locations on aerial images. You can see the whole process in action here:
After around 15 minutes linking control points, VectorBender comes up with the following georeferenced trajectory result:
Not bad for a quick-and-dirty hack. Some points on the borders of the image could not be georeferenced since I wasn’t always able to identify suitable control points at the camera image borders. So it won’t be perfect but should improve speed estimates.
-
15:40
Jackie Ng: Announcing: FDO Toolbox 1.5.3
sur Planet OSGeoHere's the first stop of the tour, a new release of FDO Toolbox.
I knew that a new release of FDO Toolbox would be coming when I was using the previous 1.5.2 release and it spectacularly failed in my dogfooding of trying to load some GDA2020 SHP files to SQL Server. The actual problem was actually pretty minor, but this inevitably started a chain of dealing with many other annoyances and reported issues, culminating in this release you see here.
Here's a summary of notable changes in this release.
The configuration support check has been fixed so that the configuration doc field is enabled based on actual provider capability check instead of the previously (dumb) approach of checking the provider name. This means the configuration document field is no longer disabled when connecting to PostgreSQL/PostGIS databases and one can finally supply a XML configuration document to apply schema overrides!
The data store editor in standalone mode now supports deleting schemas, to support the common FDO schema override use case of trimming out extraneous schemas and feature classes.
The annoyance of loading a saved bulk copy definition file and a whole bunch of connections with "Connection1/Connection2/Connection3" names being created is now fixed. We will now try to use the original name on the definition file if there is no open connection using the same name.
Also did you know that FDO Toolbox has a neat little feature to help you easily visualize geometry WKT?
You probably didn't know because this feature was hidden in the depths of the FDO Expression Editor when editing FDO expressions or filters and could not be accessed on its own.
That's why in this release, the Geometry Visualizer is now also accessible from the Tools menu.
Finally, to return back to the original issue motivating the production of this new release, the ExtendedCoordSys.txt support file for the SQL Server FDO provider has been updated to match the copy from current FDO trunk and has been updated with a CS alias mapping for GDA2020, allowing one to create spatial contexts on a SQL Server data store with this particular coordinate system (and many others!)
Now onto the next tour stop!
-
2:00
Paul Ramsey: MapScaping Podcast: Rasters and PostGIS
sur Planet OSGeoLast month I got to record a couple podcast episodes with the MapScaping Podcast’s Daniel O’Donohue. One of them was on the benefits and many pitfalls of putting rasters into a relational database, and it is online now!
TL;DR: most people think “put it in a database” is a magic recipe for: faster performance, infinite scalability, and easy management.
Where the database is replacing a pile of CSV files, this is probably true.
Where the database is replacing a collection of GeoTIFF imagery files, it is probably false. Raster in the database will be slower, will take up more space, and be very annoying to manage.
So why do it? Start with a default, “don’t!”, and then evaluate from there.
For some non-visual raster data, and use cases that involve enriching vectors from raster sources, having the raster co-located with the vectors in the database can make working with it more convenient. It will still be slower than direct access, and it will still be painful to manage, but it allows use of SQL as a query language, which can give you a lot more flexibility to explore the solution space than a purpose built data access script might.
There’s some other interesting tweaks around storing the actual raster data outside the database and querying it from within, that I think are the future of “raster in (not really in) the database”, listen to the episode to learn more!
-
16:20
W3C Maps for HTML Community Group: Geomob Podcast on Maps for HTML
sur Planet OSGeoEd Freyfogle, leader of the OpenCage geocoding service, and Peter Rushforth had a chat about the Maps for HTML community and our goals. You can listen to their conversation here, please leave comments below.
-
15:34
Free and Open Source GIS Ramblings: How to use Kaggle’s Taxi Trajectory Data in MovingPandas
sur Planet OSGeoKaggle’s “Taxi Trajectory Data from ECML/PKDD 15: Taxi Trip Time Prediction (II) Competition” is one of the most used mobility / vehicle trajectory datasets in computer science. However, in contrast to other similar datasets, Kaggle’s taxi trajectories are provided in a format that is not readily usable in MovingPandas since the spatiotemporal information is provided as:
- TIMESTAMP: (integer) Unix Timestamp (in seconds). It identifies the trip’s start;
- POLYLINE: (String): It contains a list of GPS coordinates (i.e. WGS84 format) mapped as a string. The beginning and the end of the string are identified with brackets (i.e. [ and ], respectively). Each pair of coordinates is also identified by the same brackets as [LONGITUDE, LATITUDE]. This list contains one pair of coordinates for each 15 seconds of trip. The last list item corresponds to the trip’s destination while the first one represents its start;
Therefore, we need to create a DataFrame with one point + timestamp per row before we can use MovingPandas to create Trajectories and analyze them.
But first things first. Let’s download the dataset:
import datetime import pandas as pd import geopandas as gpd import movingpandas as mpd import opendatasets as od from os.path import exists from shapely.geometry import Point input_file_path = 'taxi-trajectory/train.csv' def get_porto_taxi_from_kaggle(): if not exists(input_file_path): od.download("https://www.kaggle.com/datasets/crailtap/taxi-trajectory") get_porto_taxi_from_kaggle() df = pd.read_csv(input_file_path, nrows=10, usecols=['TRIP_ID', 'TAXI_ID', 'TIMESTAMP', 'MISSING_DATA', 'POLYLINE']) df.POLYLINE = df.POLYLINE.apply(eval) # string to list df
And now for the remodelling:
def unixtime_to_datetime(unix_time): return datetime.datetime.fromtimestamp(unix_time) def compute_datetime(row): unix_time = row['TIMESTAMP'] offset = row['running_number'] * datetime.timedelta(seconds=15) return unixtime_to_datetime(unix_time) + offset def create_point(xy): try: return Point(xy) except TypeError: # when there are nan values in the input data return None new_df = df.explode('POLYLINE') new_df['geometry'] = new_df['POLYLINE'].apply(create_point) new_df['running_number'] = new_df.groupby('TRIP_ID').cumcount() new_df['datetime'] = new_df.apply(compute_datetime, axis=1) new_df.drop(columns=['POLYLINE', 'TIMESTAMP', 'running_number'], inplace=True) new_df
And that’s it. Now we can create the trajectories:
trajs = mpd.TrajectoryCollection( gpd.GeoDataFrame(new_df, crs=4326), traj_id_col='TRIP_ID', obj_id_col='TAXI_ID', t='datetime') trajs.hvplot(title='Kaggle Taxi Trajectory Data', tiles='CartoLight')
That’s it. Now our MovingPandas.TrajectoryCollection is ready for further analysis.
By the way, the plot above illustrates a new feature in the recent MovingPandas 0.16 release which, among other features, introduced plots with arrow markers that show the movement direction. Other new features include a completely new custom distance, speed, and acceleration unit support. This means that, for example, instead of always getting speed in meters per second, you can now specify your desired output units, including km/h, mph, or nm/h (knots).
-
2:00
Camptocamp: The Open Source Geospatial Community Gathers at Camptocamp for OGC Code Sprint
sur Planet OSGeoEnclosure: [download]
Over 50 Geospatial developers from around the world gathered in-person for the 3rd annual Open Standards and Open Source Software Code Sprint at Camptocamp’s Basecamp office in Bussigny, Switzerland from April 25 to 27, 2023. -
16:00
QGIS Blog: Plugin Update April 2023
sur Planet OSGeoApril wasn’t just the month of our wonderful user conference and contributor meeting, it was also a month with a whopping 23 new plugins that have been published in the QGIS plugin repository.
Here’s the quick overview in reverse chronological order. 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.
Network Store Plugin export layers to kisters network store Sphere Basemap Layers This plugin let you to add a variety of thailand basemap from GISTDA sphere Open Platform Earth, Sun, Moon, and Planets Tools to calculate the positions of the sun, moon, and planets when viewed from directly overhead for a particular date and time. It displays solar and lunar information for a coordinate at the specified date and time. (Note the Python library dependencies.) Concaveman QGIS Makes concave hull for points CIGeoE Holes 3D Draws holes in polygons (3D) AemetOpenDataDownloader This Plugin download open data from aemet Topography The plugin is available in this first version with the functionality to calculate closed polygons using the projections method. Green View Index A plugin for Green View Index (GVI) operations Datos Espaciales de Referencia de Andalucía (DERA) Loading of wfs/wms services from DERA Spatial Reference Data.Carga de los servicios wfs/wms de los Datos Espaciales de Referencia DERA Lidar Manager Manage LiDAR (dtm/dsm) dataset from Tile Index Layer OpenCraterTool A tool to measure and compare craters GeoTrace2 A QGIS plugin for geological mapping TianDiTu Tools ??????? OpenCage Geocoder Geocoding using the OpenCage API DMP Data Catalogue Discover and add layers from the Danish Miljøportal data catalog File Management Plugin to help with file management from the Layers Panel. Bestagon Form (mostly Hexagon) generator for point intensities Indiana Ortho Imagery This plugin provide easy access to Indiana Ortho Imageries Adresssuche Searching for an adresspoint in Germany based on offical data – ALKIS Adresssuche GpuDataChecker Plugin pour l’aide au contrôle de la validité géométrique de données pour intégration dans le géoportail de l’urbanisme Tile Index Generator This plugin creates tile index in vector format for XYZ tiles. SeaLevelTool Adjust styling on raster layer by a sea level curve. DataSud Plugin pour QGIS 3 fournissant un accès simple aux flux de données géographiques (WMS, WFS) publiées par la Région Sud sur DataSud.fr. -
2:00
SourcePole: Integrate a QGIS Cloud Map into a Web Page
sur Planet OSGeoAfter a beautiful map has been created with QGIS and published on [https:] the desire quickly arises to integrate this map into one’s own website. This way, visitors to the website could access the map directly and without having to go via [https:] With a little HTML, this is easy to do. But let’s start from the beginning. Make a QGIS Cloud Map As always with QGIS Cloud, a map must first be published. -
2:00
Paul Ramsey: LLM Use Case
sur Planet OSGeoI can only imagine how much AI large language model generated junk there is on the internet already, but I have now personally found one in my blog comments. It’s worth pointing out, since comment link spam is a long time scourge of web publishing, and the new technology makes it just that little extra bit invisible.
The target blog post is this one from the late 2000’s oil price spike. A brief post about how transportation costs tie into real estate desirability. (Possible modern day tie in: will the rise of EVs and decoupling of daily transport costs from oil prices result in a suburban rennaisance? God I hope not.)
The LLM spam by “Liam Hawkins” is elegant in its simplicity.
I imagine the prompt is nothing more complex than “download this page and generate 20 words that are a reasonable comment on it”. The link goes to a Brisbane bathroom renovation company, that I am sure does sterling work and maybe should concentrate on word of mouth rather than SEO.
I need to check my comment settings, since the simplest solution is surely to just disallow links in comments. An unfortunate degredation in the whole point of the “web”, but apparently necessary in these troubled times.
-
1:57
GeoCat: Open Standard / Open Source Sprint – April 2023
sur Planet OSGeoThe GeoCat team had a rewarding experience attending the Open Standard and Open Source Software code sprint near Lausanne. This was a joint Apache / OSGeo / OGC activity.
We would like to thank our hosts for their hospitality and amazing food selection.
geonetwork-open source sprintThe code sprint afforded an opportunity to discuss, plan and inspire the geonetwork team with ideas for the future.
A hot topic of discussion was a roadmap challenge: planning the migration from AngularJS to Angular.
Really it was good to see everyone working productively and enthusiastic about what comes next.
geoserver open standard sprintGeoCat is quite excited by the new suite of open geospatial standards being developed by the OGC.
GeoServer has been making progress on implementing these OGCAPI standards for some time with the work occurring as “community modules” until such time as they are ready for review and publication. The challenge is that until these standards are complete; the implementation is subject to change and not stable to share with the public for review and testing.
To address this gap, the code sprint covered two improvements:
The first activity was to split the ogcapi modules into individual downloads. This allows modules that are ready, like ogcapi-features, to be finalized without waiting on standards that are still in progress.
The second activity was to make it much easier to tryout ogcapi services with a docker image available for each nightly build:
docker pull docker.osgeo.org/geoserver:2.24.x
docker run -it -p8080:8080 \ --env INSTALL_EXTENSIONS=true \ --env COMMUNITY_EXTENSIONS="ogcapi-features" \ docker.osgeo.org/geoserver:2.24.xGo on give it a go :)
ogcapi-features 1.0.1
This improves on the manual process of downloading a nightly build; and manually installing an extension. We hope these changes will help more people tryout ogcapi services and provide feedback and improvements.
It is a privilege to work on these activities on behalf of our GeoCat Live and GeoServer Enterprise customers.
The post Open Standard / Open Source Sprint – April 2023 appeared first on GeoCat B.V..
-
11:24
GeoTools Team: GeoTools 27.5 Released
sur Planet OSGeoThe GeoTools team is pleased to share the availability GeoTools 27.5:geotools-27.5-bin.zipgeotools-27.5-doc.zipgeotools-27.5-userguide.zipgeotools-27.5-project.zipThis release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.22.3 and GeoWebCache 1.22.2.Improvements and fixes in this releaseBugGEOT-7316 Child feature ClientProperties are replicated on -
3:24
Sean Gillies: Quad Rock 50 recap
sur Planet OSGeoI did it! My third Quad Rock 50 mile finish in three tries. My official time was 13 hours, 56 minutes, and 57 seconds, just three minutes under the limit. I prepared less for this race than I have in 2019 and 2021 because I'm aiming to peak at the end of September and looked at it as mainly a long training run that I might finish or not. My longest run so far this year was 18 miles. I joked with the race director afterwards that my plan was to run myself into shape in the first 25 miles and then build on that. I was mentally prepared to not finish and also prepared to push myself if a finish was within reach.
In the first half of the race, I stayed well within my limits and left the Soldier Canyon aid station, the turn-around, with an elapsed time of 6 hours and 15 minutes. The climb up Timber Trail was warm and I cramped severely on the following descent down Howard Trail. I arrived at Arthurs Rock aid station only seven minutes before the time check. Dropping out at Arthurs had crossed my mind on the descent and the thought was lingering a bit as I hobbled in, but the friendly volunteers filled my tank up with pickles, popsicles, and encouragement, and I found myself good to go again. I headed out towards the Mill Creek climb and was racing, slowly, against the clock all the rest of the afternoon.
After I got to the top of Mill Creek, I had to resupply quickly and then get over the rest of the Westridge Trail climb and down to and through the Horsetooth aid station in 65 minutes. Again, thoughts of dropping tempted me during the technical part of the descent. I felt better during the runnable last 1.5 miles and made it to the aid station with four minutes to go. Not enough time to change socks and shoes as I'd planned, only enough time to grab more drinks and food and regroup with two other runners.
The final climb is not as hard as the penultimate climb, and after that it was mostly a matter of managing my effort well. At the last aid station, with 2.3 relatively flat miles to go and 30 minutes left, I was pretty confident I would make it in under 14 hours. I ran the downhills quickly and didn't dawdle on the flats, coasting just a bit to the finish line.
Honestly, I could have kept going. I was feeling composed and fairly energetic at the finish. I'll be building on this for the next 16 weeks.
-
2:00
GeoServer Team: GeoServer 2.21.5 Release
sur Planet OSGeoGeoServer 2.21.5 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a maintenance release of the GeoServer 2.21.x series, made in conjunction with GeoTools 27.5 and GeoWebCache 1.21.5.
Thanks to Daniele Romagnoli (GeoSolutions) for making this release.
Release notesSub-task
- GEOS-10908 Update spring version from 5.2.22 to 5.2.23
Bug
-
GEOS-3978 Layer configuration allows admin to enter a zero area bounding box
-
GEOS-6313 Lifecycle handlers not properly called during shutdown
-
GEOS-10006 Seeding GWC doesn’t work for layers with a dot in the name
-
GEOS-10500 WFS-T unable to delete more than 30 features in a single transaction when the data source is PostGIS
-
GEOS-10517 jms-cluster classes missing from XStream security configuration
-
GEOS-10593 Regression: Creating SQL View via REST API and explicit attribute list is no-longer possible
-
GEOS-10611 Uploading application/zip to styles endpoint does not clean up temporary files
-
GEOS-10828 OGC API - Features - Plugin breaks core `/rest` API with JSON payloads
-
GEOS-10837 geopackage output fails when java.io.tmpdir on network share
-
GEOS-10869 Jayway JSON Path libraries not included anymore on GeoServer packages
-
GEOS-10878 wps-multidimensional and wps-jdbc are not being deployed on maven repo
-
GEOS-10896 Missing NULL check in the template backwards mapping
-
GEOS-10899 Features template escapes twice HTML produced outputs
-
GEOS-10912 jms-cluster fails to clone grid coverage layer on other nodes
-
GEOS-10920 Excel output format packaging misses dependencies, cannot produce .xls
-
GEOS-10921 Double escaping of HTML with enabled features-templating
-
GEOS-10932 csw-iso: should only add ‘xsi:nil = false’ attribute
-
GEOS-10946 WMS GetLegendGraphic throws FootprintsTransformation cannot be cast to ProcessFunction Exception
-
GEOS-10950 Performance regression in DescribeFeatureType across all feature types
-
GEOS-10957 Support ResourceAccessManager implementations returning custom subclasess of AccessLimits
Improvement
-
GEOS-10867 Bump commons-fileupload from 1.4 to 1.5
-
GEOS-10870 Allow importer AttributesToPointGeometryTransform to preserve original geometries, and to configure the name of the target geometry
-
GEOS-10873 Upgrade XStream to 1.4.20
-
GEOS-10940 Update MapML viewer to release 0.11.0
Task
-
GEOS-10863 Update Oracle JDBC driver to 19.18.0.0
-
GEOS-10904 Bump jettison from 1.5.3 to 1.5.4
Release notes: ( 2.21.5 | 2.21.4 | 2.21.3 | 2.21.2 | 2.21.1 | 2.21.0 | 2.21-RC )
-
2:00
Ian Turton's Blog: Drawing a line on a GeoTools Map
sur Planet OSGeoDrawing a line on a GeoTools MapAs anyone following the dismal news out of the UK recently will know we had some sort of royal extravaganza down south in England this weekend, so with nothing better to do (and an extra day off) I decided to do some playing with GeoTools. This was mostly motivated by the work I had already done in answering this gis.stackexchange.com question about how to draw a line on top of a map. It seems that there isn’t much about how to do this in the GeoTools documentation.
So I scratched my head and dredged up what I could remember about swing and particularly about the GeoTools swing module and came up with some code that answered the immediate question which was why the OP got many layers in the map rather than one. I decided that this might be useful for other people so I tidied the code up and created a small project that contains a
DigitizerAction
and aDigitizer
class which is the actual tool. It’s pretty simple all it does is place a series of dots on the screen and then generates aLineString
which is added to a list, which is then used to generate a newFeatureLayer
and removes the old layer (if it exists).I finished up by adding a little demo program which adds a draw button to the toolbar and displays the US States for you to draw over.
All you do is click the draw button, then each click on the map will add a point to the current line, a double click finishes the line and forces a redraw of the screen with the line now in red.
DetailsFor anyone who’s trying to create a new tool for their swing application with GeoTools here is a little more on how it works.
ActionWe need to create an
ToolAction
to tell swing what we plan to do, I called mineDigitizerAction
and made it extendMapAction
which Michael Bedward (the original author of the gt-swing module) helpfully provided to save us typing (or pasting) in a lot of boiler plate code. All I have to provide is some code to initialise the action’s icon, name etc and anactionPerformed
method to set the tool up to actually do something when the button is clicked.Again to save time and effort the
Digitizer
tool extendsCursorTool
which extendsMapMouseAdapter
so we don’t need to worry about how to listen to the mouse’s movements or how to get a real world position from a mouse click. Much of the code is either set up or book keeping. For set up we need to generate aFeatureType
for theFeature
s we’ll be building later, and a style so they show up on the map (a more advanced tool might let the user override that default style). The only other thing to take care of in the constructor is setting the cursor to a simple cross hair.public Digitizer() { SimpleFeatureTypeBuilder b = new SimpleFeatureTypeBuilder(); b.setName("LineFeature"); b.add("line", LineString.class); SimpleFeatureType TYPE = b.buildFeatureType(); featureBuilder = new SimpleFeatureBuilder(TYPE); geometryFactory = JTSFactoryFinder.getGeometryFactory(JTSFactoryFinder.EMPTY_HINTS); style = SLD.createLineStyle(Color.red, 2.0f); ImageIcon imgIcon = new ImageIcon(getClass().getResource(ICON_IMAGE)); cursor = new Cursor(Cursor.CROSSHAIR_CURSOR); }
The class also has some fields that we’ll need later
lastX
andlastY
which is the position of the last click, anArrayList
ofCoordinate
s which are the real world positions of the current line, and a list ofSimpleFeature
s which hold the lines that we have already drawn. We need to keep track of the previous features as the display layer is recreated every time we add a line.The actual interaction with the user all occurs inside the
onMouseClicked
method which is called each time a mouse button is clicked.public void onMouseClicked(MapMouseEvent e) { if (e.getClickCount() > 1) { // was it a double click drawTheLine(positions); first = true; } else { // add a new point DirectPosition2D pos = e.getWorldPos(); positions.add(new Coordinate(pos.x, pos.y)); // Put a marker at each digitized point Graphics graphics = (Graphics2D) ((JComponent) getMapPane()).getGraphics().create(); int x = e.getX(); int y = e.getY(); if (!first) { graphics.drawLine(lastX, lastY, x, y); } first = false; lastX = x; lastY = y; graphics.fillRect(x - 3, y - 3, 6, 6); } }
Here we first check if the user has clicked twice within the system time limit (so it is a double click), if it is we call the
drawTheLine
method on the positions list to add the line to the screen, we’ll look at that in a moment. We also reset thefirst
flag to say that the next click (if there is one) is the first in a line.If the user only clicked once (or this is the first click of a double click) we will go through the
else
branch, where we get the world position of the click and add that to our list of coordinates. We then grab agraphics
from our map pane to draw a temporary mark so the user knows we’re listening and have seen their click, here we need the X and Y pixel coordinates. If this is not the first point in the line we draw a line from the last point (lastX
,lastY
) to the current point (x
,y
) and then we draw a point at the current point (x
,y
). We also make a note of this point for next click to be the start of the line and note that we now have previous point by makingfirst
false.The last remaining step is to draw lines on the map as
UsageSimpleFeature
s, this is done indrawTheLine
where we generate a newLineString
using theGeometryFactory
, we then add thatLineString
to theFeatureBuilder
and create a newSimpleFeature
from it. Note that we leave theid
set tonull
so it generates a newFID
for each feature. The feature is then stored in thefeatures
list, the existing layer is removed from the map (to prevent us ending up with an ever increasing number of map layers). Then we create a newFeatureLayer
using theDataUtilities.collection
method to convert our list ofSimpleFeature
s to aSimpleFeatureCollection
and applying the style we made earlier. Finally, we reset thepositions
list to empty to be ready to store the next line for the user.If you want to use this in your own map you can simply do the following:
mapFrame = new JMapFrame(); mapFrame.enableToolBar(true); JToolBar toolBar = mapFrame.getToolBar(); DigitizerAction d = new DigitizerAction(mapFrame.getMapPane()); JButton btn = new JButton(d); toolBar.addSeparator(); toolBar.add(btn);
You can then get the list of features by using
d.getFeatures()
if you want to provide a save function or to send them to some other store. -
15:18
GeoTools Team: GeoTools 28.3 Released
sur Planet OSGeoThe GeoTools team is pleased to share the availability GeoTools 28.3:geotools-28.3-bin.zipgeotools-28.3-doc.zipgeotools-28.3-userguide.zipgeotools-28.3-project.zipThis release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.22.3 and GeoWebCache 1.22.2.Improvements and fixes in this release BugGEOT-7238 WFSContentComplexFeatureSource.getFeatures( -
2:00
GeoServer Team: GeoServer 2.22.3 Release
sur Planet OSGeoGeoServer 2.22.3 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a maintenance release of the GeoServer 2.22.x series, made in conjunction with GeoTools 28.3 and GeoWebCache 1.22.2.
Thanks to Daniele Romagnoli (GeoSolutions) for making this release.
Release notesSub-task:
- GEOS-10908 Update spring version from 5.2.22 to 5.2.23
Bug:
-
GEOS-3978 Layer configuration allows admin to enter a zero area bounding box
-
GEOS-6313 Lifecycle handlers not properly called during shutdown
-
GEOS-10006 Seeding GWC doesn’t work for layers with a dot in the name
-
GEOS-10500 WFS-T unable to delete more than 30 features in a single transaction when the data source is PostGIS
-
GEOS-10517 jms-cluster classes missing from XStream security configuration
-
GEOS-10593 Regression: Creating SQL View via REST API and explicit attribute list is no-longer possible
-
GEOS-10611 Uploading application/zip to styles endpoint does not clean up temporary files
-
GEOS-10837 geopackage output fails when java.io.tmpdir on network share
-
GEOS-10865 Backwards incompatible change in the XML representation of user roles
-
GEOS-10869 Jayway JSON Path libraries not included anymore on GeoServer packages
-
GEOS-10871 about geoserver page reporting @project.version@ for WAR deploy
-
GEOS-10878 wps-multidimensional and wps-jdbc are not being deployed on maven repo
-
GEOS-10890 Wrong path for the license file in the Windows installer script
-
GEOS-10896 Missing NULL check in the template backwards mapping
-
GEOS-10899 Features template escapes twice HTML produced outputs
-
GEOS-10912 jms-cluster fails to clone grid coverage layer on other nodes
-
GEOS-10920 Excel output format packaging misses dependencies, cannot produce .xls
-
GEOS-10921 Double escaping of HTML with enabled features-templating
-
GEOS-10922 Features templating exception on text/plain format
-
GEOS-10934 CSW does not show title/abstract on welcome page
-
GEOS-10946 WMS GetLegendGraphic throws FootprintsTransformation cannot be cast to ProcessFunction Exception
-
GEOS-10950 Performance regression in DescribeFeatureType across all feature types
-
GEOS-10957 Support ResourceAccessManager implementations returning custom subclasess of AccessLimits
Improvement:
-
GEOS-10858 jdbc-config turns off isolated workspace support
-
GEOS-10867 Bump commons-fileupload from 1.4 to 1.5
-
GEOS-10870 Allow importer AttributesToPointGeometryTransform to preserve original geometries, and to configure the name of the target geometry
-
GEOS-10873 Upgrade XStream to 1.4.20
-
GEOS-10898 Preserve key order in STAC responses coming from JSONB columns
-
GEOS-10923 Use default writing params on GeoTIFFPPIO
New Feature:
- GEOS-10868 Add support for editable description in GeoServer customize feature type table
Task:
-
GEOS-10863 Update Oracle JDBC driver to 19.18.0.0
-
GEOS-10894 Random control-flow errors on Mac builds
-
GEOS-10904 Bump jettison from 1.5.3 to 1.5.4
For complete information see 2.22.3 release notes.
About GeoServer 2.22Additional information on GeoServer 2.22 series:
- Update Instructions
- Metadata extension
- CSW ISO Metadata extension
- State of GeoServer (FOSS4G Presentation)
- GeoServer Beginner Workshop (FOSS4G Workshop)
- Welcome page (User Guide)
Release notes: ( 2.22.3 | 2.22.2 | 2.22.1 | 2.22.0 | 2.22-RC | 2.22-M0 )
-
17:23
Jackie Ng: The "I haven't forgotten about you $PROJECT" tour
sur Planet OSGeoAs I said near the end of my MGOS 4.0 Beta 1 announcement, I will be momentarily stepping away from MapGuide development/maintenance to give some of my sibling projects in the MapGuide/FDO space some long-overdue attention.
So for the next few weeks, I will be embarking on the "I haven't forgotten about you $PROJECT" tour with stopovers at the following projects:
mapguide-react-layoutNext Release: 0.14.8
Objectives: This will be the last release in the 0.14.x series and the last release to officially support Internet Explorer.MapGuide MaestroNext Release: 6.0m12
Primary Objective: This release will have authoring parity with MapGuide Open Source 4.0 Beta 1Secondary Objective: Assorted fixes and minor enhancementsFDO ToolboxNext Release: 1.5.3
Objective: Some fixes for bugs and usability problems reported since 1.5.2mapguide-restNext Release: 1.0 RC6
Yes! I am finally giving this project some very-overdue attention!
Primary Objective: Make sure it is compatible with PHP 8.1 that is bundled with MapGuide Open Source 4.0 Beta 1. Also doubles as a secondary sanity test of the new vanilla SWIG-generated PHP bindings, which is my main motivator for revisiting this project.
Secondary Objective: See if we can do this will still being able to support older PHP versions bundled with older MapGuide versions. If this is not tenable, we may need to branch codebases and make separate releases. I hope that this is not the case.
When I finish this tour, then I will be returning to get MapGuide Open Source 4.0 to the final release finish line
-
6:38
Adam Steer: Better science workshops
sur Planet OSGeoIf you’ve worked in research – especially geophysical research – you’ve been there. A workshop is advertised on a thing you’re really interested in, and you think “awesome! a few days of interacting with a bunch of people doing stuff I’m also interested in, hear stories, tell my stories, make connections…”. …at least the first… Read More »Better science workshops -
10:00
Paul Ramsey: My Subscriptions
sur Planet OSGeoIt is the age of the unbundled subscription, and I am wondering how long it will last? And also, what do our subscriptions say about us?
Here are mine in approximate order of acquisition:
- New Yorker Magazine, I have been a New Yorker subscriber for a very long time, and for a period in my life it was almost the only thing I read. I would read one cover-to-cover and by the time I had finished, the next would be in the mail box, and the cycle would repeat.
- Amazon Prime, I was 50/50 on this one until the video was added, and then I was fully hooked. It’s pricey, and intermittently has things I want to watch, so I often flirt with cancelling, but not so far.
- Netflix, for a while this was too cheap to not get, the kids liked some of it, I liked some, there were movies I enjoyed. However, the quality of is going down and the price up so it might be my first streamer cancellation.
- Washington Post, I got lucky and snagged a huge deal for international subscribers which has since disappeared, but got me a $2 / month subscription I couldn’t say “no” to, because I do read a lot of WP content.
- Talking Points Memo, the best independent political journalism site, which was pivoting to subscription years before it became cool. My first political read of every day.
- The New York Times, a very pricey pleasure, but I found myself consuming a lot of NYT content, and finally felt I just had to buck up.
- Disney+, for my son who was dying to see all the Star Wars and Marvel content. Now that he’s watched it all, we are discovering some of their other offerings, they own a quality catalogue.
- Spotify, once the kids were old enough to have smart phones, the demand for Spotify was pretty immediate. I’ve enjoyed having access to this huge pile of music too (BNL forever!).
- Slow Boring / Matt Yglesias, my first sub-stack subscription. You can tell a lot about my political valence from this.
- Volts / David Roberts, highly highly recommended if you are a climate policy nerd, as he covers climate and energy transition from every angle. Never easy, never simplistic, always worth the time.
In the pre-internet days I was also a subscriber to Harper’s and The Atlantic, but dropped both subscriptions some time ago. The articles in Harper’s weren’t grabbing me.
The real tragedy was The Atlantic, which would publish something I really wanted to read less than once a month, so I would end up … reading it on the internet for free. The incentive structure for internet content is pretty relentless in terms of requiring new material very very frequently, and a monthly publication like The Atlantic fits that model quite poorly.
Except for Volts, this list of paid subscriptions is curiously devoid of a huge category of my media consumption: podcasts. I listen to Ezra Klein, Chris Hayes, Strict Scrutiny, Mike Duncan, and Odd Lots for hours a week, for free. This feels… off kilter.
Although I guess a some of these podcasts are brand embassadors for larger organizations (NYT, NBC, Bloomberg), it seems hard to believe advertising is really the best model, particularly for someone like Mike Duncan who has established a pretty big following.
(If Mike Duncan committed to another multi-year history project, I’d sign up!)
One thing I haven’t done yet is tot up all these pieces and see how they compare to my pre-internet subscription / media consumption bill. A weekend newspaper or two every week. Cable television. The three current affairs magazines. The weekly video rental. Even taken ala carte, I bet the old fashioned way of buying did add up over the course of a year.
I’m looking forward to a little more consolidation, particularly in the individual creator category. Someone will crack the “flexible bundle” problem to create the “virtual news magazine” eventually, and I’m looking forward to that.
-
2:02
QGIS Blog: Reporting Back From the User Conference & Contributor Meeting in Den Bosch
sur Planet OSGeoLast week, we had our 25th Contributor Meeting in ‘s-Hertogenbosch, The Netherlands. Prior to the meeting, the International QGIS User Conference, brought together 200 participants from all around the world who came to learn about QGIS and exchange ideas and best practices.
The conference programme was jam-packed with great content. Over 50 presentations were given during the conference, with the participants enjoying the Dutch atmosphere whilst building up their knowledge of QGIS and sharing their ideas. With more than 20 years of development behind us, QGIS has become a stable platform that supports geospatial decision making, analysis and decision making in all sorts of endeavours. We saw lots of talks that demonstrated this maturity, for example a presentation John Holden and Blake Esselsteyn showed how QGIS is being used to determine voting districts to support the democratic process, Angelina Savchuk showed how QGIS is being used to support the work of the Red Cross, whilst Nick Vervaal showed us how QGIS is used to make high tech artistic laser cut maps from wood.
We were honoured to be joined by Lucho Ferrer who came all the way from Peru! Ujaval Gandhi travelled all the way from India and wowed the audience with his workshop on QGIS Actions.
There are two mobile offerings for QGIS users who want to take their work out to the field. Both QField and MerginMaps had a strong presence at the User Conference, causing a lot of excitement and buzz in the audience.
Contributor Meeting
As is traditional, the contributor meeting (which was held directly after the two day user conference) was full of workshops, sessions, and spontaneous get-togethers to facilitate the exchange between community members, including sessions on:
- Onboarding Day
- Plans for the certification programme
- Getting around in the QGIS community
- Translating QGIS
- Documentation system and process
- Editing the documentation online on GitHub
- Building documentation on your local machine and using Git to make a pull request (submission)
- Compiling QGIS
- Making your first pull request to QGIS
- Create QGIS issues and feature requests
- OGC API in QGIS
- QGIS vision
- QGIS website update
Everyone worked hard to advance the project, the open plan space facilitating lots of ad hoc conversations which are hard to match in an online environment.
OGC API in QGIS: current support and proposed developments, hosted by Joana Simoes
From the QGIS community we would like to extend a huge ‘thank you!’ to the local organising team who hosted a flawless event and worked so hard to make sure everyone had the best experience possible. Thank you and see you next year!
-
5:02
Sean Gillies: Bear training weeks 15-17 recap
sur Planet OSGeoIt's another three week batch post! My day job, home projects, and running are pretty demanding right now. It's hard to find time to do one of these posts each week like I did last year. I hope the situation changes!
I finally feel like I'm getting into something like racing form and am enjoying it. I'm doing one intense hill workout each week and they are paying off; I have more energy going uphill up longer weekend runs. In four of the past five weeks I've done one long run with at least two Quad Rock climbs, and in the past three weeks I've added one more run with a single QR climb. The only Quad Rock climb that I haven't done recently is the first. I'll try to get to that next week. Here are the numbers for the last three weeks!
Week 15:
32.4 miles running and hiking
7 hours, 4 minutes
3,422 ft D+
Week 16:
47.5 miles running
10 hours, 2 minutes
6,808 ft D+
Week 17:
51.3 miles running
10 hours, 46 minutes
7,234 ft D+
I spent the weekend of week 15 in Tucson with Ruthie enjoying some sun, warmth, and food. I ran in Tucson's Mountain Park, we hiked in Saguaro National Park, did some birding around the city, it was great to get away from the cold and snow in Fort Collins. I like Tucson and want write more about it soon.
Saguaro cactus in Tucson Mountain Park
Running conditions here in Fort Collins change from day to day in April. One of my four-hour runs was on dry, dusty dirt, and the next was on snow and mud.
Arthurs Rock on April 15
Arthurs Rock on April 22
Quad Rock is in 13 days. I'm not planning to do a long taper, instead I'm going to treat it as a very long, volunteer supported training run. I'm going to run hard next week and try to bump my vertical above 8,000 feet, and then will back off early in week 19, but still end up over 60 miles distance and 12,000 ft D+ for race week.
-
2:00
Camptocamp: Camptocamp Becomes a Mergin Maps Partner
sur Planet OSGeoEnclosure: [download]
With the increasing volume of spatial data to manage, organizations are faced with the need for easily deployable and configurable tools, and whose scalability is economically realistic. -
14:41
GeoSolutions: GeoSolutions participation at the GeoSpatial World Forum 2023 in Rotterdam
sur Planet OSGeoYou must be logged into the site to view this content.
-
15:57
GeoSolutions: GeoSolutions presence at FOSS4G 2023
sur Planet OSGeoYou must be logged into the site to view this content.
-
23:12
GRASS GIS: GRASS GIS Community meeting in Prague!
sur Planet OSGeoWe are organizing a Community Meeting to celebrate GRASS GIS 40th birthday!! The GRASS GIS Community Meeting with users, supporters, contributors, power users and developers will take place from June 2 to 6, 2023, at the Faculty of Civil Engineering from the Czech Technical University in Prague, Czech Republic. Community meetings are great opportunities to support the development of GRASS GIS by actively contributing to the source code, documentation, translations, website or likewise. -
14:27
Jackie Ng: Announcing: MapGuide Open Source 4.0 Beta 1
sur Planet OSGeoDue to real life priorities and commitments, this release look longer than expected to finally come to fruition, but that's all in the past because we're finally here! The first (and probably only) beta release of MapGuide Open Source 4.0 is finally available for the following platforms:
- Windows
- Ubuntu Linux 22.04
- CentOS Linux 7.0
- Where possible, the GeoJSON will now always include the crs property (if the source data's coordinate system has an EPSG code representation), allowing for the GeoJSON content to self-identify its coordinate system.
- GeoJSON from WFS GetFeature requests will now properly transform feature data if a different SRS/CRS is specified in the query parameters
- Such requests that return GeoJSON content now properly return a application/json mime type
In particular, Feature Sources rarely need to be read by anonymous users/sessions and it may be considered a security risk to some that connection settings in such Feature Sources (especially ones that connect to relational databases) can be read by anonymous users/sessions, exposing names of internal db servers in the process.
The current resource permission model in MapGuide does allow for read access certain resources to be denied (in their resource headers), but this model is a sledgehammer approach. (ie. It will break rendering operations that need to query data from a feature source you just denied access to in their resource header).
We need a more fine-grained approach where we can deny direct resource API access operations to things like feature sources, but still allow resource API access operations to such resources in the context of things like map rendering.
This release introduces several new webconfig.ini properties to help reduce the attack surface of the mapagent in this regard.- AnonymousDenyGetResourceContent
- AnonymousDenyGetResourceData
- AnonymousDenyGetResourceHeader
With this feature, you can reduce the attack surface of your mapagent by reducing anonymous resource access to only resources needed for a MapGuide client application to function.
Please note that this feature only covers the mapagent and not your custom application code.Web Tier Component updatesThis release bundles updated web tier components:- PHP 8.1.17
- Apache [httpd] 2.4.56
- Apache Tomcat 9.0.73
Another 14-year old limitation where labels under basic stylization is always left-justified has been addressed with new options in the 4.0.0 Layer Definition schema allowing you to control the feature label justification.
Sorry for the long turnaround on such issues. Sadly, one person can only do so much.What's next?Before we begin the journey to Release Candidate (and then Final release). I will be stepping away from MapGuide development/maintenance work for a few weeks to give some of the surrounding projects like Maestro and mapguide-react-layout some long needed attention, and I expect new releases of MapGuide Maestro and mapguide-react-layout during this period as a result.
Once that is out of the way, then it is back onto the 4.0 release train, driving it to its final destination.
Download -
2:00
GeoServer Team: GeoServer 2.23.0 Release
sur Planet OSGeoGeoServer 2.23.0 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a stable release of GeoServer suitable for production systems, made in conjunction with GeoTools 29.0 and GeoWebCache 1.23.0.
Thanks to Jody Garnett (GeoCat) for making this release. Additional thanks to those volunteering to test the release candidate, your assistance is seen and appreciated: Peter Rushforth, Mark Prins, Gabriel Roldan, and Juan Luis Rodríguez.
Keeping GeoServer sustainable requires community commitment. If you are unable to contribute time, sponsorship options are available via the Open Source Geospatial Foundation.
Security ConsiderationsThis release addresses a security vulnerability and is considered an essential upgrade for production systems.
- CVE-2023-25158 OGC Filter SQL Injection Vulnerabilities (GeoTools)
- CVE-2023-25157 OGC Filter SQL Injection Vulnerabilities (GeoServer)
For more information see OGC Filter Injection Vulnerability Statement. If you have already updated to a patched release that is excellent. We still advise updating to benefit from the considerable work done updating dependencies for GeoServer 2.23.0.
Java 11 MinimumWith this release GeoServer no longer supports Java 8, and it is time to upgrade to Java 11 at a minimum. Our build system tests GeoServer in with Java 11 and Java 17 which are both long-term-support OpenJDK releases.
If you try starting this version of GeoServer with Java 8 it will produce the following failure:
java.lang.UnsupportedClassVersionError: org/geoserver/GeoserverInitStartupListener has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
For more information please see our User Manual Installation (User Manual) and Java Considerations (User Manual) pages.
- GSIP-215 - Drop Java 8 Support
- GEOS-10638 Drop Java 8 support
The first big internal change for this release of GeoServer is a cleanup of the theme used for the GeoServer web administration application. Previously the pages had lots of little styling adjustments to try and get components to line up correctly and appear okay.
With this update all of the handmade styling changes have been removed, and everything is managed by the “geoserver.css” theme.
Thanks to Michel Gabriël (GeoCat) who started this work at the Bolsena code-sprint as a labour of love (well frustration).
- GSIP 213 - GUI CSS Cleanup
- GEOS-10556 Cleanup Inconsistent DOM structure and use of hardcoded styles
The second internal change for this release of GeoServer is an upgrade to the Spring Framework used to wire the internals of GeoServer together.
While this should not result in any change to functionality, it has resulted in quite a lot of careful quality assurance and testing to ensure everything is still connected and works as intended.
Thanks to Joseph Miller (GeoSolution) who worked on this activity.
-
GEOS-10779 Upgrade GeoServer Core Spring to 5.3.23 and Spring Security to 5.7.3
-
GEOS-10907 Update spring.version from 5.3.25 to 5.3.26
Windows users are advised to keep the Java 11 minimum requirement in mind when upgrading existing systems.
The installer will correctly detect the OpenJDK Adoptium, users of Oracle JDK may need to use the browse button:
Thanks to Juan Luis Rodríguez (GeoCat) for troubleshooting the windows installer for this release.
- GEOS-10890 Wrong path for the license file in the Windows installer script
A welcome new feature, building on top of the ability to customize FeatureTypes is the ability to provide a description for each attribute. This information is used in WFS DescribeFeatureType to provide a human readable name or description for the attributes being published.
Thanks to Joseph Miller (GeoSolutions) for this improvement.
- GEOS-10868 Add support for editable description in GeoServer customize feature type table
The traditional OGC Open Web Services have not had automated CITE tests run for a while, but a few fixes have been made to restore CITE compliance:
-
GEOS-10787 CITE WCS 1.1.1 - Throw exception on bad ‘store’ parameter
-
GEOS-10788 CITE WCS 1.1.1 - Empty InterpolationMethod should throw exception
-
GEOS-10757 CITE: WMS <Style> has elements in wrong order (DTD validation)
-
GEOS-10782 CITE WFS 1.1 - HITS mimetype is incorrect
-
GEOS-10783 CITE WFS 1.1 - Check customized feature type to determine if transform wrapper needed
-
GEOS-10784 CITE WFS 1.1 - don’t do illegal geometry conversions
-
GEOS-10785 CITE WFS 1.1 - Data Dir - allow anonymous users to modify data
Thanks to David Blasby (GeoCat) for this work on behalf of the GeoCat Live Project. David addressed several errors in the CITE testing for these services while addressing the above issues for the GeoServer community.
A number of CITE conformance issues remain open, notably the handling of acceptsVersions with a mix of older protocols (such as WFS 2.0, WFS 1.1 and WFS 1.0). If you are interested in funding or sponsoring this activity please visit our sponsorship page.
Configuration Saving and LoadingA special call out to Dieter Stuken for working on the kind of fixes that just cause frustration - trouble shooting the internal Resource Store component that allows GeoServer configuration to be saved in a disk or database.
These fixes help the GeoServer Admin Console provide better error messages when a file is unavailable. And prevent the accidental creation of “missing” files when attempting to read from locations with no content.
-
GEOS-10724 SpringResourceAdaptor should throw a FileNotFoundException instead of creating any missing file
-
GEOS-10743 ResourcePool.readStyle created empty files
-
GEOS-10723 clean up params-extractor plugin to use Resource
A few section of the User manual have been updated:
- The installation, getting started and welcome page are updated with new screen snapshots.
- Running in a production environment now documents welcome page selectors for those working with large catalogues with lots of security rules
Thanks to Jody Garnett (GeoCat) and all those who contributed documentation fixes for this release.
- GEOS-10759 Welcome page unreachable with large / slow catalogue configuration
The following community module has been retired:
-
GEOS-10778 Retire GeoStyler community module
The plugin is now maintained outside of the GeoServer repository at [https:] .
With the upgrade to Spring Security to 5.7.3 mentioned above, the community security modules have affected.
A reminder that these modules are in need of your support to be recognized as an extension (and be included in our automated testing). Contact the appropriate module maintainer (Alessio or David) to see how you can assist.
OGCAPI community module UpdatesThe OGCAPI community module remains under active development:
-
GEOS-10889 OGC API info section should report the spec version, not the server version
-
GEOS-10758 OGCAPI - Features - Add storageCrs property for Collections
-
GEOS-10888 OGC API styles OpenAPI document points to dangling remote resources
-
GEOS-10854 Move the OGC API OpenAPI definitions to the “openapi” resource
-
GEOS-10855 Update the new OGC APIs so that the major version number is part of the path
-
GEOS-10881 Add Content-Crs header to OGC API
-
GEOS-10885 Remove Axis Order from OGC API Header
Andrea (GeoSolutions) has been working towards CITE compliance on behalf of Geonovum.
As a community module GeoServer OGC API is made available to developers for collaboration, and can also be accessed as a nightly build for feedback. If you are in a position to support this activity with time, money or resources please contact Andrea.
Improvements and FixesNew Feature:
- GEOS-10696 Allow configuration of Output Format types allowed in GetFeature
Improvement:
-
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
-
GEOS-10750 German Translation Overhaul Part 1
-
GEOS-10755 WCS 2.0 module should not use string concatenation to build XML
-
GEOS-10762 Allow enabling auto-escaping for WMS GetFeatureInfo HTML templates
-
GEOS-10814 Update jdbc config to use consistent SQL formatting
-
GEOS-10879 Dispatcher should not respond to non standard HTTP methods
Fixes:
-
GEOS-10006 Seeding GWC doesn’t work for layers with a dot in the name
-
GEOS-10865 Backwards incompatible change in the XML representation of user roles
-
GEOS-10905 Default CSW properties do not allow sorting by identifiers
Tasks:
-
GEOS-10798 Sphinx site [sphinx.pocoo.org] is outdate
-
GEOS-10904 Bump jettison from 1.5.3 to 1.5.4
-
GEOS-10894 Random control-flow errors on Mac builds
-
GEOS-10863 Update Oracle JDBC driver to 19.18.0.0
-
GEOS-10775 Update xmlunit to 1.6
For the complete list see 2.23.0 release notes.
About GeoServer 2.23 Series -
22:00
QGIS Blog: QGIS Grants #8: Call for Grant Proposals 2023
sur Planet OSGeoDear QGIS Community,
We are very pleased to announce that this year’s round of grants is now available. The call is open to anybody who wants to make a contribution to QGIS funded by our grant fund, subject to the call conditions outlined in the application form.
The deadline for this round is in four weeks, on 2nd May 2023.
There are no new procedures in 2023. Please note the following guidelines established in previous years:
- The proposal must be submitted as a ‘QEP’ (QGIS Enhancement Proposal) issue in the repo: [https:]] (tagged as Grant-YEAR). Following this approach will allow people to ask questions and provide public feedback on individual proposals.
- Proposals must clearly define the expected final result so that we can properly assess if the goal of the proposal has been reached.
- The project budgets should account for PR reviewing expenses to ensure timely handling of the project-related PRs and avoid delays caused by relying on reviewer volunteer time.
- In the week after the QEP discussion period, the proposal authors are expected to write a short summary of the discussion that is suitable for use as a basis on which voting members make their decisions.
The PSC of QGIS.ORG will examine the proposals and has veto power in case a proposal does not follow guidelines or is not in line with project priorities.
For more details, please read the introduction provided in the application form.
We look forward to seeing all your great ideas for improving QGIS!
-
10:16
Andrea Antonello: SMASH 1.7.6 is out
sur Planet OSGeoIt has taken a long long time, but finally a new release of SMASH is out.
The last year has been centered on working on a new Survey Server version based on Django to sync SMASH with.
So what are the news about this SMASH release?
Support for the new Django based centralized Geopaparazzi Survey ServerThis version of SMASH still supports the "old" survey server, but is also ready for the new django one.
The new GSS release is in the works, but just so you know what it is about...
The new survey server has finally support for multiple projects, users (that can be part of multiple projects) and groups and the possibility to select very fine authorization granularity, when necessary. In SMASH it is therefore possible to select the project to which sync to:
While the frontend is basically the same as before, heavy changes have been done in the backend and django's admin console has been exploited.
All suitable GSS models can be modified directly in the admin console. The objects lists have been tweaked to show relevant information. For example in the case of complex notes, the images contained in the notes are accessible directly:
The note view:
and from there the actual images:
Soon we will officially release the new survey server and some docs with it.
Support for the Remine GeoTaskTracker server Plugin.The nice people at Georepublic have been working on the Redmine GeoTaskTracker plugin for a while now. With this release the SMASH support for this is getting officially supported!
Being able to insert geo-issues from SMASH is actually quite cool:
as is the possibility to see the issue's history:
The KMZ export is now the same as it was in geopaparazzi. Full KMZ with all images and tabular representation of complex notes.
New go to coordinate optionApart of using geocoding it is now possible to insert coordinates to go to.
We have been in touch with the geocaching crowd to see if we are able to support geocaching inside SMASH. Things are moving slowly, but for now we have support to load geocaching json as SMASH layers:
The caches have proper colors and icons, based on the account you use:
I know, I know, SMASH is supposed to be a work tool... but all work and no play makes jack a dull boy ;-)
Other little things- enhancements and fixes for geopackage and postgis layers
- the WMS online layers now have a modify option
- the active log panel can now be hidden, which is important on little screens
- the GPS map center snap less aggressive and allows for a bit of battery saving on the long run
- many many fixes
Enjoy! -
6:44
OPENGIS.ch: Capturing more while in the field with the new QField 2.7
sur Planet OSGeoA brand new version of QField has been released, packed with features that will make you fall in love with this essential open source tool all over again with a focus on capturing more while you are in the field. QField 2.7 nicknamed “Heroic Hedgehog” also includes a number of worthy fixes making it a crucial update to get.
New recording capabilitiesThe highlight of QField 2.7 is the new audio and video recording capability straight from the feature form. In addition to preexisting still photo capture, this functionality allows for video motion and audio clips to be added as attachments to feature attributes.
The audio recording capability can come in handy in the field when typing on a keyboard-less device can be challenging. Simply record an audio note of observations to process later.
The experience wouldn’t be complete without audio and video playback support, which we took care of in this version too. Playback of such media content within the feature form gives an immediate feedback and saves time. For those interested in full screen immersion, simply click on the video frame to open the attached in your favorite media player. We also took the opportunity to implement audio and video playback on QGIS so people can easily consume the fruits of their labor in the field at their workstation.
We would be remiss if we didn’t mention map canvas rotation functionality added in this version. This is a long-requested functionality which we are happy to have packed into QField now. Pro-tip: when positioning is enabled, double tapping on the lower-left positioning button will have the map canvas follow both the device’s current location as well as the compass orientation.
Finally – some would argue “most importantly”
– QField is now equipped with a beautiful dark theme which users can activate in the settings panel. By default on Android and iOS, QField will follow the system’s dark theme setting. In addition to the new color scheme, users can also adjust the user interface font size.
Big thanks to Deutsches Archäologisches Institut who funded the majority of the new features in this release cycle. Their investment in making QField the perfect tool for them has benefited the community as a whole.
A ton of bug fixing across all platformsImportant stability improvements and fixes to serious issues are also part of this release. Noteworthy fixes include WFS layer support on iOS, much better Bluetooth connectivity on Android, and vertical grid improvement on Windows.
For users facing reliability issues with the native camera on Android, we have spent time supersizing the camera we ship within QField itself. During this development cycle, it has gained zoom and flash controls, as well as a ton of usability improvements, including geo-tagging.
To know more about this release, read the full change log on QField’s github release page.
-
12:00
GIScussions: Paying it forward
sur Planet OSGeoA few months back I had their pleasure of talking with Maxime Lenormand , the man behind the podcast Minds Behind Maps. It was a sort of meta podcast with me interviewing another geo podcaster. Ed had pointed me at Max’s two and a half hour long podcast interview with Steve Coast, I had thought that I could never listen to something that long but of course I did (in chunks)!
After the podcast recording Max and I were chatting about his sponsorship model and I decided that I wanted to support him and I offered to sponsor him on behalf of Mappery. He recorded this great little sponsorship intro to his conversation with Grega Milcinski, the founder of Sinergise.
Give Minds Behind Maps a try.
-
3:23
Sean Gillies: Bear training weeks twelve, thirteen, fourteen recap
sur Planet OSGeoThis is another attempt to catch up on three weeks of running in a single post. Week 12 was a rest week. I didn't run very much, but did it on dirt, with hills and friends. On Sunday we went to Red Mountain Open Space, crossed over into Wyoming for a few miles, and saw a large flock of Mountain Bluebirds.
4 hours running
19 miles
2,156 ft D+
In week 13 I bumped up my volume and intensity of running. I spent some time at the weight rack at my local gym, tried hard to pick up my knees and run better, and got some hills on Friday, Saturday, and Sunday.
8 hours, 20 minutes running
41 miles
4,058 ft D+
Week 14 was complicated by heavy snow and brutal wind, but I got to the gym for some lifting and yoga, and did back-to-back hilly long runs on the weekend.
7 hours, 52 minutes running
37.8 miles
5,522 ft D+
A few weeks of paying attention to running better seems to be paying off. I'm finding it easier to not shuffle and my knees feels fine despite the increase in workload.
-
23:59
QGIS Blog: Crowd-Funding 2023 Results
sur Planet OSGeoOn January 16th, we launched the largest crowd-funding call for QGIS.ORG so far. Our goal was to increase sustaining membership contributions and bring the total member contributions up to €200k. And today, we are happy to announce that, thanks to all our new and returning sustaining members, we have succeeded and even exceeded our goal: raising a total of €206.5k in contributions for 2023.
In total, 42 new sustaining members have answered our call – these are in addition to already existing sustaining members, who started their memberships in previous years – some of them already many years in a row.
We are particularly happy that we are able to welcome our new and first Flagship sustaining member Felt.
felt.com
A huge thank you also goes to our returning sustaining member, the Office of Public Works (Ireland) who have increased their contribution to the large membership level.
We are also delighted to welcome seven new medium sustaining members, including the first two university institutes supporting us on this level:
- Institut Dr. Nowak GmbH, Germany
- Bohannan Huston, New Mexico, USA
- University of Zurich, Department of Geography, Switzerland
- Idrostudi srl, Italy
- ETH Zurich, Institute of Cartography and Geoinformation, Switzerland
- IC Infraconsult AG, Switzerland
- BBOÖ Breitband Oberösterreich GmbH, Austria
And finally, our thanks go out to the stunning 33 new small sustaining members from all over the world:
- Pacific Geomatics Limited, Canada
- Helix Resources Limited, Australia
- Sand Hill Geographic, Virginia, United States
- GIS Pro Western Australia
- The Spatial Distillery Company, Victoria, Australia
- Qwast-GIS, The Netherlands
- CEICOL, Colombia
- QGIS user group Norway
- Robex resources, Quebec, Canada
- analyGIS GmbH, Switzerland
- CartoExpert, France
- addresscloud, UK
- Baugeologie und Geo-Bau-Labor AG, Switzerland
- Spatial Thoughts LLP, India
- Centremaps, UK
- Geoideal, Colombia
- theworksLA, California, United States
- SoftWater s.r.l., Italy
- menz umweltplanung, Germany
- Oy Arbonaut Ltd, Finland
- ZevRoss Spatial Analysis, New York, United States
- Ecophylla Consulting, Ontario, Canada
- DeBeer&DeVos BV, Belgium
- Reuther NetConsulting, Germany
- H13, Denmark
- Rockwater Pty Ltd, Australia
- BGU Dr. Brehm & Grünz GbR, Germany
- Julie’s Data, Ukraine
- LökPlan Conze & Cordes GbR, Germany
- OSGeo Oceania, Australia
- b-data GmbH, Switzerland
- PMA (Property Market Analysis LLP), UK
- ROBVQ (Regroupement des organismes de bassins versants du Québec), Canada
All sustaining members on flagship, large and medium level
-
19:43
QGIS Blog: Plugin Update February & March 2023
sur Planet OSGeoSo February came and went without us sharing our monthly plugin update. That means, this post lists a whopping 32 new plugins that have been published in the QGIS plugin repository in February and March.
Here’s the quick overview in reverse chronological order. 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.
BPEJ a RÚIAN pro SWAT Plugin stahuje a upravuje data BPEJ a upravuje data RÚIAN pro model SWAT PyQGIS Resource Browser A Qt resource browser right into QGIS. Austria Weather API QGis connection to Geosphere Austria API DataSud Plugin pour QGIS 3 fournissant un accès simple aux flux de géographiques WMS et WFS des données OpenStreetMap publiées sur DataSud pour la Région Provence-Alpes-Côte-d’Azur. CIGeoE Converge Lines Creates a point of convergence of lines within a selected area. Delete all QGIS plugin to delete all groups and layers from the layers widget CPR CPR (Colour Pattern Regression) Remote DB Plugin Manage and open SSH connections to remote database servers MOJXML Loader This plugin is made for Japanese users. It converts Japanese “MOJ Map XML” (land registration polygon data) into geospatial formats. ????????????????XML??????????????? Custom TitleBar Configure what is displayed in the title bar (QGIS full version, sha, project name, …) ScienceFlightPlanner This plugin helps to create scientific flight plans. LRS-Editor Editor for Linear Referencing Systems CRS Guesser Guesses unknown CRS for layers Extractor Extractor allows for the extraction of data from raster images based on point, line, and polygon vectors and the application of zonal statistics. Its usefulness lies in its ability to work with a range of raster sources, making it ideal for time series analysis and landscape studies. Coverage Builder Create rectangles to use as an input layer for atlas generation. Gamepad Navigation Navigate 2D and 3D map canvases using gamepad controllers (Playstation, Xbox, PC, etc.) Street Facing Side Identifies the side of the polygon (e.g. parcels or building footprints) that is facing the street, river, or any other line vector file type. Outputs a new line feature for each polygon feature, based on what side of the polygon was identified as the ‘street-facing’ side. Requires both an input polygon layer and input line layer. Dichtheitsprüfung Checker With this plugin, the raw data from leak tests (.sew files) can be read and checked for content. Limburg Flood Impact Limburg Flood Impact Plugin. Walidator plików GML Walidacja i kontrola plików GML baz: BDOO, BDOT10k, PRNG, GESUT, EGiB, BDOT500 infas LT Geocoder Geocoding with infas LT Geocoder CRAIG Plugin pour QGIS 3 fournissant un accès simple aux flux de données géographiques WMS/WMTS et WFS du CRAIG et d’autres ressources géographiques utiles en région Auvergne Rhône-Alpes. Feature Nodes Z Tag Tags the nodes of a feature with it’s Z value QRestart A plugin that allows users to restart the QGIS. Sewerage Designer The Sewerage Designer computes the required sizing and depth of a stormwater sewer system. Check4SEC Simulator of the Check4SEC validations in SEC and creation of GML file. (ES) Simulador del validador Check4SEC de la SEC y creación de fichero GML. QChatGPT A plugin integration between QGIS and openai API. Reloader Reload selected layer(s). Plot grid tool This plugin create a grid file from a plot boundary file Indiana LiDAR This plugin helps you access Indiana LiDAR data products. Raster Volume Comparison Calculates the difference in volume between two raster layers Save_DXF This plugin exports a laye to DXF file -
10:11
Free and Open Source GIS Ramblings: Deep learning from trajectory data
sur Planet OSGeoI’ve previously written about Movement data in GIS and the AI hype and today’s post is a follow-up in which I want to share with you a new review of the state of the art in deep learning from trajectory data.
Our review covers 8 use cases:
- Location classification
- Arrival time prediction
- Traffic flow / activity prediction
- Trajectory prediction
- Trajectory classification
- Next location prediction
- Anomaly detection
- Synthetic data generation
We particularly looked into the trajectory data preprocessing steps and the specific movement data representation used as input to train the neutral networks:
On a completely subjective note: the price for most surprising approach goes to natural language processing (NLP) Transfomers for traffic volume prediction.
The paper was presented at BMDA2023 and you can watch the full talk recording here:
References
This post is part of a series. Read more about movement data in GIS.
-
2:00
SourcePole: QGIS Cloud: Publish Live Data in Web Map
sur Planet OSGeoThe QGIS Cloud Support Team is often asked if it is possible to integrate data from external databases into the QGIS Cloud Web Map, so that the map information in the QGIS Cloud Web Map is always up-to-date. In this blog article we would like to show how this is possible with PostgreSQL. To publish data in the QGIS Cloud GDI, the data must always be stored in the personal QGIS Cloud database. -
12:20
longwayaround.org.uk: Moving gridref to fly.io
sur Planet OSGeoA few years ago I made an effort to learn Clojure, during which time I built a small Clojure library and command-line app GridRef to convert between an Ordnance Survey GB grid reference and British National Grid coordinates. While I was at it I built a web API GridRef Web …
-
11:41
GeoSolutions: GeoSolutions Exhibiting at GEOINT 2023!
sur Planet OSGeoYou must be logged into the site to view this content.
-
11:58
QGIS Blog: Reports from the winning grant proposals 2022
sur Planet OSGeoWith the QGIS Grant Programme 2022, we were able to support four proposals that are aimed to improve the QGIS project, including software, infrastructure, and documentation. The following reports summarize the work performed in the proposals.
- Support building QGIS application on Qt 6 (#243) – Report
In addition to the original plan of porting the “gui” and “app” libraries to Qt 6, it was possible to complete also the “3d” and “server” libraries. We now are at a stage where the majority of QGIS builds and runs without any significant issues on Qt 6. The Github CI setup has been updated to also run the C++ tests for gui, app, server and 3d, and the majority of these have been fixed so that they pass on the Qt 6 builds too. In addition, some tests which were failing under Qt 6 revealed some real QGIS bugs which have been fixed in the process of this work. (So there’s a direct benefit for the existing Qt 5 builds too!). - Add SQL Logging in the debugging/development panel (#242) – Report
When debugging or developing a QGIS algorithm or a QGIS plugin and when investigating performances of a particular layer it is often useful to view the SQL commands that QGIS sends to the backend. The SQL logging was implemented for Postgres, GeoPackage, Spatialite and Oracle data providers. - QGIS setting registry follow-up (#245) – Report
The work can mainly be seen here PR qgis/QGIS#51295 with the proposed approach to register settings in a hierarchical and organized way, without too much complexity in the API to actually use the settings.
To have a clean approach, some keys have been renamed. There is a compatibility handling (both forward and backward). The GUI implementation will be worked on during the HF in NL this spring. - Fix handling of provider default value clauses/Autogenerate/nextval(…) handling (#247) – Report
The bulk of these changes landed in the QGIS 3.28 release. A quick way to demonstrate on of the issues fixed is: open a Geopackage file, start editing the layer, add some features to it, but don’t save the edits, then right click the edited layer and try to save it to a different file. On older QGIS releases you’ll be spammed with a number of error messages because we tried to write a string value of “Autogenerate” into a number field for all the newly created features. On QGIS 3.28 this all just works as expected, with no errors encountered.
Thank you to everyone who participated and made this round of grants a great success and thank you to all our sustaining members and donors who make this initiative possible!
- Support building QGIS application on Qt 6 (#243) – Report
-
1:00
Camptocamp: Camptocamp to Host OGC Code Sprint
sur Planet OSGeoEnclosure: [download]
On April 25-27, 2023, we’re excited to welcome the international Open Source geospatial community to our Basecamp office in Bussigny. -
16:30
QGIS Blog: Welcoming our first flagship sustaining member – Felt
sur Planet OSGeoIt is with great pleasure that we would like to welcome Felt as our first flagship sustaining member!
Felt plays a revolutionary role for those who work with maps daily by making maps and spatial analysis more accessible across organizations through modern web-based collaboration features. Teams across planning, tech, infrastructure, consulting, environmental sciences and more are using QGIS & Felt to access the power of desktop GIS alongside the ease of modern web-based collaboration features, including:
- Customize your maps with browser-based tools: draw, drop pins, leave notes, trace boundaries, find routes — even add a video — all just point and click
- Collaborate with your team on the same map in the moment, or hours and miles apart
- Invite one, a few, or the whole world to see your work with precise access controls
Have a look yourself and discover the inspiring maps shared by Felt users.
We are particularly excited about this collaboration since Felt users regularly pair the analytical power of QGIS with the team-based sharing and collaboration features of Felt. Together, we contribute to a winning ecosystem of easy-to-use map-making tools for modern teams and organizations.
Felt’s support for QGIS helps us reach the goal of a stable financial basis to ensure another 20+ years of sustainable development and keep bringing the most user-friendly GIS to users worldwide.
-
13:39
From GIS to Remote Sensing: Remotior Sensus: a Tutorial about Sentinel-2 Download and NDVI Calculation
sur Planet OSGeoThis is a tutorial of Remotior Sensus, a Python package that allows for the processing of remote sensing images and GIS data.
This tutorial describes how to use Remotior Sensus in Google Colab and calculate NDVI from multiple Copernicus Sentinel-2 images. An average NDVI value is computed completely in the cloud, without the need to install software on your local device. Read more » -
1:00
SourcePole: FOSSGIS 2023
sur Planet OSGeoSourcepole hat an der FOSSGIS 2023 in Berlin verschiedene Themen mit Vorträgen abgedeckt:
- QGIS Web Client 2 (QWC2) - Neues aus dem Projekt
- COPC, das neue cloudoptimierte Format für Point Clouds
- Cloudoptimierte Formate für Kacheln und multidimensionale Rasterdaten
- Geodatenverarbeitung mit Workflow-Engines
-
18:02
GeoTools Team: GeoTools 29-RC1 released
sur Planet OSGeoThe GeoTools team is pleased to share the availability GeoTools 29-RC1 :geotools-29-RC1-bin.zip geotools-29-RC1-doc.zip geotools-29-RC1-userguide.zip geotools-29-RC1-project.zip Improvements and fixes in this releaseBugGEOT-6324 WFS-NG online tests don't extend OnlineTestCaseGEOT-7077 ClientProperty of a top element not showingGEOT-7148 Bug in JoiningJDBCFeatureSource / FilterToSQL creates -
1:00
GeoServer Team: GeoServer 2.23-RC1 Release
sur Planet OSGeoGeoServer 2.23-RC1 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a release candidate intended for public review and feedback, made in conjunction with GeoTools 29-RC1 and GeoWebCache 1.23-RC1.
Thanks to Gabriel Roldan (Camptocamp), Jody Garnett (GeoCat), and Andrea Aime (Geosolutions) for making this release candidate.
Release candidate public testing and feedbackTesting and providing feedback on releases is part of the open-source social contract. The development team (and their employers and customers) are responsible for sharing this great technology with you.
The collaborative part of open-source happens now - we ask you to test this release candidate in your environment and with your data. Try out the new features, double check if the documentation makes sense, and most importantly let us know!
If you spot something that is incorrect or not working do not assume it is obvious and we will notice. We request and depend on your email and bug reports at this time. If you are working with commercial support your provider is expected to participate on your behalf.
Keeping GeoServer sustainable requires a long term community commitment. If you are unable to contribute time, sponsorship options are available via OSGeo.
Java 11 MinimumWith this release GeoServer no longer supports Java 8, and it is time to upgrade to Java 11 at a minimum. Our build system tests GeoServer in with Java 11 and Java 17 which are both long-term-support OpenJDK releases.
If you try starting this version of GeoServer with Java 8 it will produce the following failure:
java.lang.UnsupportedClassVersionError: org/geoserver/GeoserverInitStartupListener has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
For more information please see our User Manual Installation (User Manual) and Java Considerations (User Manual) pages.
- GSIP-215 - Drop Java 8 Support (Proposal)
- GEOS-10638 Drop Java 8 support
The first big internal change for this release of GeoServer is a cleanup of the theme used for the GeoServer web administration application. Previously the pages had lots of little styling adjustments to try and get components to line up correctly and appear okay.
With this update all of the handmade styling changes have been removed, and everything is managed by the “geoserver.css” theme.
Thanks to Michel Gabriël (GeoCat) who started this work at the Bolsena code-sprint as a labour of love (well frustration).
- GUI CSS Cleanup (Proposal)
- GEOS-10556 Cleanup Inconsistent DOM structure and use of hardcoded styles
The second internal change for this release of GeoServer in an upgrade to the Spring Framework used to wire the internals of GeoServer together.
While this should not result in any change to functionality, it has resulted in quite a lot of carefult quality assurance and testing to ensure everything is still connected and works as intended.
Your “it works” feedback during the release-candidate testing cycle is valuable and will make Joseph Miller (GeoSolution) who worked on this activity feel good.
- GEOS-10779 Upgrade GeoServer Core Spring to 5.3.23 and Spring Security to 5.7.3
We are especially interested in feedback on the Java 11 minium transition for those using the Windows Installer (none of our core development team is in position to test so we are depending on you).
The installer will correctly detect the Adoptium JRE 11:
Early feedback indicates it is unable to detect Oracle JDK 17; but you can use Browse to manually select this JDK:
Thanks to Juan Luis Rodríguez (GeoCat) for troubleshooting the windows installer for this release.
- GEOS-10890 Wrong path for the license file in the Windows installer script
A welcome new feature, building on top of the ability to customize FeatureTypes is the ability to provide a description for each attribute. This information is used in WFS DescribeFeatureType to provide a human readable name or description for the attributes being published.
- GEOS-10868 Add support for editable description in GeoServer customize feature type table
The traditional OGC Open Web Services have not had automated CITE tests run for a while, but a few fixes have been made to restore CITE compliance:
-
GEOS-10787 CITE WCS 1.1.1 - Throw exception on bad ‘store’ parameter
-
GEOS-10788 CITE WCS 1.1.1 - Empty InterpolationMethod should throw exception
-
GEOS-10757 CITE: WMS <Style> has elements in wrong order (DTD validation)
-
GEOS-10782 CITE WFS 1.1 - HITS mimetype is incorrect
-
GEOS-10783 CITE WFS 1.1 - Check customized feature type to determine if transform wrapper needed
-
GEOS-10784 CITE WFS 1.1 - don’t do illegal geometry conversions
-
GEOS-10785 CITE WFS 1.1 - Data Dir - allow anonymous users to modify data
Thanks to David Blasby (GeoCat) for this work on behalf of the GeoCat Live Project. David address several errors in the CITE testing for these services while addressing the above issues for the GeoServer community.
A number of CITE conformance issues remain open, notably the handling of acceptsVersions with a mix of older protocols (such as WFS 2.0, WFS 1.1 and WFS 1.0). If you are interested in funding or sponsoring this activity please visit our sponsorship page.
Community UpdatesThe following community module has been retired:
-
GEOS-10778 Retire GeoStyler community module
The plugin is now maintained outside of the GeoServer repository at [https:] .
With the upgrade to Spring Security to 5.7.3 mentioned above, now is a good time for any teams working with community security modules to perform integration testing.
A reminder that these modules are in need of your support to be recognized as an extension (and be included in our automated testing). Contact the appropriate module maintainer (Alessio or David) to see how you can assist.
OGCAPI community module UpdatesThe OGCAPI community module remains under active development:
-
GEOS-10758 OGCAPI - Features - Add storageCrs property for Collections
-
GEOS-10888 OGC API styles OpenAPI document points to dangling remote resources
-
GEOS-10854 Move the OGC API OpenAPI definitions to the “openapi” resource
-
GEOS-10855 Update the new OGC APIs so that the major version number is part of the path
-
GEOS-10881 Add Content-Crs header to OGC API
-
GEOS-10885 Remove Axis Order from OGC API Header
Andrea (GeoSolutions) has been working towards CITE compliance on behalf of Geonovum.
As a community module GeoServer OGC API is made available to developers for collaboration, and can also be accessed as a nightly build for feedback. If you are in a position to support this activity with time, money or resources please contact Andrea.
Improvements and FixesNew Feature:
- GEOS-10696 Allow configuration of Output Format types allowed in GetFeature
Improvement:
-
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
-
GEOS-10750 German Translation Overhaul Part 1
-
GEOS-10755 WCS 2.0 module should not use string concatenation to build XML
-
GEOS-10762 Allow enabling auto-escaping for WMS GetFeatureInfo HTML templates
-
GEOS-10814 Update jdbc config to use consistent SQL formatting
-
GEOS-10879 Dispatcher should not respond to non standard HTTP methods
Tasks:
- GEOS-10798 Sphinx site [sphinx.pocoo.org] is outdate
For the complete list see 2.23-RC1 release notes.
About GeoServer 2.23 SeriesRelease notes: ( 2.23-RC1 )
-
22:59
Martin Davis: Simplifying Polygonal Coverages with JTS
sur Planet OSGeoA new capability for the JTS Topology Suite is operations to process Simple Polygonal Coverages. A Simple Polygon Coverage is a set of edge-matched, non-overlapping polygonal geometries (which may be non-contiguous, and have holes). Typically this is used to model an area in which every point has a value from some domain. A classic example of a polygonal coverage is a set of administrative boundaries, such as those available from GADM or Natural Earth.
GADM polygonal coverage for France Level 1 ( 198,350 vertices)
The first coverage operations provided are:
- Coverage Validation, to check if a set of polygons forms a topologically-valid coverage
- Coverage Union, which takes advantage of coverage topology to provide a very fast union operation
Another operation on polygonal coverages is simplification. Simplifying a coverage reduces the number of vertices it contains, while preserving the coverage topology. Preserving topology means that the simplified polygons still form a valid coverage, and that polygons which had a common edge in the input coverage (i.e. which were adjacent) still share an edge in the simplified result. Reducing dataset size via simplification can provide more efficient storage and download, and faster visualization at smaller scales.
France coverage simplified with tolerance 0.01 (7,918 vertices)The decrease in resolution is hardly noticeable at this scale
Closeup of simplified coverage (tolerance = 0.01)
Simplification is perhaps the most requested algorithm for polygonal coverages (for example, see GIS StackExchange questions here, here and here.) My colleague Paul Ramsey sometimes calls it the "killer app" for polygonal coverages. Earlier this century there was no easily-available software implementing this capability. Users often had to resort to the complex approach of extracting the linework from the dataset, dissolving it, simplifying the lines (with a tool which would not cause further overlaps), re-polygonizing, and re-attaching feature attribution to the result geometries.
More recently tooling has emerged to provide this functionality. Simplification is the raison-d'etre of the widely-used and cited MapShaper tool. GRASS has the v.generalize module. And good old OpenJUMP added Simplify Polygon Coverage a while back.
JTS has provided the TopologyPreservingSimplifier algorithm for many years, but this only operates on Polygons and MultiPolygons, not on polygonal coverages. (Attempting to use it on polygonal coverages can introduce gaps and overlaps, resulting in complaints like this.) But coverage simplification has been lacking in JTS/GEOS - until now.
JTS Coverage SimplificationRecent work on Polygon Hulls provided ideas for an implementation of coverage simplification. The CoverageSimplifier class uses an area-based simplification approach similar to the well-known Visvalingam-Whyatt algorithm. This provides good results for simplifying areal features (as opposed to linear ones). It's possible to use a Douglas-Peucker based approach as well, so this may be a future option.
The degree of simplification is determined by a tolerance value. The value is equivalent roughly to the maximum distance a simplified edge can change (technically speaking, it is the square root of the area tolerance for the Visvalingam-Whyatt algorithm).
The algorithm progressively simplifies all coverage edges, while ensuring that no edges cross another edge, or touch at endpoints. This provides the maximum amount of simplification (up to the tolerance) while still maintaining the coverage topology.
The coverage of course should be valid according to the JTS CoverageValidator class. Invalid coverages can still be simplified, but only edges with valid topology will have it maintained.
France coverage simplified with tolerance = 0.1 ( 1,928 vertices)France coverage simplified with tolerance = 0.5 ( 1,527 vertices)The coverage topology (adjacency relationship) is always preserved.
Inner SimplificationThe implementation also provides the interesting option of Inner Simplification. This mode simplifies only inner, shared edges, leaving the outer boundary edges unchanged. This allows portions of a coverage to be simplified, by ensuring that the simplified polygons will fit exactly into the original coverage. (This GIS-SE question is an example of how this can be used.)
Inner Simplification of France coverage
It would also be possible to provide Outer Simplification, where only outer edges are simplified. It's not clear what the use case would be for this - if you have ideas, leave a comment!GEOS and PostGISAs usual, this algorithm will be ported to GEOS, from where it will be available to downstream projects such as PostGIS and Shapely.
For PostGIS, the intention is to expose this as a window function (perhaps ST_CoverageSimplify). That will make it easy to process a set of features (records) and maintain the attributes for each feature.
-
16:35
GIScussions: “Using” Open Source
sur Planet OSGeoAt a recent tech conference hosted by a proprietary software company one of the presenters said
“We’re serious about open source, and we use it to build our software“
I guess he thought that this was a virtuous statement of coolness and openness. The speaker then went on to talk about the ways that the company was giving back to the open source community.
It prompted me to think about the absorption of open source libraries and tools into proprietary software and the extent to which software businesses give back to these foundational open source projects or leech off of them.
You’ve probably seen this xkcd cartoon
If you are serious about open source then contribute to it and support it, don’t just use it and leave the effort to someone else.
-
6:00
Lutra consulting: Summary of the 3D features & enhancements in QGIS 3.30
sur Planet OSGeoQGIS 3.30 was released late last week and we are pleased to announce the new features introduced as a part of our latest crowdfunding campaign to improve 3D, point cloud and elevation data.
Thank youFirst and foremost, thanks to the generous support from the community to fund our work. Here is the list of our contributors in no particular order:
IGN (INSTITUT NATIONAL DE L’INFORMATION GEOGRAPHIQUE ET FORESTIERE), National Land Survey of Finland, K2 Engineering GmbH, ProScape Consulting, Västra Götalandsregionen, Kristianstads kommun, IGN FI, L’Arrière Guichet, Septima, QWAST-GIS, ATAPEX s.r.o., REDcatch GmbH, F.A.R.M. Facilitazioni Agroecologiche Regionali Mobili, EPYMA TERRITORIO Y MEDIO AMBIENTE, SL, GEO EXPLORATION LTD, Bohannan Huston, Inc., Lidar Guys, Neuchâtel- Service de la géomatique, Wooding Geospatial Solutions, Ville de Vevey, QGIS User Group Switzerland, Ecophylla Consulting, Refactor, Locate Press, Alta ehf, Oester Messtechnik GmbH, RUDAZ+PARTNER AG, BayesMap Solutions LLC, GEOACE, Natalie Gyles, Andreas Neumann, Dougal Munro, Spatial Thoughts, Cicada Systems GIS Consulting, Cori Hermle, Powell Asset Mapping LLC, Darren Farmer, Greg Hall, Ecothought Pty Ltd, Gabriel Diosan, Bhutan QGIS Group, Ultimatum Finesse, Balanced Risk Strategies, Ltd, Concordia University, Burmis Studio Inc., Nicholas Hadaller, Angello Villatoro, Yoichi Kayama, Hennessy Amor Becerra Ayala, Flow Design Limited, BNHR.XYZ, Roberto Moyano, Benjamin Kuster, Goldspot, North River Geographic Systems, Inc, David W. Wormuth, Victor Graphics, Valley Spatial, Stephen Mather, SANTIAGO AURELIO MOTA, Kelly Crowell, Brian Duhan, Paddy Fisher, OSGEO:UK, Christian Gugl, GIP CRAIG - Centre Régional Auvergne-Rhône-Alpes de l’Infromation Géographqiue, Raphael Mabit, Tibor Lieskovský, Kerstin Fohlert, Zhan Li, Bernd Vogelgesang, Marlin Müller, Johannes Bonekamp, Stefan Giese, Fabian Faßnacht, QGIS Sweden user group, Falo, DAVID GARCIA HERNANDEZ, Lint Data and Geospatial, Cliff Sin Wai Lau, Grzegorz Sapijaszko, ?ukasz Rapa, Alessandro Pintucci and Maarten Pronk.
Our gratitude also goes to those who want to remain anonymous.
Global map shadingTo see this feature in action, you can open QGIS project properties and under Terrain, there should be an option for Global Map Shading. You will need to first add a raster as your DEM under the Terrain section.
Elevations of all these layers are combined and the considered elevation is chosen depending on one of two methods:
- the highest elevation between raster, mesh or point cloud layers will be selected.
- elevation will be selected based on the order of layers in the layer panel.
Depending on the context and the use of the map the user can choose the more appropriate method.
For now, the shading methods implemented are the Eye Dome Lighting and the hill-shade. More methods could be added in the future - such as ambient occlusion.
The user can choose the elevation shading settings in a specific UI widget that can be found in two places:
- under the Project Properties, within the same tab of the project elevation settings.
- under the Styling Panel, a new tab is added for quick access to the user.
Profile elevation within print composerThis work was carried out by our collaborator North Road. The profile tool can embed elevation profiles within print layouts. It is possible to add beautifully styled profiles in your print outputs.
To use elevation profiles in print layouts, simply click the Add Elevation Profile button
in the toolbar, and then to initialize it, copy profile configuration from an existing elevation profile from QGIS main window using the “Copy From Profile” button.
3D navigation improvementsWith the new improvements, you can:
- move camera vertically using ctrl+shift+left mouse button
- keep zooming with the wheel while moving the mouse
- continue right mouse button zooming when pointer exits the viewport
The terrain’s and point cloud layers’ elevation range are taken into account so that the camera is not positioned below the scene’s contents, which was the case when using the terrain’s vertical scale setting to exaggerate the elevation differences.
Limit 3D scenes’ 2D extent3D Views can now be limited to a specific 2D extent. The terrain is clipped and no 3D features beyond that extent are loaded, making it easy to render specific areas of big QGIS projects. The project’s 2D extent is used by default which can then be adjusted in each 3D view separately using the new General tab in 3D configuration.
Future updatesThere will be more features planned for QGIS 3.32. We are finalising the Processing framework for point cloud data and it should be available on QGIS master in coming weeks.
Please do not hesitate to contact us if you have any suggestions to improve QGIS 3D and point cloud support.
-
5:59
Sean Gillies: Bear training weeks nine, ten, and eleven recap
sur Planet OSGeoI'm catching up on three weeks of running in this post. I'm making progress. Poor weather, knee pain, and a return of last summer's PACs complicated my training a bit. I'd like to have run a little more, but have been mixing in more high quality speed workouts and have been consistent with weight training and yoga. While not in the same form that I was when training to peak in May 2019 or July 2020, I'm not in terrible early season shape. Here are the numbers.
Week nine:
6 hours, 15 minutes running
30.1 miles
2,441 ft D+
On Sunday I got out for a hilly run in the snow.
Snowy Howard Trail with large mammal tracks to the left
Week ten:
5 hours, 7 minutes running
28.3 miles
1,122 ft D+
Week 11:
4 hours, 56 minutes running
25.8 miles
2,208 ft D+
On Saturday local trails started opening up again and I got a nice long run on dry dirt. It was wonderful.
Horsetooth Reservoir in transition from winter to spring
-
18:13
GeoSolutions: Free Webinar: MapStore at work for the City of Genova – towards building a digital twin with open source tools
sur Planet OSGeoYou must be logged into the site to view this content.
-
18:12
W3C Maps for HTML Community Group: Winter Works
sur Planet OSGeoAtlas of Canada International Polar Year Wall Map
The Maps for HTML community development has been happening “seasonally” for a few years now, driven in large measure by student internships. We have had excellent experiences with the co-op programs of the University of Waterloo, and Ottawa University here in Canada. Students generally arrive quite new to the field of Web development, and we show them what we know and what we’re working on and let nature take its course, sustained of course by MDN and browser DevTools! The results have been very good so far, and it’s time to review some of the things we’ve undertaken this term.
Autonomous agents
In September 2022, we held a hybrid meeting of the community group, with some of us physically present and others dialled in from around the globe. There were some interesting discussions and some of those discussions have led directly to activities this term.
For example, at our F2F, we were talking about map semantics (the subject of an earlier post), and Ed noted that the visual character of a map is one thing, but what is the meaning of the thing that is depicted by the map?
Ed: How do we describe the location semantics in an html web page and make it available to the autonomous agent?
Now, semantics is a profound topic, one that is perhaps even more relevant in today’s world of AI and generated prose. Anyway, not to go down the AI chatbot rabbithole, I have posited before that the central characteristic that makes a map special, and “semantic”, is the shared definition of the coordinate reference system used by the map. Clearly, shared coordinate reference system definitions are at the heart of geospatial interoperability, but are they enough to allow HTML authors and autonomous agents to clearly differentiate, say, Paris, Ontario, from Paris, France? Certainly! But how does that translate to something meaningful for the user of a map? A visual user can see, perhaps if necessary by zooming in or out, that what is depicted is clearly in one location or the other. Similarly, the markup of a declarative web map visually and computationally places the map in Ontario, or France, or wherever. But what of non-visual users, or for that matter, autonomous agents (web crawlers) and, by extension, search engine users? What does the map mean to them? Ed was unequivocal about where the current generation of JavaScript maps leaves them.
Ed: From the point of view of an autonomous agent, what they see in the JavaScipt (web map) is invisible i.e. nothing
We strongly agree on this point! To address this problem within the scope of the MapML proposal for the Web, Kevin developed a custom element called
<map-caption>
. The<map-caption
> element is a way of allowing the page author to describe and differentiate the map’s meaning explicitly for accessibility technology and potentially for search engine users, which may be especially important if search engines are incapable of spatial indexing. The tight coupling of the caption with the spatial focus of the map state should allow both users and crawlers to leverage map semantics to the fullest extent possible. Please, don’t be shy, hop onto our topic discussion and share your views. Nothing is standardized yet, and we want to ensure we standardize something useful to folks and their autonomous agents.Map
width
andheight
A long-standing need has been to lower the getting-started barrier for newcomers to HTML Web mapping, since inclusion is our central objective. Way back in the Polymer days, our polyfill supported the
width
andheight
map viewer attributes, but during Web Components 1.0 refactoring, those attributes were not carried forward. Back in 2021, Eric spent some time experimenting with our<mapml-viewer>
and one of the most confusing moments of that experience was the lack ofwidth
andheight
attribute support, because we had come to rely on CSS being supplied for these values, and the underlying mapping engine that powers our proposal is highly dependent on having a defined container element height to work with. Even thoughwidth
andheight
no longer mean what they used to for HTML images, for example, they still play a role in the efficiency of the browser layout process. So, Jacky brought back thewidth
andheight
attributes for use with our<mapml-viewer>
, hopefully making the getting-started process a little less confusing by enabling more paths to success, and perhaps polyfilling a similar role to that played today by the<img>
width
andheight
attributes, for a future HTML map widget.GeoJSON is Everywhere
Along the way, many people have suggested that support for GeoJSON might be essential for a standard Web map widget. After some soul searching, because we don’t want to make this proposal any larger in scope than it must be, we decided to implement a speculative polyfill for GeoJSON.
Aliyan did some nice work pulling that together, first as a library function that you had to import and later (currently) as part of the
<mapml-viewer>
and<layer->
element WebIDL APIs. These APIs are partly exposed as map viewer context menu option for Paste (P), which, if your clipboard is loaded with a GeoJSON feature or featurecollection text blob, will create a map layer with a default graphic and textual representation of the features. If you want to apply custom CSS styles to the map features that are generated by pasting, you can always hook your code directly into these APIs, as shown by this experiment.Context is Everything
Hanyu dived into the CSS pool and made the behaviour of the map and layer controls’ context menus more predictable and testable, not to mention nice looking and accessible to keyboard users.
The map context menu, showing the copy submenu, and the layer context menu are shown above
One of our epics is to make MapML self-perpetuating and hackable, hopefully following in the footsteps of the “View Source” culture established by HTML. To that end, we have created user documentation and tutorials that try to help newcomers climb their learning curve. Some of the functions exposed by the right-click / Shift+F10 context menus include copying various bits of MapML markup that can be used to help you create your own maps from close to scratch.
All the user-facing functionality should be localized, and for that we turn to our browser extension, which we use to polyfill the browser chrome. In addition to localized UI, we have recently added the French language to our documentation site. Our documentation approximates for the MapML proposal what the Mozilla Developer Network docs do for HTML and Web APIs. If you are interested in making Web maps a global standard, please get in touch and potentially help the initiative by contributing your native language.
On the Road to 1.0.0
That’s all for now. We’ll have much more to say at the end of our work term, but we think we are heading towards a “1.0.0” release, which will mark a major milestone in this effort. Stay tuned. As always: new community members and contributions are always welcome.
-
16:23
Oslandia: How Oslandia invests in OpenSource
sur Planet OSGeoYou may be wondering where Oslandia’s name is coming from ? Or maybe you already know ? In this article we focus on the “OS” part of Oslandia : OpenSource !
Oslandia positions itself as IT expert in the field of OpenSource geographical information systems. QGIS is namely one of the proheminent opensource softwares for the geospatial industry. This position is a key element of our business model.
But do you know how we work behind the scene ? This article will give you an opportunity to discover some of our contributions to the OpenSource ecosystem.
PrinciplesOur general business model is based on projects we carry out for our clients. They fund us to design and implement solutions adapted to their needs and requirements. Part of these developments consist in core development of Opensource software. This allows us to contribute actively to FOSS4G components.
But this funding method makes it complicated to fund maintenance, or new exploratory developments, as well as communication, community management or other tasks necessary for healthy opensource projects.
As a consequence, we introduced at Oslandia a mechanism of internal OpenSource project grants.
These grants constitute self-investment from the company into the OpenSource ecosystem, and can be applied to new projects, research and development or existing projects.
This mechanism has multiple interests :
- For opensource projects : maintenance and new contributions
- For Oslandia : image and potential new business opportunities
- For the team : work on projects that matter to them
These OpenSource grants consist in a large range of possible tasks, as we often say : “Opensource projects are not only code”. Instead of developers, we prefer the term contributors. Development, code review, maintenance, documentation, community management, communication, each collaborator can choose the type of task to focus on.
We differentiate software maintenance grants and opensource project grants. We call the latter “OpenSource mini-projects”
Software maintenance consists in refactoring, bugfixing, packaging, release management… All these tasks need dedicated time which is difficult to fund directly on client’s project.
Opensource mini-projects grants are specific opensource proposal which can be submitted by any collaborator on any subject. We then vote on the best proposal and the team can start working on the subject within the allocated budget.
Some numbersWe allocate around 5% of the global production time to software maintenance grants. Our Opensource maintenance grant for 2022 is therefore approximately 190 days of work. It mainly focus on QGIS, PostGIS, QWC2, Giro3D and a few other components we actively maintain.
We also allocate 5% of the global production time to opensource mini-projects grants. It represents an additional 190 days of work for 2022.
Oslandia therefore invests almost 400 days of work into the OpenSource ecosystem, outside of direct contributions for client’s projects.
Opensource Mini-projectsOpenSource mini-projects grants are submitted by Oslandia’s collaborators and focus on various task and thematics : innovation, development, design, prototyping, communication or any other kind of Opensource contribution.
Proposals have to define goals, deliverables, planning, team and needed budget. Then we evaluate the proposals given the following criteria :
- proposal coherency ( e.g. deliverables vs budget )
- alignment with Oslandia’s strategy
- innovation level
- business opportunities
- fun and motivation
- impacts in terms of communication
- links with other projects at Oslandia
- possibility of extra R&D funding
We then vote on best proposal and manage these mini-projects just as a client project.
Examples QGISThe maintenance grant on QGIS allowed us to work on the following tasks :
- Bugfixing
- Code review for PRs submitted by other developers
- Code refactoring
- Documentation
- Packaging pipeline
- OSGeo4W improvement
During the year of 2022, we worked on the following mini-projects :
- New features for QWC2
- Improve QGIS DICT plugin
- Improve QDeeplandia QGIS plugin
- Improve QGIS software quality tooling
- Improve totalopenstation topography software (TOPS)
- Improve LCSI QGIS plugin
- Improve QGIS Plugin templater
- Set up CI for QGIS plugins
- Rework the OSGeo-fr local chapter website ( see the proposal here )
In 2023 we will continue to work on these projects, and others ! for example pg_featureserv, py3dtiles, infoclimat website, MapProxy, pgRouting…
ConclusionThis investment mechanism allows Oslandia to be an opensource “pure player” and contribute actively to these OpenSource projects and to the OpenSource ecosystem as a whole.
Should you be interested in our contribution model, or if you have any question regarding our internal OpenSource grant program, do not hesitate to contact us : info@oslandia.com !
-
12:00
3liz: Sortie de Lizmap Web Client 3.6
sur Planet OSGeoLizmap Web Client 3.6 est arrivé, 3.5 continue, 3.4 s'en vaNous sommes heureux d'annoncer la sortie de Lizmap Web Client 3.6, la nouvelle version majeure.
Cette version met principalement l'accent sur l'interface d'administration et les outils pour les géomaticiens afin de faciliter la gestion des projets et applications web cartographiques publiés avec Lizmap.
La publication de cette nouvelle version signifie la fin du support de la version 3.4, mais nous continuons à maintenir la version 3.5.
FinanceursPré-requis et installation
Il est désormais requis d'avoir un QGIS serveur minimum 3.10. Nous recommandons cependant d'utiliser une version LTR plus récente, comme la version 3.22 ou bien même la dernière version LTR 3.28.
Depuis Lizmap Web Client 3.4, l'installation de l'extension QGIS serveur
Lizmap server
était fortement recommandée afin de débloquer toutes les fonctionnalités.Désormais, l'installation de l'extension sur QGIS serveur est obligatoire. Pensez à vérifier votre installation dans la page "Information serveur" et à finaliser votre installation, notamment sur la variable environment. Suivez les instructions dans votre panneau d'administration, page "Information serveur".
Même si vous continuez à utiliser Lizmap Web Client 3.5, pensez à installer l'extension
Lizmap server
sur QGIS serveur !Dorénavant, à chaque nouvelle sortie de Lizmap Web Client, la version minimum de l'extension sera incrémentée. Il faudra donc mettre à jour de votre côté à chaque version.
Ces contraintes concernent le serveur Lizmap et sont donc à la charge de celui qui gère le serveur.
Interface d'administrationL'interface d'administration intègre les nouveautés suivantes :
- De nouveaux droits ont été ajoutés pour pouvoir définir un groupe d'éditeurs. Ce groupe concerne les personnes qui publient des cartes QGIS vers l'application Lizmap Web Client. Cela permet de mieux distinguer les administrateurs des éditeurs. Dans QGIS bureautique, vous devez fournir un nom d'utilisateur qui soit au minimum un éditeur.
- nouvelle page montrant la liste des projets publiés dans un tableau dynamique
Projets QGIS
. On retrouve dans ce nouveau tableau des métadonnées sur votre projet tel que la date de dernière modification du projet QGIS, la version de QGIS bureautique utilisée, de l'extension Lizmap, etc.
Plus de propriétés de projet sont affichées si l'outil
qgis-project-validator
(disponible sur notre offre d'hébergement lizmap.com) a été utilisé :- Nombre de couches invalides et liste des noms de couches
- Mémoire utilisée pour charger le projet (en Mo)
- Temps de chargement du projet (en secondes)
- Fichier de LOG QGIS écrit lors du chargement du projet
Cette page a pour but de vous aider à identifier les "anciens" projets sur votre serveur Lizmap et afin de les mettre à jour. Pour cela, nous vous recommandons d'utiliser la même version QGIS bureautique que votre QGIS serveur et d'installer la dernière version de l'extension Lizmap disponible.
Note très importante, les projets QGIS dont le fichier de configuration Lizmap a pour version cible Lizmap Web Client 3.2 ou inférieure ne seront plus consultables. Pensez-donc à regarder les avertissements dans cette nouvelle page. Pour débloquer de tels projets, il faut les rouvrir dans QGIS bureautique avec la dernière version de l'extension Lizmap bureautique que QGIS vous propose, puis ré-enregistrer la configuration.
- La création de nouveau répertoire Lizmap est simplifiée. Le formulaire est désormais plus intuitif et des droits sont cochés par défaut.
- La page de gestion des droits des groupes et des utilisateurs a été revue afin de faciliter leur gestion.
- La page de configuration des répertoires permet de configurer les entête CORS (Présentation CORS sur MDN). Elles permettent de pouvoir réutiliser les flux OGC (WMS, WFS) de Lizmap Web Client dans d'autres applications sur d'autres domaines. Il est ainsi possible d'intégrer des flux WMS en provenance de Lizmap Web Client dans une application construite avec mviewer.
Dans l'extension Lizmap pour QGIS bureautique, on trouve de nouvelles fonctionnalités de configuration :
- Activer l'affichage automatique de l'image de légende pour une couche au démarrage de la carte lizmap. Attention à la charge sur votre serveur avec cette option (au démarrage, ces images de légende visibles seront chargées).
- Activer le téléchargement d'un objet géographique depuis la popup
- Activer OpenTopoMap comme couche de fond
Il est désormais possible de prévisualiser les graphiques dans l'onglet Dataviz.
Il pourra aussi bénéficier de la liste des groupes configurés dans l'interface d'administration de Lizmap Web Client pour gérer correctement les restrictions au niveau du projet, ou la visibilité d'une couche, ou encore pour définir l'édition d'une couche.
Interface utilisateur Message d'erreur au chargement d'une application LizmapDans les versions précédentes, lorsque Lizmap Web Client rencontrait des erreurs lors du chargement d'une application Lizmap, le message
Service non disponible
apparaissait en arrière-plan de la fenêtre de chargement.Ce message ne s'affiche désormais plus. Si une erreur survient au chargement, un message explicite est affiché afin de faciliter les retours des utilisateurs.
Si un script JavaScript additionnel contient une erreur, alors un message d'erreur est, lui aussi, affiché.
Affichage des libellés des valeurs pour une entitéDans les interfaces du formulaire de filtrage et de la table attributaire, les valeurs sont remplacées par leur libellé, comme dans QGIS.
Les valeurs des champs sont remplacées par leur libellé dans le cas où l'outil d'édition du champ est
Édition: recommencer le dessinValeur relationnelle
,Référence de la relation
etListe de valeurs
. Cette configuration se fait dans la fenêtre dePropriétés de la couche
, ongletFormulaire d'attributs
de QGIS. Dans le cas des outils d'éditionValeur relationnelle
etRéférence de la relation
, il faut que la couche source (contenant les libellés) soit publiée en WFS.Lors de l'édition d'un objet, une fois la géométrie dessinée il est maintenant possible de l'effacer pour recommencer le dessin.
Il est toujours possible de modifier un dessin dans le contexte de l'édition.
Zoom sur un objet à l'ouverture de la carteDe nouveaux paramètres d'URLs sont disponibles pour pouvoir zoomer sur un ou plusieurs objets et afficher leur popup :
layer
: Nom de la couche dans les services WFS et WMSfilter
: Filtre de la couche pour initier le zoompopup=true
: pour afficher la ou les popups des objets du filtre
Les paramètres
layer
etfilter
seront utilisés pour des requêtes de types WFS et WMS, il faut donc s'assurer que ceux-ci sont bien compatibles avec les 2 types de services.Par exemple, on souhaite réutiliser cette carte de Montpellier montrant le cadastre au format FlatGeobuf en fournissant un lien personnalisé qui ouvre la fiche de la place du Peyrou.
Ce parc a pour identifiant unique
340172000BX0079
dont le champ estgeo_parcelle
. Il faut donc ajouter à l'URL ci-dessus :layer=parcelle
filter=%22geo_parcelle%22%20%3D%20%27340172000BX0079%27
popup=true
Ce qui donne
Pour information, la valeur du filtre a été obtenue à l'aide du code JS suivant :
TéléchargementencodeURIComponent("\"geo_parcelle\" = '340172000BX0079'")`
Vous pouvez télécharger le dernier zip sur notre page des sorties.
Vous pouvez également consulter la liste des modifications ("changelog") de la version 3.6.0, 3.6.1 et 3.6.2.
Nous espérons que vous allez apprécier cette nouvelle version ?
L'équipe 3Liz
-
12:00
3liz: Release of Lizmap Web Client 3.6
sur Planet OSGeoLizmap Web Client 3.6 has landed, 3.5 still alive, 3.4 is retired3Liz is pleased to announce the release of Lizmap Web Client 3.6, the new major version of the application.
This new version is mainly focused on the administration panel and tools for GIS technicians to help to manage their QGIS projects published on Lizmap.
This new major version means that the Lizmap Web Client 3.4 is no more maintained. However, we are still maintaining the 3.5 version.
FundersPre-requirements and installation
It is now required to have a minimum QGIS server 3.10. However, we recommend using the latest LTR version , i.e. version 3.22 or even the latest LTR version 3.28.
Since Lizmap Web Client 3.4, the installation of the QGIS server plugin
Lizmap server
was strongly recommended in order to unlock all features.Now, installing the plugin
Lizmap server
on QGIS server is mandatory. Do not forget to check your installation on the "Server Information" page in the administration pages and finalize it, mainly the environment variable. Follow the instructions in your administration panel, "Server Information" page.Even if you continue to use Lizmap Web Client 3.5, remember to install the plugin
Lizmap server
on QGIS server!From now, on each new release of Lizmap Web Client, the minimum version of the plugin will be incremented. Therefore, it will be necessary for you to update it on each version.
These constraints concern the Lizmap server and are therefore the responsibility of whoever manages the server.
Administration panelThe administration interface includes the following new features:
- New rights have been added to be able to define a group of editors. This makes it easier to distinguish administrators and publishers. Publishers are the users allowed to configure and send QGIS projects to the Lizmap server. In QGIS desktop, you must provide a username that is at least an editor.
- new page showing the list of all projects in a dynamic table. In this new table you will find metadata about your projects such as the date of the last modification of the QGIS project, the version of QGIS desktop, the Lizmap plugin, etc.
More project properties are shown if the tool
qgis-project-validator
(available on our hosting offer lizmap.com) is used:- Number of invalid layers with the list of the layer names
- Memory used to load the project (in MB)
- Loading time of the project (in seconds)
- QGIS LOG file written when loading the project
This page aims to help you identify "old" projects on your Lizmap server and update them. For this, we recommend using the same QGIS desktop version as your QGIS server and installing the latest version of the Lizmap plugin available.
Very important note: QGIS projects which were designed for Lizmap Web Client 3.2 or lower will no longer be available. Remember to look at the warnings in this new page. To unlock such projects, they must be reopened in QGIS desktop with the latest version of the Lizmap plugin available in your QGIS plugin manager.
- The creation of a new Lizmap repository has been simplified. The form is now more intuitive and some rights are checked by default.
- The rights management page for groups and users has been redesigned to facilitate their management.
- The repository management page allows you to configure the CORS header (CORS presentation on MDN). They allow OGC streams (WMS, WFS) from Lizmap Web Client in other applications on other domains. It is thus possible to integrate WMS flows coming from Lizmap Web Client in an application built with mviewer.
In QGIS Desktop, there are new configuration features:
- Enable automatic display of legend image for a layer when Lizmap starts. Pay attention to the load on your server with this option at startup.
- Activate the download of a geographic object from the popup
- Activate OpenTopoMap as a background layer
It is now possible to preview charts in the Dataviz tab.
It is also possible to get the list of the groups configured in Lizmap Web Client administration pages to correctly manage the restrictions at the project level, or the visibility for a layer, or to define the editing capabilities of a layer.
User interface Error message when loading a Lizmap applicationBefore, when Lizmap Web Client encountered errors while loading a Lizmap project, the message
Service not available
appeared in the background of the loading window.This message no longer appears. If an error occurs during the map loading, an explicit message is displayed to explain the encountered issue.
If an additional JavaScript script contains an error, then an error message is also displayed.
Displaying value labels for a featureWhen opening an editing form or displaying the attribute table of a layer, the values (codes) are now replaced by their labels, like in QGIS desktop.
The field values are replaced by their labels if the field editing tool is
Editing: start drawing againValue relation
,Relation reference
andValue map
. This configuration is done in the QGISLayer properties
window,Attributes form
tab. In the case of theValue relation
andRelation reference
widgets, the source layer must be published in WFS.When editing an object, once the geometry has been drawn, it is now possible to erase it to start drawing a new geometry from scratch.
It is always possible to modify a drawing in the context of editing.
Zoom on an object when opening the mapNew URL parameters are available to be able to zoom in on one or more objects and display their popup:
layer
: Layer name in WFS and WMS servicesfilter
: Layer filter to initiate the zoompopup=true
: to display the popup(s) of the filter objects
The
layer
andfilter
parameters will be used for WFS and WMS type queries, so make sure that these are well compatible with the 2 types of services.For instance, we would like to reuse this map of Montpellier showing cadastral data with the FlatGeobuf format by providing a customized link opening the popup from Park of Peyrou.
This park has
340172000BX0079
for its unique ID in the fieldgeo_parcelle
. Therefore, we need to add in the URL above :layer=parcelle
filter=%22geo_parcelle%22%20%3D%20%27340172000BX0079%27
popup=true
It gives this final result :
For your information, we can have the value of the filter with this Javascript code :
DownloadencodeURIComponent("\"geo_parcelle\" = '340172000BX0079'")`
You can download the latest zip on our releases page.
You can also check the changelog of version 3.6.0, 3.6.1 and 3.6.2.
We hope you will enjoy this new version ?
The 3Liz team
-
8:55
QGIS Blog: QGIS 3.30 ‘s-Hertogenbosch is released!
sur Planet OSGeoWe are pleased to announce the release of QGIS 3.30 ‘s-Hertogenbosch!
Installers for all supported operating systems are already out. QGIS 3.30 comes with tons of new features, as you can see in our visual changelog. QGIS 3.30 ‘s-Hertogenbosch is named after this year’s QGIS user conference and contributor meeting host city.
We would like to thank the developers, documenters, testers and all the many folks out there who volunteer their time and effort (or fund people to do so). From the QGIS community we hope you enjoy this release! If you wish to donate time, money or otherwise get involved in making QGIS more awesome, please wander along to qgis.org and lend a hand!
QGIS is supported by donors and sustaining members. A current list of donors who have made financial contributions large and small to the project can be seen on our donors list. If you would like to become a sustaining member, please visit our page for sustaining members for details. Your support helps us fund our six monthly developer meetings, maintain project infrastructure and fund bug fixing efforts.
QGIS is Free software and you are under no obligation to pay anything to use it – in fact we want to encourage people far and wide to use it regardless of what your financial or social status is – we believe empowering people with spatial decision making tools will result in a better society for all of humanity.
-
21:57
Martin Davis: Fast Coverage Union in JTS
sur Planet OSGeoThe next operation delivered in the build-out of Simple Polygonal Coverages in the JTS Topology Suite is Coverage Union. This is simply the topological union of a set of polygons in a polygonal coverage, producing one or more polygons as the result. (This is sometimes called "dissolve" in the context of polygonal coverages.)
Union of polygons has long been available in JTS, most recently (and robustly) as the UnaryUnion capability of OverlayNG. This makes use of the Cascaded Union technique to provide good performance for large sets of polygons. But the constrained structure of polygonal coverages means unions can be computed much faster than even Cascaded Union. Essentially, the duplicated inner edges of adjacent polygons are identified and discarded, leaving only the outer boundary of the unioned area. Because a valid polygonal coverage has edges which match exactly, identifying duplicate segments can be done with a fast equality test. Also, there is no need for computationally-expensive techniques to ensure geometric robustness.
This is now available in JTS as the CoverageUnion class.
PerformanceTo test the performance of Coverage Union we need some large clean polygonal coverages. These are nicely provided by the GADM repository of worldwide administrative areas.
Here is some metrics comparing the performance of Coverage Union against OverlayNG Unary Union (which uses the Cascaded Union technique). Coverage Union is much faster for all sizes of dataset.
Dataset Polygons Vertices Coverage Union OverlayNG Union Times Faster France level 4 3,728 407,102 0.3 s 8.5 s 28 x France level 5 36,612 729,573 1.07 s 13.9 s 13 x Germany level 4 11,302 2,162,184 0.68 s 27.3 s 40 x
Union by AttributeIt's worth noting that unioning a set of polygons in a coverage leaves the boundary of the unioned area perfectly unchanged. So subsets of a coverage can be unioned, and the result still forms a valid polygonal coverage. This provides a fast Union by Attribute capability, which is a common spatial requirement.
GEOS and PostGIS
GEOS already supports a GEOSCoverageUnion operation. At some point it would be nice to expose this in PostGIS, most likely as a new aggregate function (perhaps ST_UnionCoverage).
-
16:35
Stefano Costa: I libri che ho letto nel 2022
sur Planet OSGeoE vai, quest’anno la lista è più lunga. Ho letto di più, mi sono dedicato più assiduamente alla lettura in molti momenti dell’anno. Arrivato a fine anno i libri che ho letto a gennaio mi sembrano ricordi di un passato remoto!
The short comments are half in Italian and half in English for no good reason, it’s just how I happened to write them down.
Elena Ferrante, Storia del nuovo cognome. Storia di chi fugge e chi resta. Storia della bambina perdutaNon ho veramente niente di intelligente da dire. In questi libri c’è tutto, ogni persona che vive o passa dall’Italia dovrebbe leggerli, soprattutto per il femminismo ma anche per tutto il resto.
Elena Ferrante, La vita bugiarda degli adultiVery convincing, as reminiscing as it can be of “L’amica geniale” series that I read last year. The reel of emotions, high and low, the teenager protagonist goes through is both familiar to me and firmly foreign – because it is centered on female bodies and experiences of trauma.
Tina Merlin, Sulla pelle viva
Naples is the permanent background, even though it’s mostly in a dualistic perspective of rich versus poor parts of the city.
I’m so happy that there are more books by Elena Ferrante I yet have to read.
(I was going to write something totally different in Italian, but out of respect for the nice people here I forced myself to write in English.. the short comment above is not bad, just different from what I had in mind)Un libretto pesante come una montagna. Una denuncia feroce, umana, precisa di chi ha scelto di mandare a morire una valle intera con i suoi abitanti. Un documento storico importantissimo che ripete in modo innegabile chi sono stati e chi sono i maledetti infami di cui l’Italia deve liberarsi ancora oggi.
James Ellroy, La collina dei suicidiI postponed reading this book for several months because even the title made me uneasy.
The third book about Lloyd Hopkins is more violent than the previous two. It’s less about complex thought processes and understanding the mind of a criminal, and more about swimming in a dark pool filled with corpses old and new. Enemies of the protagonist are now almost all other members of the Police department.
Igiaba Scego, La linea del colore
In a sense it’s more human than previous books, perhaps because Lloyd finally stops being a sexual predator.Bellissimo, denso, multiforme, metaletterario, femminista, e infine tipograficamente appagante.
Il “making of” conclusivo è una ulteriore prova della grandissima Igiaba Scego. Mi stupisce che non ci sia scritta la parola “intersezionalità” nonostante il libro ne sia densamente intriso.
Andrea Campanella, Gli «eroi» sono finitiMai giudicare un libro dalla copertina. Questo libretto comprato usato a 1 € mi ha fatto esplorare un cliché letterario già noto in autori ben più blasonati, quello dei fascisti che proseguono a fare i loro sporchi traffici dopo la fine della guerra. È un cliché ma anche una verità storica che qui si mescola a un poliziottesco non male. Tutto ambientato in Liguria, che un po’ ci vuole.
Claudio Bo, BalbiquattroLettura abbastanza pesante, sia per il linguaggio ricercato e merlettato sia per la ripetitività del discorso, ma qualche passaggio gradevole nella scoperta dei luoghi del protagonista. Francamente imbevibile tutto il resto, per quanto probabile genuina memoria romanzata del periodo.
Marguerite Duras, L’amanteLa brevità fa di questo libro un coltello ancora più affilato. La crudeltà di tutto è immensa, dalla famiglia, all’amore impossibile, al dominio coloniale, all’impossibilità di conunicare alla tragica morte dell’immortalità.
Armando d’Amaro, Genova indagine sotto le bombeUn altro giallo Frilli, questo un po’ meno pretenzioso ma comunque aveva così tanti elementi che mi tornavano familiari che ho pensato persino di regalarlo a una collega: Genova, il finalese e le sue grotte, le campane, il funzionario della Soprintentendenza.
Abdulrazak Gurnah, Sulla riva del mareNon c’è molto da dire sul libro scritto da un premio Nobel. Ma mi sento di dire che ho scoperto un altro ruscello di letture a cui attingerò nei prossimi anni. Anche questo è un libro africano, anche questo ibrido, figlio di due continenti. C’è un passaggio sull’archeologia, che ho condiviso con un gruppo di amic?, con loro grande diletto per la finezza con cui descrive quello che cerchiamo di capire:
Ma, pur sbiadite e incrostate, restano tuttavia tante linee, che sembrano frammenti ancora più scarsi del tutto: un lampo caldo nell’occhio quando la faccia è scomparsa, un odore che richiama una musica dalla melodia inafferrabile, il ricordo di una stanza quando la casa e la sua ubicazione sono ormai dimenticate, un pascolo vicino alla strada in mezzo al nulla. Così il tempo smembra le immagini del nostro tempo. O, per dirla in maniera archeologica, è come se i dettagli della nostra vita si fossero accumulati a strati e adesso alcuni strati fossero stati portati via dalla frizione di altri avvenimenti e pezzi di materiali a caso restassero ancora, qua e là, senza ordine.
This book starts throwing so many things in your face at once: geography, family, rape. It’s pleasantly out of my comfort zone (?!). I’ve heard it’s a bit different from Marklund’s other books. Ultimately it’s a hymn to infinite love, travel and Ken Follett.
Chimamanda Ngozi Adichie, Metà di un sole gialloHo letto finalmente “Metà di un sole giallo” di Chimamanda Ngozi Adichie. Era da diversi anni che era nella lista dei libri da leggere, più o meno da quando ho letto per la prima volta Chinua Achebe. Un paio di anni fa avevo solo letto un suo saggio che si chiama “Dovremmo essere tutti femministi”.
Questo libro è maestoso. I protagonisti sono i personaggi principali e sembra in certe parti della loro storia che riescano a controllare eventi più grandi, sulla scia dell’entusiasmo politico, dell’amore, dell’amicizia. L’impianto cronologico, con la sua alternanza tra il prima e il dopo, mi ha suscitato un sentimento di attesa e compassione per quegli eventi di cui già conoscevo per sommi capi il seguito. Ma tra i sommi capi si annidano molte storie, fatte di debolezze, di tradimenti, di incredibile generosità. E quelle danno trama e senso a tutto il romanzo.
La vicenda storica del Biafra è di quelle molto conosciute ma di cui, in maniera impeccabile nello stesso libro è scritto, siamo più abituati a conoscere le immagini che hanno reso famosi i fotografi che non le persone, tutte quelle morte e tutte quelle sopravvissute.
Il libro ha una sottotraccia molto esplicita, ovvero la scrittura stessa. Come si fa a scrivere di una guerra così atroce? Chi può essere in grado di scriverne? La risposta sembra essere: solo chi ne ha attraversato di persona le atrocità in prima persona. E la figura di Ugwu, che ho trovato in assoluto la più tragica, è proprio quella che sembra dare maggiore senso alla storia. La scomparsa nei capitoli finali, senza soluzione, è un elemento di angoscia difficile da dimenticare.
Chimamanda Ngozi Adichie, AmericanahThere are separate parts of this book that have their own identity. When reading through the final chapters I wondered if this was really the same book I had started a few weeks earlier. This is to say, the protagonists have a powerful way of growing up and becoming something different as the story progresses.
What stuck with me the most was how Ifemelu was “not Black” until she arrived in the USA.
Mariama Bâ, Amica miaTrovo ogni tanto dei libri negli scaffali dei miei suoceri che prendo in prestito per la lettura, e scopro autrici che hanno un posto importante nella letteratura mondiale. Questo libro è uno di quelli.
The writing is plain and moves forward slow and easy, but don’t be deceived. Each page is like a heavy stone, a new turn of the “plot”. The narrator sits, mourning and yet powerful thanks to her own writing.
Each page until the very end is so strong and deeply ties together the personal sphere and the political. The pregnancy of the young daughter of Ramatulaye is the final step in this woman’s liberation journey away from traditional roles and preconceptions.
-
11:22
GeoSolutions: GeoNode 4.0.3 is out
sur Planet OSGeoYou must be logged into the site to view this content.
-
21:36
QGIS Blog: Getting ready for our user conference and contributor meeting in ‘s-Hertogenbosch
sur Planet OSGeoIn a few weeks, our 25th Contributor Meeting and International QGIS User Conference uc2023.qgis.nl will take off on 18 April.
Register or become a speaker yourself. For details on all the exciting opportunities to get involved, check out the introduction by our awesome organizing team:
-
16:09
Sean Gillies: Bò kho sandwich
sur Planet OSGeoLast might I cooked thit bò kho, an aromatic beef stew, from the recipe in Mai Pham's "Pleasures of the Vietnamese Table". The process starts with making colorful annatto-infused oil. The red-orange color is provided by caratenoid compounds named bixin and norbixin. Annatto pigment has long been used to color cheeses, junk food, and other things.
Bright red annatto-infused oil
This morning I put leftovers on a roll and sprinkled it with cilantro, mint, onion, and stewing juice. It's a very satisfying breakfast sandwich.
Stewed beef and carrots with herbs on a roll
I played with the "food" setting on my new phone's camera and got some colorful, but flawed photos. The setting has a limited focus area that I haven't learned to drag around properly.
-
1:44
Narcélio de Sá: SiBCS – Simbologias para mapas pedológicos no QGIS
sur Planet OSGeoA Embrapa Solos lançou a 5ª edição do Sistema Brasileiro de Classificação de Solos (SiBCS), resultado de um esforço conjunto de pesquisadores de diversas instituições brasileiras. A obra oferece uma estrutura de trabalho composta por um Comitê-Executivo Nacional assessorado por colaboradores regionais e núcleos locais de discussão das áreas de gênese, morfologia e classificação de solos. A Pedologia, disciplina que estuda os solos, vem ganhando interesse renovado no Brasil e no mundo, devido à importância do recurso solo em todas as questões de produção de alimentos, fibras e energia, mudanças climáticas e sustentabilidade ambiental.
O SiBCS é um sistema próprio para a classificação dos solos brasileiros, criado a partir dos primeiros levantamentos de solos sistemáticos realizados no Brasil nas décadas de 1950 e 1960. Os solos tropicais brasileiros apresentam peculiaridades que não eram totalmente contempladas nos sistemas existentes, desenvolvidos para outras condições climáticas e de terreno.
O documento nos apresenta uma tabela com as cores, nos sistemas PANTONE, CMYK e RGB, que deve ser utilizadas no mapeamento pedológico de todo o Brasil, considerando o Sistema Brasileiro de Classificação de Solos. Trata-se de uma tentativa de padronização das classes de solo, de forma que os mapas não fiquem sobrecarregados e, assim, não prejudiquem a compreensão das informações apresentadas.
Para facilitar o uso dessa simbologia para mapeamento pedológico eu tomei a liberdade de criar um arquivo .xml com os dados dos estilos de cores retirados da tabela do Sistema Brasileiro de Classificação de Solos. Esse arquivo, que pode ser facilmente importado para o QGIS, carrega as informações de todas as classes de solo e suas respectivas simbologias agregando os símbolos à biblioteca do software.
Faça o download Simbologias do SiBCS para mapas pedológicos no QGIS.A instalação de uma nova simbologia no QGIS é bem simples, basta seguir os seguintes passos:
- Faça o Download do arquivo:“SiBCS-2018.xml”
- Feito o download do arquivo, abra o QGIS e abra a aba Configurações > Gerenciador de Estilos > procure o botão Compartilhar > Importar
- Navegue até a pasta onde se encontra o arquivo “SiBCS-2018.xml” que você baixou.
- Feito isso você verá todas as novas simbologias que serão adicionadas a biblioteca do QGIS. Clique na opção selecionar tudo e depois em importar.
Pronto agora você tem todas as classes de solo e suas respectivas simbologias no seu QGIS, agora é só começar a mapear.
A Embrapa também disponibiliza um arquivo de estilo de cores, padronização de legenda do mapa de solos do Brasil 1:5.000.000, arquivo compatível com o Sistema de Informação Geográfica (SIG) QGIS, padrão de cores baseado no Sistema Brasileiro de Classificação de Solos (SiBCS) e a publicação de 2011, onde foram destacados com hachura as classes de solos eutróficas.
Acesse em: [geoinfo.cnps.embrapa.br]Fonte: EMBRAPA SOLOS
Para mais tutorias de QGIS como esse acesse: [https:]]
O que vocês acharam deste tutorial
SiBCS - Simbologias para mapas pedológicos no QGIS ?Aguardo seus comentários, dicas e sugestões.
Faça uma doação para o canal via Picpay: https://app.picpay.com/user/narceliodesa
Ou faça uma doação via PIX: narceliosapereira@gmail.com
Nos siga em todas as plataformas: https://linktr.ee/narceliodesa
Contato comercial: narceliosapereira@gmail.com
The post SiBCS – Simbologias para mapas pedológicos no QGIS appeared first on Narcélio de Sá.
-
0:05
Adam Steer: Open for business in Australia
sur Planet OSGeoAfter two and a half years in Norway, I’m back in Australia and open for new clients and projects! Right now I’m based in northeastern Victoria, moving around a bit in the Bright / Wodonga / Wangaratta region. I’m also still applying for permament / full time roles – because a reality of the Australian… Read More »Open for business in Australia -
17:57
Free and Open Source GIS Ramblings: Tracking geoprocessing workflows with QGIS & DVC
sur Planet OSGeoToday’s post is a geeky deep dive into how to leverage DVC (not just) data version control to track QGIS geoprocessing workflows.
“Why is this great?” you may ask.
DVC tracks data, parameters, and code. If anything changes, we simply rerun the process and DVC will figure out which stages need to be recomputed and which can be skipped by re-using cached results.
This can lead to huge time savings compared to re-running the whole model
You can find the source code used in this post on my repo [https:]]
I’m using DVC with the DVC plugin for VSCode but DVC can be used completely from the command line, if you prefer this appraoch.
Basically, what follows is a proof of concept: converting a QGIS Processing model to a DVC workflow. In the following screenshot, you can see the main stages
- The QGIS model in the upper left corner
- The Python script exported from the QGIS model builder in the lower left corner
- The DVC stages in my
dvc.yaml
file in the upper right corner (And please ignore the hello world stage. It’s a left over from my first experiment) - The DVC DAG visualizing the sequence of stages. Looks similar to the QGIS model, doesn’t it ;-)
Besides the stage definitions in
dvc.yaml
, there’s a parameters file:random-points: n: 10 buffer-points: size: 0.5
And, of course, the two stages, each as it’s own Python script.
First,
random-points.py
which reads therandom-points.n
parameter to create the desired number of points within the polygon defined inqgis3/data/test.geojson
:import dvc.api from qgis.core import QgsVectorLayer from processing.core.Processing import Processing import processing Processing.initialize() params = dvc.api.params_show() pts_n = params['random-points']['n'] input_vector = QgsVectorLayer("qgis3/data/test.geojson") output_filename = "qgis3/output/random-points.geojson" alg_params = { 'INCLUDE_POLYGON_ATTRIBUTES': True, 'INPUT': input_vector, 'MAX_TRIES_PER_POINT': 10, 'MIN_DISTANCE': 0, 'MIN_DISTANCE_GLOBAL': 0, 'POINTS_NUMBER': pts_n, 'SEED': None, 'OUTPUT': output_filename } processing.run('native:randompointsinpolygons', alg_params)
And second,
buffer-points.py
which reads thebuffer-points.size
parameter to buffer the previously generated points:import dvc.api import geopandas as gpd import matplotlib.pyplot as plt from qgis.core import QgsVectorLayer from processing.core.Processing import Processing import processing Processing.initialize() params = dvc.api.params_show() buffer_size = params['buffer-points']['size'] input_vector = QgsVectorLayer("qgis3/output/random-points.geojson") output_filename = "qgis3/output/buffered-points.geojson" alg_params = { 'DISSOLVE': False, 'DISTANCE': buffer_size, 'END_CAP_STYLE': 0, # Round 'INPUT': input_vector, 'JOIN_STYLE': 0, # Round 'MITER_LIMIT': 2, 'SEGMENTS': 5, 'OUTPUT': output_filename } processing.run('native:buffer', alg_params) gdf = gpd.read_file(output_filename) gdf.plot() plt.savefig('qgis3/output/buffered-points.png')
With these things in place, we can use dvc to run the workflow, either from within VSCode or from the command line. Here, you can see the workflow (and how dvc skips stages and fetches results from cache) in action:
If you try it out yourself, let me know what you think.
-
15:56
Marco Bernasocchi: New QGIS Courses dates Spring 2023
sur Planet OSGeoWe published our new dates for this springs QGIS online courses.
The courses last two days (9:00 a.m. – 5:00 p.m.) and cost 990 CHF per person. As in our in-person courses, we limit our instructor to participant ratio to a maximum of 6 participants for one instructor and two instructors for 7 to 12 participants.
Subsribe now -
15:53
Marco Bernasocchi: Cours QGIS avancé, Lausanne 28.04./03.05.2023
sur Planet OSGeoInscriptionLe cours se déroule sur 2 jours (9:00 – 17:00) et coûte 990 CHF par personne (dîner et certificat inclus). Un enseignant sera prévu pour un maximum de 6 personnes et 2 enseignants pour 7 à 12 personnes.
DescriptionA l’issue de ce cours, les participants seront en mesure de mettre en œuvre des projets complexes avec QGIS. Ils connaitront les propriétés de différents formats de données tels que Postgis et GeoPackage, seront capables de configurer des workflows pour le traitement de géodonnées avec des outils de geotraitement, de créer des impression au moyen de mises en page, d’importer/exporter des données Interlis et d’utiliser des outils de dessin pour la construction. Ils pourront également écrire des expressions et connaitront leur emplacement dans QGIS.
Programme jour 1
A la fin du cours, du temps sera réservé aux questions individuelles.- Versions de QGIS, processus de développement et organisation
- Plugins QGIS importants
- Échange de données avec des GeoPackages
- Expressions, leur structure et leur lieu d’utilisation
- Configuration de QGIS et utilisation de profils
- Utilisation de certains fonds de plan (entre autres QuickMapServices, Vector Tiles), impression, etc.
- Édition et travail efficaces avec la base de données PostGIS (entre autres Views)
- Vérifier et exporter vers Interlis
- Construire des workflows avec des outils de traitement et la modélisation graphique.
- Gestionnaire de base de données
- Informations concernant la collaboration avec QGIS
Connaissances de base de QGIS [https:]] . Correspond à un cours pour débutants. Des connaissances de base en matière de base de données sont un avantage.
Certification
Aucune connaissance en programmation n’est nécessaire.Ce cours est organisé par un organisme reconnu par QGIS. La certification des participants est incluse dans le prix du cours.
LogicielInstallation de QGIS pour Windows, macOS ou Linux https://download.qgis.org
- Nous utilisons la dernière version LTR 3.22
- Aucun plugin ne doit être préinstallé.
-
14:55
Marco Bernasocchi: Cours QGIS de base Lausanne, 05.04./26.04.2023
sur Planet OSGeoLe cours se déroule sur 2 jours (9:00 – 17:00) et coûte 990 CHF par personne (dîner et certificat inclus). Un enseignant sera prévu pour un maximum de 6 personnes et 2 enseignants pour 7 à 12 personnes.
DescriptionÀ l’issue de ce cours, les participants connaîtront les principales fonctions de QGIS Desktop, logiciel open source SIG et seront capables d’importer et d’analyser des données, de créer une carte avec une mise en page professionnelle et de saisir des objets avec des attributs et des géométries vectorielles.
Programme jour 1- Introduction
- À propos du projet QGIS
- Présentation de l’interface utilisateur
- Extensions
- Sources de données, formats de données et services web
- Gérer les données dans le projet
- Configuration du formulaire d’attributs
- Symbologie et etiquettes
- Expressions simples
- Sélection et filtres
- Table d’attributs, calculateur de champs, champs virtuels
- Couches temporaires
- Saisie et édition des géométries et attributs
- Introduction outils de traitements
- Analyse simple de données vecteurs
- Mise en page avec le composeur d’impression
Connaissance de base des SIG (par exemple, le terme “couche”) et des bases de données (par exemple, le terme “type de données” avec nombre entier/nombre/date/chaîne/booléen).
CertificationCe cours est organisé par un organisme reconnu par QGIS. La certification des participants est incluse dans le prix du cours.
LogicielInstallation de QGIS pour Windows, macOS ou Linux [https:]]
- Nous utilisons la dernière version LTR disponible.
- Aucun plugin ne doit être préalablement installé.
-
21:40
GeoTools Team: GeoTools 28.2 Released
sur Planet OSGeoThe GeoTools team is pleased to share the availability GeoTools 28.2 : geotools-28.2-bin.zip geotools-28.2-doc.zip geotools-28.2-userguide.zip geotools-28.2-project.zip This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.22.2 and GeoWebCache 1.22.1. Fixes and improvements Security Advisory CVE-2023-25158OGC Filter SQL Injection -
21:31
GeoTools Team: GeoServer 28.1 Released
sur Planet OSGeoThe GeoTools team is pleased to share the availability GeoTools 28.1 : geotools-28.1-bin.zip geotools-28.1-doc.zip geotools-28.1-userguide.zip geotools-28.1-project.zip This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.22.1 Fixes and improvements Bug GEOT-7077 ClientProperty of a top element not showing GEOT-7148 Bug in -
21:25
GeoTools Team: GeoTools 27.4 Released
sur Planet OSGeoThe GeoTools team is pleased to share the availability GeoTools 27.4 : geotools-27.4-bin.zip geotools-27.4-doc.zip geotools-27.4-userguide.zip geotools-27.4-project.zip This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.21.4 Fixes and improvements Security Advisories CVE-2023-25158OGC Filter SQL Injection Vulnerabilities GEOT-7302 -
1:00
Camptocamp: Camptocamp at FOSSGIS 2023
sur Planet OSGeoEnclosure: [download]
Camptocamp will join other geospatial professionals at the FOSSGIS conference in Berlin, Germany from March 15-18, 2023. -
4:11
Sean Gillies: Bear training week eight recap
sur Planet OSGeoWeek eight was a planned rest week. I spent four days traveling to San Francisco for work, took Friday off to decompress, did some heavier than usual weight training on Saturday, and went for windy, muddy, short run today.
1 hour, 26 minutes running
6.9 miles
856 ft D+
I only ran once in SF, up the Embarcadero and Telegraph Hill, but I did push hard on the steps to see where I'm at. I've been in better shape!
The hotel had bikes and I took one out on two different evenings. On St. Valentine's day I rode to a restaurant on Union Street and back, stopping at Fort Mason for some photos.
Golden Gate Bridge at dusk from Fort Mason
I will be running in earnest again next week.
-
1:00
GeoServer Team: OGC Filter Injection Vulnerability Statement
sur Planet OSGeoA vulnerability has located in the GeoTools Library that allows SQL Injection using OGC Filter and Function expressions.
- CVE-2023-25157 OGC Filter SQL Injection Vulnerabilities (GeoServer)
- CVE-2023-25158 OGC Filter SQL Injection Vulnerabilities (GeoTools)
If you wish to report a security vulnerability, see instructions on responsible reporting. We also welcome your direct financial support.
AssessmentSQL Injection Vulnerabilities have been found with:
PropertyIsLike
filter, when used with a String field and any relational database based Store, or with a PostGIS DataStore with encode functions enabled, or with any image mosaic with an index stored in a relational database.strEndsWith
function, when used with a PostGIS DataStore with encode functions enabledstrStartsWith
function, when used with a PostGIS DataStore with encode functions enabledFeatureId
filter, when used with any database table having a String primary key column and when prepared statements are disabledjsonArrayContains
function, when used with a String or JSON field and with a PostGIS or Oracle DataStore (GeoServer 2.22.0+ only)DWithin
filter, when used with an Oracle DataStore
We recommend upgrading. The following list of mitigations is addressing some of the issues (e.g., the
PropertyIsLike
issue has no mitigation for tables with a string field):- Disabling the PostGIS Datastore encode functions setting to mitigate
strEndsWith
,strStartsWith
(will cause severe slowdowns in parts of the WMTS multidimensional plugin functionality, if in use). - Enabling the PostGIS DataStore preparedStatements setting to mitigate the
FeatureId
vulnerability. - No mitigation is available for
PropertyIsLike
filter, you may choose to disable database DataStores until you are able to upgrade. - No mitigation is available for
DWithin
with Oracle DataStore, you may choose to disable Oracle DataStores until you are able to upgrade. - As a good practice to limit the attack surface, it’s important to give the database account used for connection pools the minimum required level of privileges (e.g., read-only unless WFS-T/importer/REST granule harvesting are used, access limited only to the schemas and tables needed for production usage)
Issues:
- GEOT-7302 Escape user inputs in SQL queries
- GEOS-10842 Escape user inputs in SQL queries
-
GEOS-10839 Add JDBC Configuration parameter to disable SQL comments and pretty-printing
A related issue with the community jdbc-config module.
Patched releases:
- GeoServer 2.22.2 stable release
- GeoServer 2.21.4 maintenance
- GeoServer 2.20.7
- GeoServer 2.19.7
- GeoServer 2.18.7
If you wish to volunteer to backport these fixes to other GeoServer series and make a release co-ordinate on the developers list. If you are not in a position to collaborate reach out to a commercial support provider to act on your behalf.
Thanks to Steve Ikeoka for responsibly reporting and fixing these issues. Thanks to Jody Garnett (GeoCat) for the stable and maintenance releases. Thanks to Andrea Aime (GeoSolutions) for back porting this fix to versions of GeoTools and GeoServer that are otherwise no longer receiving releases.
-
1:00
GeoServer Team: GeoServer 2.22.2 Release
sur Planet OSGeoGeoServer 2.22.2 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.2 and GeoWebCache 1.22.1.
This release was scheduled early to address a security vulnerability. Thanks to Jody Garnett for making this release on behalf of GeoCat Live.
Security ConsiderationsThis release addresses a security vulnerability and is considered an essential upgrade for production systems:
- CVE-2023-25158 OGC Filter SQL Injection Vulnerabilities (GeoTools)
- CVE-2023-25157 OGC Filter SQL Injection Vulnerabilities (GeoServer)
For more information see OGC Filter Injection Vulnerability Statement.
- GEOT-7302 Escape user inputs in SQL queries
- GEOS-10842 JDBCConfig: escape user inputs in SQL queries
- GEOS-10839 JDBCConfig: add JDBC Configuration parameter to disable SQL comments and pretty-printing
The Natural Earth
ne
workspace has been improved with 1:50m sample data offering the following:- improved detail
- country labels in multiple languages
- disputed regions
The
countries.sld
style includes the following:<sld:TextSymbolizer> <sld:Label> <ogc:Function name="Recode"> <ogc:Function name="language"/> <ogc:Literal/> <ogc:PropertyName>NAME</ogc:PropertyName> <ogc:Literal>en</ogc:Literal> <ogc:PropertyName>NAME</ogc:PropertyName> <ogc:Literal>it</ogc:Literal> <ogc:PropertyName>NAME_IT</ogc:PropertyName> <ogc:Literal>fr</ogc:Literal> <ogc:PropertyName>NAME_FR</ogc:PropertyName> </ogc:Function> </sld:Label>
To try this out in French append
&LANGUAGE=fr
to any GetMap request, including Layer Preview.These styles also now validate. Thanks to Jody Garnett (GeoCat) for this work.
- GEOS-10624 Data directory and documentation update
- GEOS-10836 The demo styles in “ne” workspace do not validate
The welcome page loading is now limited to a short amount of time to retrieve the list of workspaces and layers to select from. For large catalogues, with lots of security restrictions, that are unable to respond in this time, a simple text field is provided.
To force the use of a simple text field the property
GeoServerHomePage.selectionMode=TEXT
can be used. UseDROPDOWN
to force a selection control to be used, orAUTOMATIC
to determine the behaviour based on catalogue performance as described above.The default time out
GeoServerHomePage.selectionTimeout=5000
for interaction can be adjusted if you would like to provide the catalogue more time to respond.By default
GeoServerHomePage.selectionMaxItems=1000
workspaces or layers can be loaded. This number may be limited further if you find browser performance is affected.Thanks to Andrea (GeoSolutions) for these performance improvements, and Jody Garnett for a number of smaller fixes.
-
GEOS-10833 GeoServerHomePage unresponsive against large catalogs
-
GEOS-10759 Welcome page unreachable with large / slow catalogue configuration
-
GEOS-10838 Speed up DefaultResourceAccessManager securityFilter implementation
-
GEOS-10834 Catalog.list might require a lot of time due to security filtering
-
GEOS-10847 Selecting a raster layer in home page shows incorrect services
-
GEOS-10861 Welcome blurb i18n not respecting language switch
OGC API updates:
-
GEOS-10860 OGC API should return version including minor and patch in HTTP Response Header
-
GEOS-10828 OGC API - Features - Plugin breaks core `/rest` API with JSON payloads
The JDBC Config module received several important fixes:
-
GEOS-10814 Update jdbc config to use consistent SQL formatting
-
GEOS-10813 jdbc config cache bug
-
GEOS-10829 JDBC Config missing some nested layer properties
-
GEOS-10842 Escape user inputs in SQL queries
Improvement:
- GEOS-10851 GWC S3 Blobstore Parameters Get Converted back to plain text after an application restart
Bug:
-
GEOS-7506 shutdown.bat cannot run without JAVA_HOME set
-
GEOS-10689 OSHISystemInfoCollector holds non daemon threads, prevents clean shutdown of Tomcat
-
GEOS-10846 Enable auto-escaping for REST HTML templates
Task:
-
GEOS-10683 FileWrapperResourceTheoryTest fails on Windows since Java 11
-
GEOS-10848 Column remarks documentation should be updated to reflect that functionality is supported with JNDI
For complete information see 2.22.2 release notes.
About GeoServer 2.22Additional information on GeoServer 2.22 series:
- Update Instructions
- Metadata extension
- CSW ISO Metadata extension
- State of GeoServer (FOSS4G Presentation)
- GeoServer Beginner Workshop (FOSS4G Workshop)
- Welcome page (User Guide)
Release notes: ( 2.22.2 | 2.22.1 | 2.22.0 | 2.22-RC | 2.22-M0 )
-
1:00
GeoServer Team: GeoServer 2.21.4 Release
sur Planet OSGeoGeoServer 2.21.4 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a maintenance release of the GeoServer 2.21.x series, made in conjunction with GeoTools 27.4 and GeoWebCache 1.21.4.
Thanks to Jody Garnett (GeoCat) for making this release.
Security ConsiderationsThis release addresses a security vulnerability and is considered an essential upgrade for production systems:
- CVE-2023-25158 OGC Filter SQL Injection Vulnerabilities (GeoTools)
- CVE-2023-25157 OGC Filter SQL Injection Vulnerabilities (GeoServer)
For more information see OGC Filter Injection Vulnerability Statement.
- GEOT-7302 Escape user inputs in SQL queries
- GEOS-10842 JDBCConfig: escape user inputs in SQL queries
- GEOS-10839 JDBCConfig: add JDBC Configuration parameter to disable SQL comments and pretty-printing
The JDBC Config module received several important fixes:
-
GEOS-10814 Update jdbc config to use consistent SQL formatting
-
GEOS-10813 jdbc config cache bug
-
GEOS-10829 JDBC Config missing some nested layer properties
-
GEOS-10842 JDBCConfig: escape user inputs in SQL queries
Bug:
-
GEOS-7506 shutdown.bat cannot run without JAVA_HOME set
-
GEOS-10683 FileWrapperResourceTheoryTest fails on Windows since Java 11
-
GEOS-10689 OSHISystemInfoCollector holds non daemon threads, prevents clean shutdown of Tomcat
-
GEOS-10807 LayerGroup with nested group POST rest op fails with null styles attribute
-
GEOS-10817 Features Templating - XML HTML output doesn’t escape all html and xml symbols
-
GEOS-10818 Schemaless Property Accessor returns emptylist instead of null for null/not existing properties
-
GEOS-10846 Enable auto-escaping for REST HTML templates
Improvement:
-
GEOS-10816 OGC API Features complex features test fails since introduction of tag in HTML templates
-
GEOS-10848 Column remarks documentation should be updated to reflect that functionality is supported with JNDI
-
GEOS-10851 GWC S3 Blobstore Parameters Get Converted back to plain text after an application restart
For complete information see 2.21.4 release notes.
About GeoServer 2.21Additional information on GeoServer 2.21 series:
Release notes: ( 2.21.4 | 2.21.3 | 2.21.2 | 2.21.1 | 2.21.0 | 2.21-RC )
-
1:00
GeoServer Team: GeoServer 2.20.7 Released
sur Planet OSGeoGeoServer 2.20.7 release is available with downloads (bin, war, windows), along with docs and extensions.
This series has previously reached end-of-life, with release being issued to address a urdent security vulnerability. Please apply this upgrade as a mitigation measure only. Upgrade to 2.22.x series for community support.
Thanks to Andrea Aime (GeoSolutions) for making this update available on behalf of the GeoNode project.
This release was made in conjunction with GeoTools 26.7.
Security ConsiderationsThis release addresses a security vulnerability and is considered an essential upgrade for production systems:
- CVE-2023-25158 OGC Filter SQL Injection Vulnerabilities (GeoTools)
- CVE-2023-25157 OGC Filter SQL Injection Vulnerabilities (GeoServer)
For more information see OGC Filter Injection Vulnerability Statement.
- GEOT-7302 Escape user inputs in SQL queries
- GEOS-10842 JDBCConfig: escape user inputs in SQL queries
- GEOS-10839 JDBCConfig: add JDBC Configuration parameter to disable SQL comments and pretty-printing
For the full list of fixes and improvements, see 2.20.7 release notes.
About GeoServer 2.20Additional information on GeoServer 2.20 series:
- Log4J2 zero day vulnerability assessment
- Internationalization of title and abstract
- State of GeoServer 2.20 edition
- Windows Installer
Release notes: ( 2.20.7 | 2.20.6 | 2.20.5 | 2.20.4 | 2.20.3 | 2.20.2 | 2.20.1 | 2.20.0 | 2.20-RC )
-
1:00
GeoServer Team: GeoServer 2.19.7 Released
sur Planet OSGeoGeoServer 2.19.7 release is now available with downloads (bin, war, windows), along with docs and extensions.
This series has previously reached end-of-life, with an extra maintenance release being issued to address an urgent security vulnerability. Please apply this upgrade as a mitigation measure only. Upgrade to 2.22.x series for community support.
Thanks to Andrea Aime (GeoSolutions) for making this update available on behalf of GeoSolutions customers.
This release was made in conjunction with GeoTools 25.7.
Security ConsiderationsThis release addresses a security vulnerability and is considered an essential upgrade for production systems:
- CVE-2023-25158 OGC Filter SQL Injection Vulnerabilities (GeoTools)
- CVE-2023-25157 OGC Filter SQL Injection Vulnerabilities (GeoServer)
For more information see OGC Filter Injection Vulnerability Statement.
- GEOT-7302 Escape user inputs in SQL queries
- GEOS-10842 JDBCConfig: escape user inputs in SQL queries
- GEOS-10839 JDBCConfig: add JDBC Configuration parameter to disable SQL comments and pretty-printing
For more information see 2.19.7 release notes.
About GeoServer 2.19Additional information on GeoServer 2.19 series:
- Jiffle and GeoTools RCE vulnerabilities
- Log4J2 zero day vulnerability assessment
- WMS GetFeatureInfo includes labels from ColorMap
- Promote WMTS multidim to extension
- Promote WPS-Download to extension
- Promote params-extractor to extension
- Promote GWC-S3 to extension
- Promote WPS-JDBC to extension status
- Promote MapML to extension status
- GeoServer repository transition to main branch
Release notes ( 2.19.7 | 2.19.6 | 2.19.5 | 2.19.4 | 2.19.3 | 2.19.2 | 2.19.1 | 2.19.0 | 2.19-RC )
-
1:00
GeoServer Team: GeoServer 2.18.7 Released
sur Planet OSGeoGeoServer 2.18.7 release is now available with downloads (bin, war, windows), along with docs and extensions.
This series has previously reached end-of-life, with an extra maintenance release being issued to address an urgent security vulnerability. Please apply this upgrade as a mitigation measure only. Upgrade to 2.22.x series for community support.
Thanks to Andrea Aime (GeoSolutions) for making this update available on behalf of GeoSolutions customers.
This release was made in conjunction with GeoTools 24.7.
Security ConsiderationsThis release addresses a security vulnerability and is considered an essential upgrade for production systems:
- CVE-2023-25158 OGC Filter SQL Injection Vulnerabilities (GeoTools)
- CVE-2023-25157 OGC Filter SQL Injection Vulnerabilities (GeoServer)
For more information see OGC Filter Injection Vulnerability Statement.
- GEOT-7302 Escape user inputs in SQL queries
- GEOS-10842 JDBCConfig: escape user inputs in SQL queries
- GEOS-10839 JDBCConfig: add JDBC Configuration parameter to disable SQL comments and pretty-printing
For more information see 2.18.7 release notes.
About GeoServer 2.18Additional information on GeoServer 2.18 series:
- Jiffle and GeoTools RCE vulnerabilities
- Log4J2 zero day vulnerability assessment
- State of GeoServer 2.18 (slides)
-
GeoServer Orientation (slides video)
Release Notes ( 2.18.7 | 2.18.6 | 2.18.5 | 2.18.4 | 2.18.3 | 2.18.2 | 2.18.1 | 2.18.0 | 2.18-RC )
-
12:21
From GIS to Remote Sensing: Remotior Sensus: a Basic Tutorial
sur Planet OSGeoThis is a very basic tutorial about Remotior Sensus, a Python package that allows for the processing of remote sensing images and GIS data.
It describes the main features of Remotior Sensus, such as the management of raster bands.Moreover, it includes the download of a Sentinel-2 image, the calculation of NDVI, and a tool to manage tables is presented. Also, the user manual is available at [https:]] . Read more » -
22:16
From GIS to Remote Sensing: Remotior Sensus: Released the User Manual
sur Planet OSGeoThe first version of the user manual of Remotior Sensus (a Python package that allows for the processing of remote sensing images and GIS data) has been released.
The user manual is available at [https:]] .This is of course still in early development, and not all the functions are completely described.However, most descriptions of the tools are included, also with code examples.
At the moment, the available tools are:- band calc
- band classification
- band combination
- band dilation
- band erosion
- band mosaic
- band neighbor pixels
- band pca
- band sieve
- cross classification
- download products
- preprocess products
- raster reclassification
- raster report
- raster to vector
-
10:00
QGIS Blog: Status Update on 2023 Crowd-Funding
sur Planet OSGeoAn amazing 30 new sustaining members have already answered our crowd-funding call raising total member contributions to €158,000 annually.
We are particularly happy to welcome our first medium-level university sustaining member, the University of Zurich, Department of Geography:
New medium sustaining members
Institut Dr. Nowak GmbH, Germany
Bohannan Huston, New Mexico, USA
University of Zurich, Department of Geography
Idrostudi srl, Italy
New small sustaining members
- Pacific Geomatics Limited, Canada
- Helix Resources Limited, Australia
- Sand Hill Geographic, Virginia, United States
- GIS Pro Western Australia
- The Spatial Distillery Company, Victoria, Australia
- Qwast-GIS, The Netherlands
- CEICOL, Colombia
- QGIS user group Norway
- Robex resources, Quebec, Canada
- analyGIS GmbH, Switzerland
- CartoExpert, France
- addresscloud, UK
- Baugeologie und Geo-Bau-Labor AG, Switzerland
- Spatial Thoughts, India
- Centremaps, UK
- Geoideal, Colombia
- theworksLA, California, United States
- SoftWater s.r.l., Italy
- menz umweltplanung,Germany
- Oy Arbonaut Ltd, Finland
- ZevRoss Spatial Analysis, New York, United States
- Ecophylla Consulting, Ontario, Canada
- DeBeer&DeVos BV, Belgium
- Reuther NetConsulting, Germany
- H13, Denmark
- Rockwater Pty Ltd, Australia
Even with this impressive list of new members, we also realize that we have not reached the campaign goals yet and that potential large and flagship members may need more time to respond.
Our funding progress so far:
Therefore, we are extending the campaign until the end of March 2023.
Become a sustaining member or donor. Every contribution counts.
-
19:18
QGIS Blog: Plugin Update January 2023
sur Planet OSGeoThis month has been busy with 20 new plugins in the QGIS plugin repository.
Since it can be challenging to stay up to date, our monthly plugin update provides 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.
ThreePointMethod Determine the orientation of geological surfaces using the three-point vector method. japanGeology3 japanGeology3 CartoDruid Synchronizer Plugin to synchronize SQLite databases to Cartodruid Synchronization services at ITACyL eTracability Automatic Accountability Tracker This plugin adds automatic attributes to vector layers, that track who updated or created features, and when. MINDED FBA An automatic remote sensing tool for the estimation of flooded and burned areas. QKan Gruppe der QKan-Erweiterung(en) MAGIC Map Loader This plugin will open the DEFRA MAGIC Map service on the area of your map canvas Full MCE for Public Health Full Multicriteria Evaluation tool for Public Health Lat lon buffer This processing plugin makes a buffer in meters around lat lon point features Equi Processing Equidistance algorithme Qpip Qgis Pip Management Geo-Zone Check Germany UAS flight restriction checker for Germany NIB-ortofoto-prosjekt Henter alle ortofoto-prosjekt fra Norge i bilder (WMS) som ligger innafor et utsnitt. Kauko työkalut Kauko työkalut Plan Creator 3 Tool for creating a digital building model ?????????? ???????? ???????? ?????? ?????? Project Reports Plugin to generate reports (CSV and HTML) of properties and metadata about layers, fields and layouts of QGIS projects. Kartverket adresse-API This plugin fetches coordinates for Norwegian addresses using the Kartverket open adress-API SenseHawk QC This plugin will load and save SenseHawk projects needing quality check. Polygon from map extent A lightweight QGIS plugin to make a polygon from the current map extent. Equirectangular 360° Viewer Equirectangular and 360° streetview like image viewer -
0:40
From GIS to Remote Sensing: Remotior Sensus: Released a new Python package for image classification and GIS spatial analyses
sur Planet OSGeoI am very glad to announce the availability of a new Python package that I developed for image classification and GIS spatial analyses:Remotior Sensus
Remotior Sensus (which is Latin for “a more remote sense”) is a Python package that allows for the processing of remote sensing images and GIS data, which has the main objective to simplify the processing of remote sensing data through practical and integrated APIs that span from the download and preprocessing of satellite images to the postprocessing of classifications and GIS data. Basic dependencies are NumPy, SciPy for calculations, and GDAL for managing spatial data. Read more » -
15:00
GeoSolutions: Free Webinar: State of GeoServer, 2.22 Release
sur Planet OSGeoYou must be logged into the site to view this content.
-
3:36
Sean Gillies: Bear training week seven recap
sur Planet OSGeoI had jury duty on Tuesday, was sick Thursday and Friday, a light week.
4 hours running
18.5 miles
2,103 ft D+
Saturday I felt better and did an easy run with some strides. Today, Sunday, I did a hilly run at Lory State Park. Everything below my neck feels good, but my head is full of snot.
Frozen Horsetooth Reservoir in warm February sun
Next week I'll be in San Francisco for week. I'll be running, but nothing big.
-
3:50
Sean Gillies: Status
sur Planet OSGeoI turned out to be only a spare juror yesterday and was released, my duty done for the year.
Honestly, I think a trial by jury of your peers is a great idea, but also the whole process is run by people very invested in the status quo and who use a good amount of propaganda to keep us all feeling good about participating.