Related Plugins and Tags

QGIS Planet

A big thank you to Roger Bivand!

The GRASS GIS community recognises the long-term contributions of Roger Bivand for the development of the rgrass package.

The post A big thank you to Roger Bivand! appeared first on Markus Neteler Consulting.

[Blog] 2024 - Year in review

Explore Mergin Maps' 2024 highlights: app redesigns, new features like Editor permissions, and a preview of what's coming in 2025!

Urban Mobility Insights with MovingPandas & CARTO in Snowflake

Today, I want to point out a blog post over at

https://carto.com/blog/urban-mobility-insights-with-movingpandas-carto-in-snowflake

written together with my fellow co-authors and EMERALDS project team member Argyrios Kyrgiazos.

For the technically inclined, the highlight are the presented UDFs in Snowflake to process and transform the trajectory data. For example, here’s a TemporalSplitter UDF:

CREATE OR REPLACE FUNCTION CARTO_DATABASE.CARTO.TemporalSplitter(geom ARRAY, t ARRAY, mode STRING)
RETURNS ARRAY
LANGUAGE PYTHON
RUNTIME_VERSION = 3.11
PACKAGES = ('numpy','pandas', 'geopandas','movingpandas', 'shapely')
HANDLER = 'udf'
AS $$
import numpy as np
import pandas as pd
import geopandas as gpd
import movingpandas as mpd
import shapely
from shapely.geometry import shape, mapping, Point, Polygon
from shapely.validation import make_valid
from datetime import datetime, timedelta

def udf(geom, t, mode):
    valid_df = pd.DataFrame(geom, columns=['geometry'])
    valid_df['t'] = pd.to_datetime(t)
    valid_df['geometry'] = valid_df['geometry'].apply(lambda x:shapely.wkt.loads(x))
    gdf = gpd.GeoDataFrame(valid_df, geometry='geometry', crs='epsg:4326')
    gdf = gdf.set_index('t')
    traj = mpd.Trajectory(gdf, 1)
    traj_sm = mpd.TemporalSplitter(traj).split(mode=mode)
    if len(traj_sm.trajectories)>0:
        res = traj_sm.to_point_gdf()
        res['geometry'] = res['geometry'].apply(lambda x: shapely.wkt.dumps(x))
        return res.reset_index().values
    else:
        return []
$$;

You can find the full code here: https://github.com/anitagraser/carto-research-public/tree/master/movingpandas_carto_in_snowflake

[Case Study] Managing mosquito populations with Mergin Maps

Discover how the MOSPREMA project, launched in 2022 in Czechia, uses open-source tools like Mergin Maps and PostgreSQL to monitor and manage mosquito populations. Learn how real-time data, sensors, and mapping technology improve efficiency for local municipalities.

Plugin Update – November, 2024

November was a really productive month, with a remarkable total of 43 new plugins published in QGIS plugin repository. In addition there are 3 more plugins from October listed here, which somehow were missed, and for that we apologize to their authors.

Here follows the quick overview in reverse chronological order. If any of the names or short descriptions catches your attention, you can find the direct link to the plugin page in the table below:

All Geocoders At Once
Plugin accumulating most popular geocoders.
ODK Connect
Connect to ODK Central, fetch submissions, and visualize field data on QGIS maps. Supports filtering, spatial analysis, and data export.
Web Service Plugin
Wtyczka umożliwia prezentację danych z serwisów WMS, WMTS, WFS i WCS w postaci warstw w QGIS. Wtyczka wykorzystuje dane z Ewidencji Zbiorów i Usług oraz strony geoportal.gov.pl
Polygon grouper
This plugin groups polygons together.
GeoCAR
Cadastro Ambiental Rural.
Not-So-QT-DEM
TauDEM 5.3 processing provider.
GeocodeCN
一个将地址转为经纬度坐标的插件。
EN: A plug-in that converts addresses into latitude and longitude coordinates.
Feature Navigator
Este plugin permite navegar entre entidades en una capa activa de QGIS con botones de anterior y siguiente.
Movement Analysis
Toolbox for raster based movement analysis: least-cost path, accumulated cost surface, accessibility.
Graphab3
Graphab3 for QGIS.
SGTool
Simple Potential Field Processing.
FieldColorCoder
Easily apply color codes to layers based on selected field values.
NGP Connect
Plugin to store files in Lantmäteriet National Geodata Platform with external storage for the attachment widget in features attribute form.
Projection Factors Redux
Calculates various cartographic projection properties as a raster layer.
ArqueoTransectas
Este complemento genera transectas arqueológicas (líneas horizontales o verticales) dentro de un área definida. Puede ser útil para estudios de campo y proyectos arqueológicos.
BROnodig
Plugin om BRO data te downloaden en plotten.
Arches Project
A plugin that links QGIS to an Arches project.
Field annotations
Make annotations and photos in the field.
qCEPHEE
Plugin QGIS for CEPHEE.
Water Network Tools for Resilience (WNTR) Integration
A QGIS Plugin for the WNTR piped water network modelling package. Allows the preparation of water network models and visualisation of simulation results within QGIS.
FitLoader
A simple plugin to import FIT files.
EasyDEM
Get Digital Elevation Model (DEM) datasets from multiple sources with Google Earth Engine API and load it as raster layer.
Si Kataster
EN: SiKataster is a tool for accessing cadastral parcel data from the Real Estate Cadastre of the Surveying and Mapping Authority of the Republic of Slovenia (GURS). The plugin is designed to record information about the source and the date of data acquisition into the metadata of the layers it creates. The data and web service are provided by GURS.
SI: SiKataster je orodje za dostop do podatkov o parcelah v Katastru nepremičnin Geodetske uprave Republike Slovenije (GURS). Vtičnik je zasnovan na način, da v metapodatke slojev, ki jih ustvari, zapiše informacije o viru in datumu prevzema podatkov. Podatke in spletni servis zagotavlja GURS.
Shred Layer Plugin
This plugin allows users to “shred” a layer. Can be used to delete unnecessary layers or when you do not want to leave evidence. Cut layers can also be scattered on the map.
otsusmethod
This plugin applies Otsu’s method for automated thresholding and segmentation of raster data.
Split Lines By Points
Split Lines By Points.
申少军的工具箱
实现图形处理的功能集合
EN: A collection of functions to implement graphics processing
Easy Feature Selector
The Easy Feature Selector plugin for QGIS is a practical tool designed to simplify interactions with vector data.
GenSimPlot
Generator of simulation plots.
LockCanvasZoom
The Lock and Unlock Canvas Zoom Plugin for QGIS is designed to provide users with a simple way to lock and unlock the zoom position on the map canvas. This plugin offers a toggle button that allows users to easily switch between locked and unlocked states for the map canvas zoom.
GWAT – Watershed Analysis Toolbox by Geomeletitiki
Semi-automated Hydrological Basin Analysis toolbox.
GeoPEC
GeoPEC é um software científico para avaliação da acurácia posicional de dados espaciais
Esporta Tab su file CSV
Esporta la tabella del layer vettoriale selezionato su un file CSV.
transform_coords
Transform decimal/grade-minute-second coordinates to UTM. Can also make points on the selected coordinates.
Geocoder CartoCiudad
CartoCiudad ofrece direcciones postales, topónimos, poblaciones y límites administrativos de España.
Multi Raster Transparency Pixel Setter
Set transparency pixel for multiple raster layers.
InSAR Explorer
InSAR Explorer is a QGIS plugin that allows for dynamic visualization and analysis of InSAR time series data.
Vgrid
Vgrid – Global Geocoding Systems.
Profile Manager
Makes handling profiles easy by giving you an UI to easily import settings from one profile to another.
QGIS2Mapbender
QGIS plugin to populate Mapbender with WMS services from QGIS Server.
PLU Versionning
Outil de suivi des versions de numérisation des documents d’urbanisme au format CNIG.
Snowflake Connector for QGIS
This package includes the Snowflake Connector for QGIS.
Count Routes
This plugin provides algorithms of network analysis.
QuickRectangleCreator
QuickRectangleCreator allows you to create a rectangle quickly and easily, preset sizes, snap to grid and rotate on the fly.
AlgoMaps
PL: Plugin Algolytics do standaryzacji danych adresowych i geokodowania.
EN: Algolytics Plugin for Address Data Standardization and Geocoding.
Kue
Kue is an embedded AI assistant inside QGIS.

FOSS4G 2024 Belém

FOSS4G is the annual global event of free and open source geographic technologies and open geospatial data hosted by OSGeo. In 2024 it took place in Belém, Brasil.

3.4.7 - Ebo

What's Changed

  • Fix crash on older devices

3.4.6 - Ebo

What's Changed

  • Fix sketching over image attachments sometimes fails to save
  • Fix import URL eating tons of memory on large file downloads
  • Avoid infinite sort loop when gathering feature lists for the value relation editor widgets

GeoParquet in QGIS – smaller & faster files for the win!

tldr; Tired of working with large CSV files? Give GeoParquet a try!

“Parquet is a powerful column-oriented data format, built from the ground up to as a modern alternative to CSV files.” https://geoparquet.org/

(Geo)Parquet is both smaller and faster than CSV. Additionally, (Geo)Parquet columns are typed. Text, numeric values, dates, geometries retain their data types. GeoParquet also stores CRS information and support in GIS solutions is growing.

I’ll be giving a quick overview using AIS data in GeoPandas 1.0.1 (with pyarrow) and QGIS 3.38 (with GDAL 3.9.2).

File size

The example AIS dataset for this demo contains ~10 million rows with 22 columns. I’ve converted the original zipped CSV into GeoPackage and GeoParquet using GeoPandas to illustrate the huge difference in file size: ~470 MB for GeoParquet and zipped CSV, 1.6 GB for CSV, and a whopping 2.6 GB for GeoPackage:

Reading performance

Pandas and GeoPandas both support selective reading of files, i.e. we can specify the specific columns to be loaded. This does speed up reading, even from CSV files:

Whole fileSelected columns
CSV27.9 s13.1 s
Geopackage2min 12s 😵20.2 s
GeoParquet7.2 s4.1 s

Indeed, reading the whole GeoPackage is getting quite painful.

Here’s the code I used for timing the read times:

As you can see, these times include the creation of the GeoPandas.GeoDataFrame.

If we don’t need a GeoDataFrame, we can read the files even faster:

Non-spatial DataFrames

GeoParquet files can be read by non-GIS tools, such as Pandas. This makes it easier to collaborate with people who may not be familiar with geospatial data stacks.

And reading plain DataFrames is much faster than creating GeoDataFrames:

But back to GIS …

GeoParquet in QGIS

In QGIS, GeoParquet files can be loaded like any other vector layer, thanks to GDAL:

Loading the GeoParquet and GeoPackage files is pretty quick, especially if we zoom into a small region of interest (even though, unfortunately, it doesn’t seem possible to restrict the columns to further speed up loading). Loading the CSV, however, is pretty painful due to the lack of spatial indexing, which becomes apparent very quickly in the direct comparison:

(You can see how slowly the red CSV points are rendering. I didn’t have the patience to include the whole process in the GIF.)

As far as I can tell, my QGIS 3.38 ‘Grenoble’ does not support writing to or editing of GeoParquet files. So I’m limited to reading GeoParquet for now.

However, seeing how much smaller GeoParquets are compared to GeoPackages (and also faster to write), I hope that we will soon get the option to export to GeoParquet.

For now, I’ll start by converting my large CSV files to GeoParquet using GeoPandas.

More reading

If you’re into GeoJSON and/or PyGeoAPI, check out Joana Simoes’ post: “Navigating GeoParquet: Lessons Learned from the eMOTIONAL Cities Project”

And if you want to see a global dataset example, have a look at Matt Travis’ presentation using Overture data:

(Fr) [Story] Oslandia x QWC : épisode 1 / 8

Sorry, this entry is only available in French.

(Fr) [Story] Oslandia x QWC : épisode 6 / 8

Sorry, this entry is only available in French.

3.4.5 - Ebo

What's Changed

  • Fix user interface language not respecting system locale when available
  • Work around an upstream Qt crash when a value relations editor combo box pick leads to its container to be hidden
  • Fix cloud attachments not uploaded immediately when hitting the synchronize button
  • Fix layer login popup getting into the top / bottom system margins
  • Fix initiating a tracking session with a feature form containing relations
  • Fix geometry digitizing step missing when adding a relationship parent via the relationship combo box
  • To avoid interference with snapping results when creating features using a mouse/stylus, do not reset coordinate cursor when rubber band is frozen

[Case Study] Citizen science in Zurich with Camptocamp and Mergin Maps

Discover how Camptocamp, in collaboration with Zurich, used Mergin Maps and QGIS to map bird nesting sites, empowering volunteers to collect accurate survey data.

Plugin Update – October, 2024

In the last month of October, 18 new plugins were published in the QGIS plugin repository.

Here follows the quick overview in reverse chronological order. If any of the names or short descriptions catches your attention, you can find the direct link to the plugin page in the table below:

ECLAIR: Emission CompiLation for AIR quality
This plugin compiles emission data for air quality. Data can be imported, edited and exported.
GRD_Loader
Load GRD Format Rasters.
Random Point on Lines…
The Random Points on Lines… is a simple interface and a user-friendly QGIS plugin that enables to generate a specified number of random points along selected line layers within QGIS. Users can control the layer selection and the number of points generated.
BGT Loader
A processing tool to download Dutch BGT data for a specific polygon area.
geonorge-tegneregelassistent
En plugin for å implementere stiler/tegneregler basert på norske standarder som finnes i Geonorge.
EvapoGIS
Evapotranspiração.
SkyDeck Plugin
Seamlessly Integrate and Manage SkyDeck Geospatial Data within QGIS.
Curva de Nivel
Cria curvas de nivel no territorio brasileiro.
Reservoir & Basin Analysis
This plugin offers some analysis tools for reservoirs and basins.
Feature Transfer Tool
Feature Transfer Tool provides a seamless way to copy and paste features between layers.
Parameter History
A better processing history plugin.
GeOSPR
GeOSPR (Consulta, Validación y estandarización).
AutonomousGIS-SpatialAnalysisAgent
The Spatial Analysis Agent is a user-friendly plugin that serves as a “Copilot” in QGIS software. This Copilot allows users to perform geospatial analysis directly within QGIS using natural language queries, making it accessible for both experts and beginners. The plugin leverages the full potential of over 600 QGIS processing tools, and other external tools such as Python libraries (e.g., Geopandas, seaborn, etc.). Whether working with vector data, raster analysis, the Spatial Analysis Agent offers a flexible, AI-driven approach to enhance and automate GIS workflows.
Aerodrome Utilities
Fetches OSM Data and processes it for aerodroms with various algorithms.
Relation Manager
This plugin helps in the management of 1:N project relations.
Easy Filter and Selection
Plugin gives easy selecting and filter feature for users that don’t want to write complicated SQL for simple problem solution.
GeoPF Altimétrie
Warning: France only! <br/> This plugin allows to call IGN Geoplateforme API directly from elevation profile tool.
Pian Exporter
The plugin exports the vector layer in WKT format for PIAN.

GeoAI: key developments & insights

It’s been a while since my post on geo and the AI hype in 2019. Back then, I didn’t use the term “GeoAI”, even though it has certainly been around for a while (including, e.g., with dedicated SIGSPATIAL workshops since 2017).

GeoAI isn’t one single thing. It’s an umbrella term, including: “AI for Geo” (using AI methods in Geo, e.g. deep learning for object recognition in remote sensing images) and “Geo for AI” (integrating geographic concepts into AI models, e.g. by building spatially explicit models). [Zhang 2020] [Li et al. 2024]

Today’s post is a collection of key GeoAI developments I’m aware of. If I missed anything you are excited about, please let me know here in the comments or over on Mastodon.

Background

A week ago, I had the pleasure to attend a “Specialist Meeting” on GeoAI here in Vienna, meeting over 40 researchers from around the world, from Master students to professor emeritus. Huge props to Jano (Prof. Krzysztof Janowicz) and his team at Uni Wien for bringing this awesome group of people together.

The elephant in the room: LLMs

Unsurprisingly, LLMs and the claims they make about geography are a mayor issue due to the mistakes they make and the biases behind them. An infamous example is AI’s issue with understanding topology:

Image source: Janowicz, K. (2023). Philosophical Foundations of GeoAI: Exploring Sustainability, Diversity, and Bias in GeoAI and Spatial Data Science. arXiv e-prints, arXiv-2304.

Even if recent versions of ChatGPT (such as GTP 4o) do a better job with this specific example, this doesn’t make their answers reliable. So between the trustworthiness, reproducibility, explainability, and sustainability issues … LLMs have a long way to go. And it’s not clear whether they are going in the right direction right now.

Geospatial foundation models

Prithvi, a model developed by NASA, IBM, et al. in 2023, is one of the first geospatial foundation models. Like much of GeoAI, Prithvi deals with remote sensing data. Specifically, it is trained on Landsat and Sentinel-2 (HLS) imagery, with applications in flood mapping and wildfire prediction. And maybe best of all: the model is open-source and publicly available.

Spatiotemporal machine learning model specifications

In the general AI community, model cards have become a common way to share information about models. However, identifying the right model for spatiotemporal tasks is hard since there are no standardized descriptions in existing model catalogs (e.g. Hugging Face, DLHub or MLFlow). To address this issue, [Charette-Migneault et al. 2024] have proposed the Machine Learning Model (MLM) extension for the SpatioTemporal Asset Catalogs (STAC). But, yet again, this development is targeting models trained with remote sensing imagery.

Similarly, the OGC Training Data Markup Language for Artificial Intelligence (TrainingDML-AI) and its ISO equivalent are limited to EO as well …

Spatial knowledge graphs

For those among us working mostly with vector data, the KnowWhereGraph is an interesting development. It’s the first geo-enriched knowledge graph [Janowicz et al. 2022] that helps answer geospatial questions by integrating a variety of spatial datasets through hierarchical grids, standard region boundaries and appropriate ontology and knowledge graph schema development. However, so far, the KnowWhereGraph is mostly limited to the United States.

Explainable AI (XAI) and geo

While answers from knowledge graphs are intrinsically explainable, many other (Geo)AI solutions are built on AI approaches that result in black box models.

Graph neural networks (GNNs) have become very popular in GeoAI (including in urban analytics and mobility [Jalali et al. 2023] [Liu et al. 2024]) but their black box nature limits their practical usefulness in domains where transparency and trustworthiness are crucial. To offer insights into how model predictions are made, [Liu et al. 2024] propose a spatially explicit GeoAI-based method that combines a graph convolutional network and a graph-based XAI method, called GNNExplainer to explore the correlation between urban objects.

Reproducibility et al.

The AI hype in geo is still going strong. Journals are being flooded with paper submissions and good reviewers are hard to come by. In many geo-related venues, it is still acceptable to present an AI paper without making code or model available. (We recently discussed this issue for mobility AI specifically [Graser et al. 2024].)

I’m convinced we can and should do better: quality over quantity, moving steadily, building and fixing things.

References

[Changelog] Measurement tool is now available in the app

We’ve added measurement tools to Mergin Maps, allowing you to measure both distance and area directly within the app. The new "Measure" action is accessible from the "more" menu, where you can easily add points to calculate lengths and areas in your projects. The process is similar to creating a line feature, with a live display of the measured distance and options to undo, add points, or complete the measurement. Measurements are following your QGIS distance and area project units.

Read more about the measurement tool in our documentation: https://merginmaps.com/docs/field/measure/

3.4.4 - Ebo

What's Changed

  • Improve handling of captured photo's ratio and resolution
  • Improve feature attribute pasting
  • Optimize addition of child feature in a parent feature being edited
  • Guard from potential crash when loading a project that requires authentication credentials
  • Fix large files constantly being re-downloaded when synchronizing cloud projects

How to contribute to GRASS GIS development

How to contribute to GRASS GIS development: Guidance for new developers in the GRASS GIS Project.

The post How to contribute to GRASS GIS development appeared first on Markus Neteler Consulting.

[Changelog] Feature identification in Maps [Beta]

You can now preview your project data directly from the project details page—no need to open QGIS or the mobile app!

Maps in dashboard are currently in beta, and we’re more than happy to hear your feedback. Share your thoughts and help us improve it here: https://wishlist.merginmaps.com/p/let-s-get-maps-in-dashboard-out-of-beta.

(Fr) Du nouveau pour [CityBuilder] CityForge

Sorry, this entry is only available in French.

  • Page 1 of 141 ( 2819 posts )
  • >>

Back to Top

Sustaining Members