Related Plugins and Tags

QGIS Planet

Plugin Update – April to May, 2024

Between April and May there were 33 new plugins 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:

Swiss GeoAdmin Bulk Geocoder
Bulk geocoding of Swiss building addresses using the geocoding service of geo.admin.ch, the portal of swisstopo.
EDAC Tools
A toolbox containing various Python-based tools developed by the Earth Data Analysis Center (EDAC) at the University of New Mexico.
CompareClassA
Compare two datasets of GPKG pointZ geometry based on french legislation formatting “class A”.
Stats By Polygon
This plugin creates plots for statistics of raster bands based on selected polygon feature.
UMap
This plugin enables any user to transform a stack of digital bathymetric data terrain models into a bathymetric community map.
SkyGIS
This is a plugin to download files from Skydeck, process it in QGIS and upload the results back to Skydeck portal.
Amazon Location Service
QGIS Plugin for Amazon Location Service.
CIGeoE Copy Paste Features 3D
Copy and paste features from one layer to another of the same type preserving original Z coordinate.
CIGeoE Translate To Fit To Adjacent Polygon
Do a polygon translation to the nearest polygon, by making it coincide their nearest vertices.
CIGeoE Toggle Vertex Visibility
Toggle vertex’s marker visibility.
CIGeoE Reverse Line
Reverses a selected line.
UA Coordinates Transformation
Трансформація (перерахунок) координат вектороного шару через офіційне API Державної геодезичної мережі.
Translation: Transformation of vector layer coordinates through the official API of the State Geodetic Network.
GeoBasis_Loader
GeoBasis_Loader (Open Data GeoBasisdaten).
Viper (QGIS snake clone)
Snake clone using vector layers and QGIS canvas.
jpdata
Download and load various data of Japan.
S2 Toolkit
Tools for the S2 Geometry.
PL-2000
Konwerter współrzędnych punktu układu PL-ETRF2000 do układu PL-2000.
Translation: PL-ETRF2000 point coordinate converter to PL-2000 system.
Luftbildfinder NRW
Find and display aerial images (German State of North Rhine-Westphalia) – Luftbilder finden und laden für NRW.
UDef-ARP Plugin
UDef-ARP for QGIS.
Route Builder
“Route Builder” is a QGIS plugin with a set of tools that calculates shortest routes in street networks using data from OpenStreetMap (OSM) and using the A* (A Star) algorithm. Users can define a region, define origin and destination points (O/D) using the coordinates collected by the plugin, these coordinates of the nodes and thus calculate the shortest route between them.
Transition-QGIS
Access a Transition transit planning server data and functionalities from QGIS.
PG service parser
View, edit or copy PG service entries.
Skråfotos
Opslag på Dataforsyningens Skråfotos.
Translation: Notice on Dataforsyningens Skråfotos.
OD_LSA_Loader (Open Data Land Sachsen Anhalt Loader)
OD_LSA_Loader (Open Data Land Sachsen Anhalt Loader) – Plugin Deprecated
QuickWebViewer
Publish your QGIS project online as web map.
ActiveBreak
ActiveBreak is a plugin for QGIS that emits messages at the top of the canvas at time intervals from the start of work, reminding the user to take an active break, take their lunch and/or reminders indicating to save their QGIS project.
QGIS Shoreline Change Analysis Tool
A plugin for Shoreline Change Analysis (SCA).
eMapTools
This plugin propose retention trees and riparian buffer zones based on ecological values.
NextGIS OGRStyle
Capture OGR Style in ONE click to paste them into a spreadsheet.
landXMLtoDB_Free
Provides LandXML to Database tools, etc, storing to PostGIS initially, later to Oracle and MS SQL.
RRR-reader
Reads RRR files.
Spatial Analyzer
Spatial Analysis Tools.
Japan GSI Point Collector
This plugin collects xyz points from gsi website. The selection should be within Japan boundary.

We would like this opportunity to highlight two plugins, Viper (QGIS snake Clone) and Active Break.

Viper allows to emulate in QGIS canvas the popular game Snake, providing a fun time and a bit of nostalgia for the “older” users. However it goes further than that, as it serves the purpose of teaching about geospatial concepts such as geometry objects (points, polygons) with their properties and methods, spatial indexing in the form of R-Tree, but also programming in QGIS, as well as other aspects.

On a more serious tone, if it can be said that, we present Active Break, a plugin that “simply” presents messages at specific time intervals, which can be personalized by the user and range from the more technical such as “save your project”, personal or motivational like quotes from hundreds of people on multiple subjects, or perhaps the most important, routinely reminders to take a break, relax or go have lunch. This considering the long hours we spent daily in front of the computer, with all the physical and mental health, as well as social implications. Congratulations on both authors!

Rapid Mapping the Ticino Floods and Landslides with QField Rapid Mapper

QField Rapid Mapper is a project for the QField mobile app, which allows emergency responders, civil protection, military, and citizens to assess and report damages from natural catastrophes by quickly sharing geolocated images, videos and audio. QField Rapid Mapper offers real-time data collection, mapping and sharing to help enhance disaster response and coordination.
QField and QFieldCloud are open-source, and OPENGIS.ch is donating the needed QFieldCloud infrastructure and expertise to help map the floods in Ticino in 2024

OPENGIS.ch Supports Flood Mapping Efforts in Ticino

After discussing with the Protezione Civile Locarno e Valle Maggia and the Centro di Competenza per la geoinformazione (CCGEO), we are proud to announce that OPENGIS.ch is donating the necessary QFieldCloud infrastructure and dedicated projects for a rapid crowdsourcing POC to aid in mapping the 2024 floods in Ticino. This crowdsourcing initiative aims to provide essential support to professionals and volunteers working on flood and landslide assessment and recovery.

https://www.rsi.ch/play/embed?urn=urn:rsi:video:2191880&subdivisions=false

Empowering Response with Advanced Technology

What is needed?

Photographing damaged houses and infrastructure is the most critical aspect of this mapping initiative. These images provide crucial information for assessing the extent of the damage, planning rescue and reconstruction operations, and ensuring that resources are allocated effectively. It’s also important to document any submerged or damaged vehicles, as they offer additional insights into the disaster’s impact. During these activities, it’s essential to be careful and respect the privacy and property of others, avoiding capturing license plate numbers or entering destroyed buildings without permission. Using QField Rapid Mapper can contribute to a faster and more coordinated emergency response while ensuring respect for those affected.

The QFieldCloud infrastructure enables efficient, real-time data collection and sharing, ensuring that accurate and up-to-date information is available to all stakeholders involved in the flood response. This effort underscores our commitment to leveraging technology for social good and environmental resilience.

How You Can Get Involved

  1. if you don’t have a QFieldCloud account yet, sign up at https://app.qfield.cloud/accounts/signup/
  2. fill out the quick participation form at https://forms.gle/dkjZsSWdmCzr9xic8

By participating, you will have access to powerful tools for field data collection and can contribute valuable information to the ongoing efforts in Ticino. All the data collected will be released under the Creative Commons CC0 1.0 public domain license.

Join the Effort

Using QField and QFieldCloud, you can help create detailed maps crucial for understanding the impact of the floods and planning effective recovery strategies. Your contributions will make a significant difference in managing and mitigating the effects of this natural disaster.

Visit our QField Rapid Mapper project page for more information on how QField and QFieldCloud can assist in flood mapping and other field data collection projects.

Together, we can make a difference. Join us in mapping the floods in Ticino and support the community’s recovery efforts.

New MovingPandas tutorial: taking OGC Moving Features full circle with MF-JSON

Last week, I had the pleasure to meet some of the people behind the OGC Moving Features Standard Working group at the IEEE Mobile Data Management Conference (MDM2024). While chatting about the Moving Features (MF) support in MovingPandas, I realized that, after the MF-JSON update & tutorial with official sample post, we never published a complete tutorial on working with MF-JSON encoded data in MovingPandas.

The current MovingPandas development version (to be release as version 0.19) supports:

  • Reading MF-JSON MovingPoint (single trajectory features and trajectory collections)
  • Reading MF-JSON Trajectory
  • Writing MovingPandas Trajectories and TrajectoryCollections to MF-JSON MovingPoint

This means that we can now go full circle: reading — writing — reading.

Reading MF-JSON

Both MF-JSON MovingPoint encoding and Trajectory encoding can be read using the MovingPandas function read_mf_json(). The complete Jupyter notebook for this tutorial is available in the project repo.

Here we read one of the official MF-JSON MovingPoint sample files:

traj = mpd.read_mf_json('data/movingfeatures.json')

Writing MF-JSON

To write MF-JSON, the Trajectory and TrajectoryCollection classes provide a to_mf_json() function:

The resulting Python dictionary in MF-JSON MovingPoint encoding can then be saved to a JSON file, and then read again:

import json
with open('mf1.json', 'w') as json_file:
    json.dump(mf_json, json_file, indent=4)

Similarly, we can read any arbitrary trajectory data set and save it to MF-JSON.

For example, here we use our usual Geolife sample:

gdf = gp.read_file('data/demodata_geolife.gpkg')
tc = mpd.TrajectoryCollection(gdf, 'trajectory_id', t='t')
mf_json = tc.to_mf_json(temporal_columns=['sequence'])

And reading again

import json
with open('mf5.json', 'w') as json_file:
    json.dump(mf_json, json_file, indent=4)
tc = mpd.read_mf_json('mf5.json', traj_id_property='trajectory_id' )

Conclusion

The implemented MF-JSON support covers the basic usage of the encodings. There are some fine details in the standard, such as the distinction of time-varying attribute with linear versus step-wise interpolation, which MovingPandas currently does not support.

If you are working with movement data, I would appreciate if you can give the improved MF-JSON support a spin and report back with your experiences.

3.3.6 - Darién

What's Changed

  • Expose functions for plugin authors to handle global, project, and layer variables

3.3.5 - Darién

What's Changed

  • Provider users with visual feedback when adding a child feature a slow/remote layer
  • Avoid double-storing photos taken by QField when using the native camera
  • Stabilize value map editor widget filtering
  • Fix hard to read QFieldCloud server error reporting details
  • Fix wrongly sized raster image decorator
  • Fix missing cacert.pem to improve support for gdal's /vsicurl/ dataset access

New interactive trajectory plots for MovingPandas & experiments on their interpretation using ChatGPT 4o

With the release of GeoPandas 1.0 this month, we’ve been finally able to close a long-standing issue in MovingPandas by adding support for the explore function which provides interactive maps using Folium and Leaflet.

Explore() will be available in the upcoming MovingPandas 0.19 release if your Python environment includes GeoPandas >= 1.0 and Folium. Of course, if you are curious, you can already test this new functionality using the current development version.

This enables users to access interactive trajectory plots even in environments where it is not possible to install geoviews / hvplot (the previously only option for interactive plots in MovingPandas).

I really like the legend for the speed color gradient, but unfortunately, the legend labels are not readable on the dark background map since they lack the semi-transparent white background that has been applied to the scale bar and credits label.

Speaking of reading / interpreting the plots …

You’ve probably seen the claims that AI will help make tools more accessible. Clearly AI can interpret and describe photos, but can it also interpret MovingPandas plots?

ChatGPT 4o interpretations of MovingPandas plots

Not bad.

And what happens if we ask it to interpret the animated GIF from the beginning of the blog post?

So it looks like ChatGPT extracts 12 frames and analyzes them to answer our question:

Its guesses are not completely off but it made up the facts such as that the view shows “how traffic speeds vary over time”.

The problem remains that models such as ChatGPT rather make up interpretations than concede when they do not have enough information to make a reliable statement.

Plugin Update – February to March, 2024

From February to March of this year, 58 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:

Indonesian Multi-scaled Grid System
This plugin automate the determination of Indonesia’s Environmental Support and Capacity.
NDVI to Variable Nitrogen Application Map
This plugin was developed for producing variable nitrogen application maps based on index (e.g. NDVI, EVI) values.
Dynamic Flow
Compare two datasets of GPKG pointZ geometry based on french legislation formatting “class A”.
Stats By Polygon
Dynamic Flow is a QGIS plugin to estimate the spatio-temporal 3D gradient flow from the point observation of the attributes values such as aggregated cell-phone mobility data.
On-the-Fly-Shortest-Path
Interactively find shortest path between points over a line network and calculate the Fiber Loss Budget of a fiber optic network (backbone or FTTH)
SMODERP2D
This plugin calculates hydrological and erosion processes on individual plots or small catchments.
Multifilter
Filter multiple layers
NDVI and EVI Index Calculator
This plugin calculates NDVI and EVI index from Sentinel 2 B02, B04 and B08 Bands.
GeoZone
QGIS plugin for adding and modifying zone data in compliance with the GeoZone schema, facilitating sharing with partners or uploading to a central web repository.
CIGeoE Mirror View
Add one or more panels synchronized with the main panel.
SIOSE Tools
Herramientas SIOSE.
RioGIS 2
Export to WinCan.
Clasificación de redes hídricas
Este plugin clasifica las redes hídricas por medio de una etapa de enriquecimiento y otra de lógica difusa. Advertencia: Versión experimental, algunos procesos pueden ser largos de aplicar.
AutoStyler
Apply QML style files to new layers. QML files are stored in {qgis_home}\Styles directory. QML files will be applied to a vector layer when the QML file’s basename is found as a substring of the new layer’s name. QML files will be applied to a raster layer when the QML file’s label token is found as a substring of the new layer’s name. The label token is raster_style_{label}.qml.
Delta Shares
With this plugin you can load data from delta shares
Simple ETL
A simple ETL for spatial data
Flood Path Finder
Developed with Python by Emerson N. Santos – 2024
MongoDB Layer
This plugin gives the possibility to create a layer from MongoDB datasource
Power Pin PL
Plugin eksportuje pinezkę do serwiów typu geoportal. Pin to popular polish and world maps portal. Plugin export pin to popular geoportal like serives
Mineral Exploration Web Services
This plugin connects your QGIS User Profile to many openly hosted web services related to mineral exploration. These include Country and State geological surveys that provide mapped geology and data such as mineral occurence locations, geophysics, geochemistry etc.
OrfeoToolbox Provider
OrfeoToolbox Processing provider.
MitiConnect
MitiConnect integrates ecological connectivity in mitigation hierarchy based on landscape graphs.
Compare_attributes
Compare Attributes
Geo Cluster
This plugin allows you to cluster different territorial scopes.
Estonian Oblique Aerial Photographs
Get the oblique aerial photographs of Estonia at the clicked location on the map
Two distances intersection
Get the intersection of two distances (2D cartesian)
Show Corona CAST by click
This plugin opens a webpage showing the Corona CAST map in the clicked coordinates on the canvas
Roll
Design and analysis of 3D seismic survey geometries
moniQue
Monoplotting oblique images with uncertainty estimation.
Modular Layout Grid Guides
This plugin creates a modular layout grid for print layouts
easyPlugin
Plugin which creates a simple QGIS plugin templates ready for install, editing and testing
Samon
Saisie monoscopique sur la BD Ortho
SADI Processor
A plugin to Process Standardized Agricultural Drought Index.
SciPy Filters
Filter collection implemented with SciPy
Data Validator
Prototype for vector data validation
ZUMbox
Urban planning related tools
UA_NGO_PDF_Parser
This plugin parse pdf files with NGO data and create table with result
Marine Tools
Tools for marine habitat mapping
Map tools
QGIS plugin for little helpers in map production
Style Exporter
Plugin export styles of selected layers to individual file with name same as layers name.
Aino
AI assistant to download data from OSM
gis3d
This plugins generates a 3D model based on the inputs
Zonal Exact Extract
Zonal Statistics of rasters using Exact Extract library
Verkeersborden
Import dutch traffic signs.
NVDB Les
NVDB (Norwegian Administration Road Database) it’s a plugin to analyse and manipulate road objects, like (road references, trees, light poles, traffic signs, construction area, smart devices like IP Camera, tunnels, bridges, etc)
Fluvial Corridor Toolbox
Fluvial Corridor Toolbox
CIGeoE Reshape Features 3D
Reshape a feature in 3D
Pixel Purity Index
Pixel Purity Index algorithm
C-GEO Wizualizacja GML demo
Wtyczka wczytuje oraz wizualizuje dane EGiB, GESUT, BDOT500 zapisane w plikach GML.
pqkmeans-clustering
This clustering algorithm is a quantized version of the K-Means algorithm that is memory and computationaly more efficient.
HedgeTools
HedgeTools is a plugin for QGIS designed to extract and characterize hedges, aiming to streamline field efforts by providing information about hedge health.
PyXel_Sync
PyXel_Sync
SmartSDI
Wtyczka SmartSDI (Geo-System) PL: Pobieranie danych wektorowych: działki, budynki, adresy EN: Downloading vector data for Poland: parcels, buildings, addresses
Quick_search
Quick_search
Environmental Data Retrieval
Environmental Data Retrieval QGIS plugin
DigiAgriApp
Plugins to work with DigiAgriApp server
QTalsim
This plugin creates hydrological response units (HRUs) suitable for Talsim (http://www.talsim.de/) and allows users to connect to a Talsim DB.
RubberSheetingEtc
Provides Rubber Sheeting and Two Point Transformations, storing to PostGIS, Oracle and MS SQL. The Rubber Sheeting algorithm uses supplied Shift Vectors and calculates the weighted average shift from the 10 nearest Shift Vectors. The Two Point Transformations handles themes with and without a CRS.

QGIS Swiss Locator 3.0 brings elevation profiles and vector tiles

Swiss elevation profiles

Get high-precision elevation profiles in QGIS right from Swisstopo’s official profile service, based on swissALTI3D data!

Swiss elevation profiles are available with QGIS 3.38.

Thanks to this integration, you can take advantage of existing QGIS features, such as exporting 2d/3d features or distance/elevation tables, as well as displaying profiles directly in QGIS layouts.

Tip: Swiss elevation profiles will be available as long as the Swiss Locator plugin is installed and active. Should you need to turn Swiss elevation profiles off to create other profiles with your own data, go to the Plugin manager and deactivate the plugin in the meantime.

For developers

We’re paving the way for adding custom elevation profiles to QGIS. For that, we’ve added a QGIS profile source registry so that plugin developers can register their own profile sources (e.g., based on profile web services, just like we did here) and make them available for QGIS end users. The registry is available from QGIS 3.38. It’s your turn! 👩‍💻

Thanks to the QGIS user group Switzerland for funding this feature! 👏

Swiss vector tiles base maps

Loading Swiss vector tiles is now easier than ever. Just go to the locator bar, type the prefix “chb” (add a white space after that) and you’ll get a list of available and already styled Swiss vector tiles layers. Some of them will even load grouped auxiliary imagery for reference.

Vector tiles will be loaded at the bottom of the QGIS layer tree as base maps, so you will see all your data on top of them.

Vector tiles are optimized for local caching and scale-independent rendering. This also makes it a perfect fit for adding it to your QField project.

There are a couple of different vector tile sets available:

leichte-basiskarte

Light base map

Similar to the leichte-basiskarte layer, but using an older version of the data source and adjusted styles.

leichte-basiskarte-imagery (with WMTS sublayer)

Imagery base map (with WMTS sublayer)

This layer is similar to the leichte-basiskarte-imagery layer, but it uses an older version of the data source and adjusted styles.

Base map

See the official services documentation for details on data sources and styles.

Fixes

Thanks to your feedback, we’ve also fixed some issues. Don’t hesitate to reach out to us at GitHub if you’d like to suggest or report something related to the Swiss Locator plugin.

Happy (and now more powerful) mapping! 🗺🚀

Plugin Update – December 23′ to January 24′

Between December 2023 and January 2024, 45 new plugins were published in the QGIS plugin repository. On top of those, we also included another 4 from the last week of November.

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:

OpenLog
High performance drillhole visualization QGIS module supporting 3D, cross-section, and log views.
Benthic Terrain Modeler
Analyzes benthic terrain for the purposes of classifying surficial seafloor characteristics that may be used in studies of benthic habitat, geomorphology, prediction of benthic fish species distribution, marine protected area design, and more
QAnnAGNPS
This plugin integrates the AnnAGNPS model into QGIS
QSU2
QSU2 for CFD simulations
Autofill Attributes
Simple screen to fill your attributes table automatically.
Eurostat downloader
This plugin can be used to get data using the Eurostat API.
VectorToDBLoader
Loads Active Vector Themes to PostGIS, Oracle and MS SQL
MunsellRGB
Munsell code to sRBG conversion.
WFS Styler Plugin
Set a WMS style to a WFS layer
CIGeoE Rename Attachment Attribute
Rename attachment attribute of selected field on all features
QGIS2API-CNIG
Complemento que crea un visualizador cartográfico con el contenido del lienzo de QGIS
Data Sources Panel
Panel/dock with overview of layer data sources
GeoFA
Gratis og let adgang til GeoFA (Geografiske Fagdata i GeoDanmark) i QGIS.
Free and easy access to GeoFA (Geographical Professional Data in GeoDanmark) in QGIS.
Co-Traveler
Co-Traveler discovery tools.
CoGEOS
This plugin enables the user to automatically extract shorelines and compute shoreline change rates.
Geovita GIS Processing provider
This plugin adds different Geovita custom processing algorithms to QGIS
CAV
Este plugin realiza cálculos, comparações e análises estatísticas do volume e área de uma cota específica em um modelo digital de terreno.
Whitebox Workflows for QGIS
Provides access to Whitebox Workflows within QGIS
Y!maptool(Yahoo! JAPAN YOLP Web API
Yahoo!JAPANのYOLP Web APIを利用して、検索した結果の位置を表示します。郵便番号での検索ができます。クレジット:Webサービス by Yahoo! JAPAN (https://developer.yahoo.co.jp/sitemap/) This plugin allows the user to displays the location of search results using Yahoo!JAPAN YOLP Web API.You can search by zip code.
QgisToUGCS
A Plugin to create UGCS missions from GPKG layers. This is made for drone users that want to lead AreaScan for a drone-line inspection
Infra3D plugin
This plugin is an integration of the Infra3D application with QGIS
CZML Moving Objects
This plugin creates CZML files for moving objects described as points
Layer Tree Tools
Sorts and groups nodes in layer tree, takes layer tree snapshots
Localisation Grand Lyon
Suite d’outils de localisation utilisés pour les logiciels métiers QGIS de la Métropole Grand Lyon.
FIM
Forest Inventory and Monitoring
Point Cloud Filter Slider
GUI panel to change values in simple query builder filter for point clouds.
Dokumente verknüpfen
With this Plugin documents can be connected to objects. It is designed for sewer system inspection data.
Bunting Labs AI Vectorizer
Intelligent autocomplete for vectorizing raster maps.
CIGeoE Pacman
Resolve the intersection of 2 polygons by removing the overlapped area in the second polygon.
GSI-AddressSearch
国土地理院のAPIを利用して、住所を検索した結果の地点を表示します。住所検索した結果から選択してポイントを追加することもできます。国土地理院API(https://msearch.gsi.go.jp/address-search/AddressSearch)から取得したデータを加工して利用。This plugin allows the user to search for a address and get its coordinates using GSI API.
Riverscapes Viewer
Explore symbolized Riverscapes projects
Feature Z Setter
Sets the Z value of each new/edited feature to a specific value, based on a DEM layer plus an offset.
BrandGIS
BrandGIS Ledningsstöd och geografisk lägesbild vid brand i skog och mark.
Oemc Plugin
This plugin provides easy access to OEMC STAC catalog
Swedigarch Geotools
Swedigarch Geotools
Urbantracer
Urbantracer creates urbanized area polygon over a street map.
Geohash Expressions Plugin
This plugin adds four expression functions to work with geohash in the field calculator
QMetadataLayerHISPANIA
Complemento para visualizar y agregar metadatos a las capas.
Mesh Flow
Tool to extract flow from hydraulic model results contained in a mesh layer.
QRiS
QGIS Riverscapes Studio (QRiS)
SAGis Excel Export
Plugin öffnet einen vereinfachten Excel-Export-Dialog
SAGis ALKIS Suche
Plugin zum Einbinden und Durchsuchen einer ALKIS-Datenbank
LandXML to Mesh
Conversion of LandXML to Mesh and vice versa
QuickCopy
Click and Copy WKT.
Style to text
Converts stylefiles to csv-files
R-ABLE plugin
R-ABLE plugin, developed within the EUHubs4Data project, providing access to the web services on agricultural land.
Python Module Manager
Show all the installed packages (distributions); Show modules in a selected package; Install a package/packages; Load a module and get the version.
PDD-QGis Tool
Tool to download and visualize datasets from Plataforma de Datos by Itrend.
Project Full Text Search
This plugin generates a full text search index containing all attributes of all layers of a loaded project. The user then can use a single text-input field to search within all available attributes.

3.3.4 - Darién

What's Changed

  • Fix value map editor widget's toggle buttons interface wrongly using value as button label description

Full Changelog: v3.3.3...v3.3.4

3.3.3 - Darién

What's Changed

  • Fix stylus usage on value relation list
  • Fix @cloud_* expression variables
  • Fix @current_parent_* default value not saved on child creation
  • Make value map filtering case insensitive
  • Many other small fixes

Full Changelog: v3.3.2...v3.3.3

[Changelog] 🔏 New Editor permission: safe and secure project collaboration

We are introducing a new type of workspace role and project permission called "Editor". Editors in your workspace will be able to work on your projects without the risk of breaking your GeoPackage layers and QGIS project files.

How does it work?

✅ Editors can:

  • Add, update, and delete features in your projects

  • Use the mobile app and the QGIS plugin

  • Add new files, except for QGIS project files

  • Edit files, except for QGIS project files and GeoPackages (without changing the layer schema)

  • Remove files, except for QGIS project files and GeoPackages

⛔️ Editors cannot:

  • Manipulate QGIS project files, including changing symbology, adding/removing layers, or updating forms. Any changes to a QGIS project file will not be synchronized and will be overridden if the server version of the QGIS project file changes.

  • Remove GeoPackages

  • Make changes in GeoPackages that would result in creating conflicted copies, such as adding new columns or layers

Who is this new permission type suitable for?

This permission type is ideal for surveyors and others who need to add data without manipulating layer schemas and QGIS project settings.

Next steps

Please upgrade your QGIS plugin to the latest version and head to our dashboard

Editor permission is available on Cloud and Enterprise edition servers.


Read more details in the blog post or in our documentation.

[Case Study] Using Mergin Maps as part of an end-to-end solution for farm management

Agrimotion, an agricultural consultancy in South Africa, specializes in perennial crops. Their IMPI platform, developed with Lutra Consulting and Mergin Maps, simplifies farm management by enhancing data collection and analysis, boosting productivity, and reducing costs.

[Blog] Introducing Editor permissions - our most-requested feature!

Feeling unheard in GIS work? Mergin Maps streamlines data collection, collaboration, and sharing QGIS projects with a new Editor role for field surveyors.

QGIS.ch user-day 2024 – A biased review by uber-happy committers

During the pandemic, people noticed how well they could work remotely, how productive meetings via video call could be, and how well webinars worked. At OPENGIS.ch, this wasn’t news because we have always been 100% remote. However, we missed the unplanned, in-person interactions that occur during meetups with a 🍺or ☕. That’s why we’re very pleased that last week we could join the Swiss QGIS user day for the second time after the pandemic.

OPENGIS.ch has been invested in QGIS since its inception in 2014, actually even before; our CEO Marco started working with QGIS 0.6 in 2004 and our CTO Matthias with version 1.7 in 2012. Since 2019, we have also been the company with the most core committers. We can definitely say that OPENGIS.ch has been one of the main driving forces behind the large adoption of QGIS in Switzerland and worldwide. 

Contributions to the QGIS core measured in commit numbers

Looking at the work done in the QGIS code we’re by far the most prolific company in Switzerland and second worldwide only to North Road Consulting. On top of it, we were the first – and still only one of two- companies to sustain QGIS.org at a Large level since 2021.

This makes us very proud and it is why we’re even happier to see how much that is happening around QGIS in Switzerland aligns with the visions and goals we set out to reach years ago.

The morning started with a presentation by our CTO Matthias “What’s new in QGIS” featuring plenty of work sponsored by the Anwendergruppe CH.

Our CTO Matthias answering QGIS questions

DXF Improvements, the release of SwissLocator 3.0 with swissalti3d and vector tiles integration, and an update on the advances towards solid curve handling in QGIS, a prerequisite for properly handling AV data in Switzerland, were only some of the many noteworthy points he touched.

The highlight of Matthias’ presentation was the better OGC API Features support in QGIS, which was also highlighted in a subsequent talk about Kablo, showing how the next generation of industry solutions (Fachschalen) will be implemented.

Slides: Neues aus der QGIS Welt - QGIS Anwendertag 2024

Following was a short presentation on the project DMAV, Christoph Lauber introduced a project that aims to implement an industry solution for official cadastral surveying with QGIS.

Adrian Wicki of the Federal Office for the Environment (FOEN) and Isabel presented how OPENGIS.ch and the partners Puzzle and Zeilenwerk help the FOEN with the SAM project with assess the hazards of flood, forest fire, or landslides, and warn authorities and the population. With an agile project organisation, the complex project succeeds in fulfilling requirements by applying user-centred development concepts. QGIS is used for visualizing and analyzing data and helping forecasters gain insights into the current situation.

Slides: BAFU_SAM

Andreas Neumann from ETH Zurich and Michael presented the qgis-js project. QGIS-js is an effort to port QGIS core to WebAssembly so that it can be run in a web browser. Although still in the early experimentation phase, this project has great potential to leverage interesting new use cases that weren’t even thinkable before.

Slides: https://boardend.github.io/qgis-js-demo/ 

Olivier Monod from the City of Yverdon presented Kablo, an electricity management proof of concept of the next generation implementation for industry solutions developed in collaboration with OPENGIS.ch.

By applying a middleware based on OGC API Features and Django, Kablo shows how common limitations of current industry solutions (like permission management and atomic operations) can be overcome and how the future brings desktop and web closer together.

Slides: kablo-qgis-user-days

Obviously, it wasn’t just OPENGIS.ch. Sandro Mani from Sourcepole presented the latest and greatest improvements on QWC2, like street view integration and cool QGIS features brought to a beautiful web gis. Andreas Schmid from Kt. Solothurn presented how cool cloud-optimized geotiff (COG) is and what challenges come with it. Interested in the topic? Read more in our report about cloud optimized formats. Mattia Panduri from Canton Ticino explained how they used QGIS to harmonise the cantonal building datasets and Timothée Produit from IG Group SA presented how pic2map helps bring photos to maps. 

To round up the morning, Nyall Dawson from North Road Consulting did a live session around the world to show the latest developments around elevation filtering in QGIS.

In the afternoon, workshops followed. Claas Leiner led a QGIS expression one while Matthias and Michael showed how to leverage QGIS processing for building geospatial data processing workflows. 

The first QGIS model baker user meeting took place in the third room. The participants discussed this fantastic tool we developed to make INTERLIS work smarter and more productive.

First ModelBaker user meeting

It was a very rich and constructive QGIS user day. We came home with plenty of new ideas and a sense of fulfilment, seeing how great the community we observed and helped grow has become.

A big thanks go to the organisers and everyone involved in making such a great event happen. Only the beer in the sunshine was literally watered by the rain. Nevertheless, there were exciting discussions in the station bistro or in the restaurant coaches on the way home.

See you next time and keep contributing 🙂

3.3.2 - Darién

What's Changed

  • Insure that the vertex editor's generated geometries are compatible with the vector layer of the associated features
  • Various plugin framework improvements

Full Changelog: v3.3.1...v3.3.2

Supercharge your fieldwork with QField’s project and app-wide plugins

This blog post will introduce QField’s brand new plugin framework and walk through the creation of a plugin to support bird watchers in need of a quick way to digitize photos of spotted birds onto a point vector layer.

QField Plugin Snap! in action

A plugin framework is born!

As announced recently, QField now empowers users through a brand new plugin framework allowing for simple customization on the way the application behaves or looks all the way through to creating completely new functionalities.

The plugin framework relies on Qt’s QML engine and JavaScript, allowing for cross-platform support out of the box. This means that plugins will run perfectly fine on all platforms currently supported by QField: Android, iOS, Windows, Linux, and macOS.

App-wide plugin vs. project plugin

First, let’s look at the two types of plugins supported by QField: app-wide plugins and project plugins. As their names imply, the main difference is their scope. An enabled app-wide plugin will remain active as long as QField is running, while project plugins are activated on project load and deactivated when the project tied to the plugin is closed.

Project plugins are shipped alongside a given project file (.qgs/.qgz). Project plugins must share the same name of the project file with a .qml extension. For example, if your project file is birdwatcher.qgz, QField will look for the presence of a birdwatcher.qml to activate the project plugin. For app-wide plugins, installation is done via the plugins manager popup; more on this below.

Distribution of project plugins can be greatly facilitated through QFieldCloud. The presence of project plugins within a cloud project environment will be automatically detected and packaged alongside the project file and its datasets when deployed to QField devices.

Starting with a project plugin

We will start with looking into a simple project plugin that offers a new digitizing mechanism focused on snapping photos as a trigger for point feature addition. This plugin will demonstrate how new functionalities and behaviors can be added to QField to serve specific needs. In this case, the new digitizing mechanism could come in handy for bird watchers and other users in need of a quick way to snap photos!

It’s advised to download a version of QField running on your desktop environment while testing plugins. Links to Windows, Linux, and macOS builds are available here. Once installed, download this project archive containing a tiny birdwatcher sample project and extract it into a new directory on your local machine.

The project archive consists of a point vector layer (observations.gpkg), a project file (birdwatcher.qgz) as well as a project plugin (birdwatcher.qml) which we will look into below. Please note that the point vector layer’s attribute form is already configured to display captured photos. We will not spend time on attribute form setup in this post; see this relevant documentation page if you are interested in knowing how that was achieved.

We can now test the project plugin by opening the project (birdwatcher.qgz) in QField. Users familiar with QField will notice a new ‘camera’ tool button present on the top-right corner of the map canvas. This button was added by the project plugin. You can press on it, to open the QField camera, take a photo (of yourself, a random object on your table, or with a bit of luck a bird), and witness how that leads to a point feature creation.

Digging into the project plugin file

Let’s open the project plugin file (birdwatcher.qml) in your favorite text editor. The first few lines define the QML imports needed by the plugin:

import QtQuick
import QtQuick.Controls

import org.qfield
import org.qgis
import Theme

import "qrc:/qml" as QFieldItems

Beyond the two QtQuick imports, we will make use of QField-specific types and items as well as QGIS ones (registered and declared in this source file), a Theme to retrieve icons and colors as well as QField items such as tool buttons (see this source directory), as well as the QField QML items embedded into the application itself to make use of the camera.

The next line declares an generic Item component which will be used by QField to initiate the plugin. This must be present in all plugins. As this plugin does, you can use the Component.onCompleted signal to trigger code execution. In this case, we are using iface to add a tool button on top of the map canvas:

Component.onCompleted: {
  iface.addItemToPluginsToolbar(snapButton)
}

Just above these lines, the plugin declare a number of properties pointing to items found in the main QField ApplicationWindow:

property var mainWindow: iface.mainWindow()
property var positionSource: iface.findItemByObjectName('positionSource')
property var dashBoard: iface.findItemByObjectName('dashBoard')
property var overlayFeatureFormDrawer: iface.findItemByObjectName('overlayFeatureFormDrawer')

Users can reach through to any items within QField’s ApplicationWindow provided they have an objectName property defined. The string value is used in the iface.findItemByObjectName() function to retrieve the item.

The rest of the file consists of a loader to activate the QField camera, a tool button to snap a photo, and a function to create a new feature within which the current position is used as geometry and the snapped photo is attached to the feature form.

The function itself provides a good example of what can be achieved by using the parts of QGIS exposed through QML, as well as utility functions and user interface provided by QField:

function snap(path) {
  let today = new Date()
  let relativePath = 'DCIM/' + today.getFullYear()
                              + (today.getMonth() +1 ).toString().padStart(2,0)
                              + today.getDate().toString().padStart(2,0)
                              + today.getHours().toString().padStart(2,0)
                              + today.getMinutes().toString().padStart(2,0)
                              + today.getSeconds().toString().padStart(2,0)
                              + '.' + FileUtils.fileSuffix(path)
  platformUtilities.renameFile(path, qgisProject.homePath + '/' + relativePath)
  
  let pos = positionSource.projectedPosition
  let wkt = 'POINT(' + pos.x + ' ' + pos.y + ')'
  
  let geometry = GeometryUtils.createGeometryFromWkt(wkt)
  let feature = FeatureUtils.createFeature(dashBoard.activeLayer, geometry)
      
  let fieldNames = feature.fields.names
  if (fieldNames.indexOf('photo') > -1) {
    feature.setAttribute(fieldNames.indexOf('photo'), relativePath)
  } else if (fieldNames.indexOf('picture') > -1) {
    feature.setAttribute(fieldNames.indexOf('picture'), relativePath)
  }

  overlayFeatureFormDrawer.featureModel.feature = feature
  overlayFeatureFormDrawer.state = 'Add'
  overlayFeatureFormDrawer.open()
}

The QGIS API Documentation site is a good resource for learning what parts of the many QGIS classes are exposed to QML. For example, the QgsFeature documentation page contains a Properties section and a Q_INVOKABLE prefix next to functions indicating their availability within a QML/JavaScript environment.

Deployment of a project plugin via QFieldCloud

As mentioned above, QFieldCloud greatly eases the deployment of project plugins to devices in the field. We will now go through the steps required to create a cloud project environment based on the birdwatcher sample project, and witness it handling the project plugin automatically.

This will require you to registered for a freely available QFieldCloud community account if you haven’t done so yet (it takes a minute to do so, what are you waiting for 😉 ). We will also need the QFieldSync plugin in QGIS, which can be enabled through the QGIS plugin manager.

Let’s open QGIS, and log into QFieldCloud by clicking on the QFieldSync toolbar’s blue cloud icon. Once logged in, click on the ‘Create New Project’ tool button found at the bottom of the dialog.

In the subsequent panel dialog, choose the ‘Create a new empty QFieldCloud project’ and then hit the ‘Next’ button. Give it a name and a description, and for the local directory, pick the folder within which you had extracted the birdwatcher project, then hit the ‘Create’ button.

QFieldSync will then ask you to upload your newly created cloud project environment to the server. Notice how the project plugin file (birdwatcher.qml) is part of the files to be delivered to the cloud. Confirm by clicking on the ‘Upload to server’ button.

When QFieldSync is finished uploading, you are ready to take your mobile device, open QField, log into your QFieldCloud account and download the cloud project. Once the cloud project is loaded, you will be asked for permission to load the project plugin, which you can grant on a permanent or one-time basis.

Bravo! You have successfully deployed a project plugin through QFieldCloud.

Creating an app-wide plugin directory

Let’s move on to creating a functional app-wide plugin directory. Download this sample app-wide plugin and extract it into a new directory placed in the ‘plugins’ directory, itself found within the QField app directory. The location of the app directory is provided in the ‘About QField’ overlay, take note of it prior to extracting the plugin if you have not done so yet.

As seen in the screenshot above, which demonstrates the directory hierarchy, a given plugin directory must contain at least two files: a main.qml file, which QField will use to activate the plugin, and a metadata.txt file containing basic information on the plugin, such as the plugin name, author details, and version.

Here’s a sample metadata.txt from the birdwatcher project plugin upgraded into an app-wide plugin:

[general]
name=Snap!
description=Digitize points through snapping photos
author=OPENGIS.ch
icon=icon.svg
version=1.0
homepage=https://www.opengis.ch/

Opening main.qml in your favourite text editor will reveal that it has the exact same content as the above-shared project plugin. The only change is the renaming of birdwatcher.qml to main.qml to take into account this plugin’s app-wide scope.

PSA: we have setup this GitHub QField template plugin repository to ease creation of plugins. Fork at will!

Deploying app-wide plugins

While currently not as smooth as deploying a project plugin through QFieldCloud, app-wide plugins can be installed onto devices using a URL pointing to a zipped archive file containing the content of a given plugin directory. The zipped archive file can then be hosted on your own website, on a GitHub or GitLab repository, a Dropbox link, etc.

In QField, open the plugins manager popup found in the settings panel, and use the ‘Install plugin from URL’ button to paste a URL pointing to a zipped plugin file.

You should keep the zipped archive file name consistent for a better user experience, as it is used to determine the installation directory. This is an important consideration to take into account when offering plugin updates. If your zipped plugin file name changes, the plugin will not be updated but rather added to a new directory alongside the previously installed plugin.

QField does allow for a version tag to be added to a zipped archive file name, provided it is appended at the end of the file name, preceded by a dash, and includes only numbers and dots. For example, myplugin-0.0.1.zip and myplugin-0.2.1.zip will install the plugin in the myplugin directory.

Empowering users as well as developers

Here at OPENGIS.ch, we believe this new plugin framework empowers not only users but also developers, including our very own ninjas! With plugin support, we now have the possibility to develop answers to specific field scenarios that would not necessarily be fit for QField-wide functionalities. We would love to hear your opinion and ideas.

If you would like to supercharge your fieldwork and need some help, do not hesitate to contact us – your projects are our passion 💚

P.S. If you are developing a cool QField plugin, also let us know! 🙂

Bird SVG in video CC-BY https://svgrepo.com/svg/417419/bird

New release for QField : 3.3 “Darién”

Oslandia is the main partner of OPENGIS.ch around QField. We are proud today to forward the announcement of the new QField release 3.3 “Darién”. This release introduces a brand new plugin framework that empowers users to customize and add completely new functionalities to their favourite field application.

The plugin framework comes with other new features and improvements for this release, detailed below.

Main highlights

One of the biggest feature additions of this version is a brand new drawing tool that allows users to sketch out important details over captured photos or annotate drawing templates. This was a highly requested feature, which is brought to all supported platforms (Android, iOS, Windows, macOS, and, of course, Linux) with the financial support of the Swiss QGIS user group.

Also landing in this version is support for copying and pasting vector features into and from the clipboard. This comes in handy in multiple ways, from providing a quick and easy way to transfer attributes from one feature to another through matching field names to pasting the details of a captured feature in the field into a third-party messenger, word editing, or email application. Copying and pasting features can be done through the feature form’s menu as well as long pressed over the map canvas. Moreover, a new feature-to-feature attributes transfer shortcut has also been added to the feature form’s menu. Appreciation to Switzerland, Canton of Lucerne, Environment and Energy for providing the funds for this feature.

The feature form continues to gain more functionalities; in this version, the feature form’s value map editor widget has gained a new toggle button interface that can help fasten data entry. The interface replaces the traditional combo box with a series of toggle buttons, lowering the number of taps required to pick a value. The German Archaeological Institut – KulturGutRetter sponsored this feature.

Other improvements in the feature form include support for value relation item grouping and respect for the vector layer attributes’ « reuse last entered value » setting.

Finally, additional features include support for image decoration overlay, a new interface to hop through cameras (front, back, and external devices) for the ‘non-native’ camera, the possibility to disable the 3-finger map rotation gesture, and much more.

User experience improvements

Long-time users of QField will notice the new version restyling of the information panels such as GNSS positioning, navigation, elevation profile, and sensor data. The information is now presented as an overlay sitting on top of the map canvas, which increases the map canvas’ visibility while also achieving better focus and clarity on the provided details. With this new version, all details, including altitude and distance to destination, respect user-configured project distance unit type.

The dashboard’s legend has also received some attention. You can now toggle the visibility of any layer via a quick tap on a new eye icon sitting in the legend tree itself. Similarly, legend groups can be expanded and collapsed directly for the tree. This also permits you to show or hide layers while digitizing a feature, something which was not possible until now. The development of these improvements was supported by Gispo and sponsored by the National Land Survey of Finland.

Plugin framework

QField 3.3 introduces a brand new plugin framework using Qt’s powerful QML and JavaScript engine. With a few lines of code, plugins can be written to tweak QField’s behaviour and add new capabilities. Two types of plugins are possible: app-wide plugins as well as project-scoped plugins. To ensure maximum ease of deployment, plugin distribution has been made possible  through QFieldCloud! Amsa provided the financial contribution that brought this project to life.

Our partner OPENGIS.ch will soon offer a webinar to discover how QField plugins can help your field (and business) workflows by allowing you to be even more efficient in the field.

Users interested in authoring plugins or better understanding the framework, can already visit the dedicated documentation page and a sample plugin implementation sporting a weather forecast integration.

A question concerning QField ? Interested in QField deployment ? Do not hesitate to contact Oslandia to discuss your project !

 

Topography and Topology in and around QGIS

Since 2018 and the arrival of Loïc Bartoletti, Oslandia has accelerated its focus on topography and topology within and around QGIS.

Two questions have driven this focus:

  • How to draw directly in GIS by integrating drawing tools inspired by the CAD world into QGIS.
  • How to integrate plugins for topographic calculations directly into QGIS.

To address this, Oslandia has worked on several fronts: training, developing open-source plugins, and improvements in QGIS.

1- Plugins

The following plugins were developed by Oslandia or partners, with contributions from Oslandia:

These plugins can be used at different stages of a project. They can be used all together or only those needed and integrated into workflows.

2- Improvements on QGIS

Oslandia also focuses on improving the core of QGIS. Last years, our teams have worked on:

— Integration of shape tools: circles, ellipses, rectangles, regular polygons, etc.
— Improvement of snapping tools.
— Enhancement of Z and M coordinate support.
— Improvement of topological tools (relationships between geometries).

Coming soon is the possibility to use geometry and topology validation and correction plugins directly in QGIS processing tools, developed by Jacky Volpès and Loïc Bartoletti.

3- Training

Oslandia is QUALIOPI certified and offers a training program around QGIS and QField:

« In 2023, 89 people were trained by Oslandia, who recommend our training at 90.9%.»

4- And QField ?

Since our partnership with OPENGIS.ch, Oslandia offers QField Cloud server deployment services, training, and QField support.

5- Coming Soon!

Several technical posts are being prepared: how to open CAD files in a GIS? What are the differences between QField and LSCI? You will find them on our website in the coming weeks. 🙂

Additionally, we are preparing a white paper on the topic of migrating from CAD to QGIS, which we should release in September.

Stay tuned!

 

QGIS Grant Programme 2024 Update no. 2

Thanks to generous supporters, we are in the wonderful position to be able to announce that another project is successfully funded:

    Our thanks go out to:

    for providing the additional funding to top up the QGIS Grant Programme contribution for QEP#248.

    The next proposals on the wait list are:

    If you want to help make these improvement a reality, please get in touch.

    • Page 1 of 139 ( 2763 posts )
    • >>

    Back to Top

    Sustaining Members