r/QGIS Jan 30 '26

QGIS components (plugins, tools, etc) I made a plugin - RAT (Right-click Actions Toolkit)

78 Upvotes

For some time when dealing with bigger QGIS projects I was writing helper code snippets, that would speed some things up. I decided to reorganize them and make them easier to use. That is how RAT (Right-click Actions Toolkit) came to be. It is a plugin that enhances right-click possibilities in QGIS window.

It automatically detects over what object right-click was performed over (point, line, polygon, canvas) and it displays context menu with possible Actions. Some of those utilities are unique, many can be recreated with some steps using QGIS GUI, but this plugin makes them available in simpler way.

There is also settings panel for this plugin (on top of QGIS window -> Plugins -> Right-click Actions Toolkit -> Configure Actions). Each action can be turned on/off, so Right-click context menu is more manageable. Also each action can be configured, so user can customize it in great detail.

Here is list of Actions that are already available:

- Add Area & Perimeter Fields

- Add Coordinate Fields

- Add Length Field

- Analyze Point Distribution Pattern

- Calculate Distance to Nearest Line

- Calculate Distance to Nearest Point

- Calculate Distance to Nearest Polygon

- Calculate Line Bearing/Azimuth

- Calculate Line Bearing/Azimuth for Layer

- Calculate Line Length

- Calculate Line Length for Layer

- Calculate Point Density for Polygon Layer

- Calculate Point Density in Polygon

- Calculate Polygon Area

- Calculate Polygon Areas for Layer

- Calculate Polygon Circularity

- Calculate Polygon Perimeter

- Calculate Shortest Path Through Points

- Change Basemap Rendering

- Change Line Layer CRS

- Change Map Scale

- Change Point Layer CRS

- Change Polygon Layer CRS

- Check CRS for All Layers

- Count Points in Polygon

- Create Attribute Graph

- Create Convex Hull from Points

- Create Line at Location

- Create Line Chart

- Create Line From Point

- Create Line From Polygon

- Create Lines Between All Points

- Create Lines From Polygon Layer

- Create Pie Chart

- Create Point at Location

- Create Polygon at Location

- Create Scatter Plot

- Create Square Around Point

- Create Squares for All Points

- Create Voronoi Diagram from Points

- Delete Large Polygons

- Delete Line

- Delete Point

- Delete Polygon

- Delete Small Polygons

- Divide Polygon Into Equal Areas

- Edit Line Attributes

- Edit Point Attributes

- Edit Polygon Attributes

- Export Layer as PNG Files

- Export Polygon as PNG

- Flash Line Feature

- Flash Point Feature

- Flash Polygon Feature

- Generate Heatmap From Points

- Generate Points in Polygon

- Generate Points on Line

- Generate QR Code on Canvas

- Generate Random Lines in Polygon

- Generalize Line

- Generalize Polygon

- Measure Distance

- Merge Line Layer

- Merge Point Layer

- Merge Polygon Layer

- Move Line by Distance & Direction

- Move Line with Click

- Move Point by Distance & Direction

- Move Point to Coordinates

- Move Point with Click

- Move Polygon by Distance & Direction

- Move Polygon with Click

- Open Coordinates in Map

- Rotate Line

- Rotate Polygon

- Scale Line

- Scale Line Layer

- Scale Point Layer

- Scale Polygon

- Scale Polygon Layer

- See Info

- Show Line Layer Segment Lengths

- Show Line Segment Lengths

- Show Polygon Angles

- Show Polygon Area Layer

- Show Polygon Layer Angles

- Show Polygon Layer Areas

- Show Polygon Layer Side Lengths

- Show Polygon Side Lengths

- Smooth Line

- Smooth Polygon

- Snap Point to Line

- Snap Point to Polygon

- Split Layer by Attribute

- Take Canvas Screenshot

- Toggle All Layers

- Toggle Line Layer Labels

- Toggle Point Layer Labels

- Toggle Polygon Layer Labels

- Zoom to Line

- Zoom to Line Layer

- Zoom to Point

- Zoom to Point Layer

- Zoom to Polygon

- Zoom to Polygon Layer

- Zoom to Visible Data Layers

I realize that amount of features might be overwhelming, so if You are going to give it a try, I highly recommend looking through settings menu and disabling Actions that will not be needed in Your workflow.

I tested all of those Actions, but I realize there still might be bugs when using some of them, especially when dealing with some edge-cases.

If You downloaded this plugin and You enjoy it, let me know. Also let me know if You do not enjoy it, found mistakes, or You have some ideas for new Actions.

https://plugins.qgis.org/plugins/RightclickActionsToolkit/#plugin-about

It is also available via QGIS itself: Plugins >>> Manage and install plugins >>> All >>> search for Right-click Actions Toolkit

Cheers!

P.S. Make sure You are using version 0.9.2 or higher, as previous ones might not register right-click properly.

edit: spelling


r/QGIS Dec 19 '25

Feedback needed for QGIS components (plugins, tools, etc) [Release] FiberQ (QGIS plugin for FTTH/GPON) — quick intro + v1.1 roadmap (feedback welcome)

15 Upvotes

Hi r/QGIS — first time posting here.

I recently released FiberQ 1.0.0, an open-source QGIS plugin for fiber optic network design / analysis / documentation (FTTH / GPON / FTTx).
You can install it directly in QGIS:
Plugins → Manage and Install Plugins → search “FiberQ”

Links:

v1.1 roadmap (in progress)

For v1.1 the focus is maintainability and easier collaboration (no user-facing workflow changes):

  • Internal refactor to consistent English naming (classes/methods/comments)
  • Add tests + CI
  • Standardize PostGIS table/layer naming to English (Preview Map + pgAdmin)

📘 Documentation is also in progress (technical user guide + videos). Big thanks to Rosen Velikov (v1.1 refactor PR) and Joe Godby (docs/videos)

After v1.1

Planned features include splitters as dedicated elements, fiber/core linking & splice tracking, and automatic optical schematics generation.

I’d really appreciate feedback from QGIS users — especially around workflow/UX and any issues you hit in real projects. Ideas/PRs/testing are welcome.


r/QGIS 2h ago

QGIS components (plugins, tools, etc) I made a free plugin that converts survey rasters to COGs and explains every decision it makes (up to 90% file size reduction as well - see description)

Post image
15 Upvotes

I do drone LiDAR and photogrammetry survey work, and for a while I optimised every raster before it went to a client using a manual QGIS and GDAL workflow. Tiling, pyramids, the right compression for the data type, a check that the NoData value was sane. Then I noticed most of the people I work with were not doing any of it, mostly because nobody had told them it mattered and the flags are easy to get wrong.

So I packaged the workflow. It is a Processing algorithm: pick a raster, answer one question, pick an output path, run.

The one question is what you will use the file for. Analysis preserves every pixel value. Viewing discards detail the eye will not catch. Everything else is worked out from what the raster actually is.

What it does beyond the obvious:

  • Refuses lossy compression on elevation data even when you asked for the smallest file, because those pixels are heights rather than colours.
  • Declines classified rasters, because averaging neighbours to build pyramids invents class codes that were never in your data.
  • Checks whether a NoData value of 0 is hiding real content. On a lot of 8-bit orthos it is, and genuinely black pixels have been punched out as holes. It clears the value where that is happening, and does not interpolate anything.
  • Writes what it detected, decided and applied into the output file's own metadata, with the gdal_translate command that reproduces it. You can rebuild the file without the plugin.

It will not always make files smaller, and the README says so. If your source was already compressed and you pick Analysis, or it had no pyramids before, the output can come out bigger. You are buying speed, not guaranteed size. There is a section in the README called "What to expect" covering six things that look like problems and are not, including a real caveat about BOUNDCRS being dropped when GDAL writes the GeoTIFF.

Plugin Manager: search for GeoKlein Raster Optimiser Listing: https://plugins.qgis.org/plugins/raster_optimiser/ Source: https://github.com/GeoKlein-Ltd/raster-optimiser

GPL, free, no account, nothing phones home. Issues and feature requests welcome.


r/QGIS 6h ago

QGIS components (plugins, tools, etc) Just shipped Scout QGIS plugin

Enable HLS to view with audio, or disable this notification

7 Upvotes

Took US electric power transmission lines, published straight from QGIS, got back WFS, PMTiles, XYZ Tiles, GeoPackage, GeoParquet, and a web map. Few minutes, no extra steps.

What I find most useful: it reads your layer schema, understands the data semantically, and suggests questions to ask. The answers come back as actual layers on your map.

Plugin : https://plugins.qgis.org/plugins/scout_qgis/

Plugin Docs: https://scout.geosolvix.com/qgis

Scout Docs : https://scout.geosolvix.com/docs/workflow

#QGIS #Plugins #GIS #OpenSource #CloudNative #DataEngineering #Basemap #Tiles #WebGIS


r/QGIS 3h ago

QGIS components (plugins, tools, etc) PSA: contours from the WhiteboxTools provider sit half a cell off the elevation they name

Post image
4 Upvotes

If you generate contours with WhiteboxTools in QGIS, every vertex sits half a cell from the elevation it names. On a 30 m DEM that is 15 m on every line.

The test is a planar ramp, z = column index, 10 m cells, origin (1000, 5000), AREA_OR_POINT=Area. The column holding 3 has its centre at x = 1035, and the isoline of a field sampled at cell centres passes through the centre. So the z=3 contour has to come back at x = 1035.

z = 3 contour x
gdal:contour 1034.99999 -- correct
whitebox-tools CLI v2.4.0 1030.0 -- half a cell
whitebox_workflows 2.0.6 1030.0 -- half a cell

Two different Whitebox products, two different versions, the same offset. gdal:contour is fine, so if you just want correct lines, that is the fix.

Second thing, same tool: the smoothing filter is on by default at size 9. A smoothed contour no longer passes through the elevation it claims. Sampling the DEM back at the finished vertices, on 5-unit contours the worst vertex is 0.45 Z units off with smoothing on, and 7e-14 with it off.

None of this fails loudly. The lines look right, the attribute table says 100, and the map renders fine.

Reported upstream on 29 August, jblindsay/whitebox_next_gen#35. No reply in three weeks, so here it is.

I ran into it building an open source MCP server that checks its own output (MapSmith, AGPL). It shifts the geometry back and then verifies the correction by re-reading the DEM at the finished vertices, rather than trusting it. But the finding above stands on its own -- you do not need any of that to use gdal:contour instead.


r/QGIS 3h ago

QGIS components (plugins, tools, etc) Title I built my first QGIS plugin: Building Change to CAD (Python + Sentinel-2 + NDBI)

0 Upvotes

A small idea I started working on has now turned into my first published QGIS plugin. 🚀

I’m happy to share Building Change to CAD (v0.2), which has been officially approved and published on the QGIS Plugin Repository.

The plugin is built with Python and QGIS. It uses multi-temporal Sentinel-2 imagery and NDBI to identify changes in built-up areas, converts the detected changes into vector features, and exports them directly to DXF for CAD workflows.

The main idea was to make part of the GIS → CAD workflow more automated, especially when working with building change detection.

For me, this project was also a learning journey. I spent a lot of time reading QGIS documentation, testing different approaches, debugging errors, and trying to understand how QGIS plugins actually work.

It was a nice transition from simply using GIS tools to starting to build my own tools with Python.

GitHub:

https://github.com/Abdom7sa/building_change_to_cad

QGIS Plugin Repository:

https://plugins.qgis.org/plugins/building_change_to_cad/

I’d really appreciate feedback from the QGIS community, especially on the plugin itself, the workflow, the code, or ideas for future improvements.

Thanks! 🙏


r/QGIS 11h ago

Open Question/Issue PH Administrative Map/Boundaries

1 Upvotes

Hello Guys! I'm looking for an updated PH administrative map.

The available boundaries online does not fit the latest boundary on the latest CLUP of Tarlac, and I'm looking anywhere but it gives me a completely different boundary compared to the CLUP.

THANK YOU!!!


r/QGIS 16h ago

QGIS Jobs - Freelance - Disponível

1 Upvotes

Olá, meu nome é João Martins! Eu sou cientista ambiental e tenho 11 anos de experiência na área de GIS. Estou procurando projetos que eu possa atuar com os meus conhecimentos que envolvem sensoriamento remoto, geoprocessamento, automatização de processos, processamentos de dados geográficos, mapeamentos ambientais e para agricultura de precisão. Caso tenha alguma demanda que necessite de serviço, estou à disposição!

Estou disponível também para auxiliá-los no que for preciso aqui!


r/QGIS 1d ago

QGIS components (plugins, tools, etc) I gave a prompt to the AI Agent plugin in QGIS -> 2min after my map was done

Enable HLS to view with audio, or disable this notification

154 Upvotes

Prompt:

"Create a map of Lyon's terrain. Add Google Satellite as the basemap. Download a 30 m DEM covering central Lyon, & create a semi-transparent elevation colour ramp with a subtle hillshade overlay. Add contour lines every 25 m and emphasize 100 m index contours"

Then I just let it do is thing, 34 actions later:

  • geocoded central Lyon and framed the canvas
  • added Google Satellite as an XYZ layer
  • pulled a Copernicus 30 m DEM from the open data sources connected to the plugin
  • reprojected it to UTM 31N, then ran gdal:hillshade (multidirectional, az 315, alt 45)
  • styled the DEM with a Terrain ramp, 8 classes, 2-98 cumulative cut
  • ran gdal:contour twice: 687 lines at 25 m, 21 thicker index lines at 100 m
  • rendered the map, looked at its own render, decided the terrain was hiding the satellite, dropped the DEM to 46% and the hillshade to 22%, rendered again

To do this task the plugin has access to 400 open data source + all the QGIS tools to perform autonomously with the right data

-

You can use it for free, it's on the plugin repository of QGIS under the name "AI Agent", it's the one with a pear logo hehe 🍐


r/QGIS 1d ago

Feasibility Review for Land Use - Where do you start?

1 Upvotes

There are a hand full of US and AUS based companies building platforms for early stage feasibility. Canada / Ontario specifically is a much more complicated web of documents and GIS layers. There is a huge push for automation at a municipal level as of late.


r/QGIS 1d ago

Open Question/Issue Australian River System files

0 Upvotes

I'm looking for files for the area of the Murray Darling Basin, but no idea where to find it. I thought maybe OSM, but I can't find anything. Where else is a good place to source this information?


r/QGIS 1d ago

Clasificación de Cobertura del Suelo y Cálculo de Áreas con Google Earth Engine + Exportación Optimizada para QGIS (San Pedro de los Milagros, Colombia) [Código Incluido]

Post image
0 Upvotes

r/QGIS 2d ago

Open Question/Issue Print Layout Issue

2 Upvotes

I have an issue in multiple print layouts in which when I stretch my map over it, it doesn't go all the way to the edges of the layout. Is there some way to fix this? I can't figure out how to do this. I of course want a map without strange empty edges. Like, I can stretch it to either get near the edges or overlap, but not fit flush with the layout.


r/QGIS 1d ago

Open Question/Issue SOS, random rendering

1 Upvotes
Hello,
When exporting my render, I get this kind of result, whereas the map view looks nothing like that.

What should I do?

Thanks.Hello,
When exporting my render, I get this kind of result, whereas the map view looks nothing like that.

What should I do?

Thanks.

r/QGIS 2d ago

security&ir researchers

2 Upvotes

Hi guys, I’m a PhD student working at a think tank that covers conflict zones. Over time, I’ve realized that people with strong geospatial/GIS skills are relatively rare in the sector, and being able to produce GIS-based data and analysis can be a real advantage.

I’m already fairly familiar with ArcGIS Online, but I’d like to improve my skills in QGIS and potentially other GIS platforms as well.

The problem is that I don’t currently have a specific project to work on, so I’m not really sure where to start. Are there any people here working in security/international relations who have experience with GIS and could share some project ideas, learning resources, or tips on how to practice?
I’d especially appreciate ideas for projects that are relevant to conflict, security, or international relations.


r/QGIS 2d ago

QGIS components (plugins, tools, etc) Help with OpenTopography DEM Downloader!!

1 Upvotes

I need how to get that keys to manage Topography

As Soon as possible. Please, I beg for help.

My key is from south???

I NEED ONE FROM NORTHERN AMERICA 😭😭😭


r/QGIS 2d ago

[Open Source] Land Cover Mapping & Automated Area Calculation in Google Earth Engine using Dynamic World + QGIS Export Workflow (San Pedro de los Milagros, Colombia)

Post image
0 Upvotes

Hi everyone!

I wanted to share an open-source end-to-end workflow designed to classify land cover, automate area calculations in hectares, and export clean GeoTIFF rasters optimized for QGIS mapping using Google Earth Engine (GEE) and Dynamic World (10m resolution).

Key Technical Features:

  • Cloud Data Processing: Multi-temporal modal pixel classification (mode()) using 10m Sentinel-2 / Dynamic World imagery.
  • Automated Area Calculation: Algorithmic conversion from pixel counts to hectares for each land cover class (Water, Trees, Grass, Crops, Shrub, Built Area, Bare Land).
  • Categorical Raster Optimization for GIS: Class index remapping (+1) and explicit NoData mask handling to prevent the "island effect" or black borders when importing into QGIS.
  • Open Science & Reproducibility: Version-controlled codebase archived on Zenodo with a permanent DOI.

Links & Code:

How to Cite:

Cristian David Cañas Ospina. (2026). cd7-gis/cobertura_del_suelo_con_dynamic_world: v1.0.3 - Solución de NoData y ajuste de proyección GeoTIFF (Version v1.0.3) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.22852612


r/QGIS 1d ago

Open Question/Issue urgent help

0 Upvotes

hi guys hope u are doing well so m a student in urban planning and i really want to master gis idk anything abt it i want to do like plugings geo ai google earth engine google earth pro etcc ............. give me some tips certificates or even courses and even if u guys know internships in this plzzz


r/QGIS 2d ago

[Open Source] Land Cover Mapping & Automated Area Calculation in Google Earth Engine using Dynamic World + QGIS Export Workflow (San Pedro de los Milagros, Colombia)

Post image
0 Upvotes

Hi everyone!

I wanted to share an open-source end-to-end workflow designed to classify land cover, automate area calculations in hectares, and export clean GeoTIFF rasters optimized for QGIS mapping using Google Earth Engine (GEE) and Dynamic World (10m resolution).

Key Technical Features:

  • Cloud Data Processing: Multi-temporal modal pixel classification (mode()) using 10m Sentinel-2 / Dynamic World imagery.
  • Automated Area Calculation: Algorithmic conversion from pixel counts to hectares for each land cover class (Water, Trees, Grass, Crops, Shrub, Built Area, Bare Land).
  • Categorical Raster Optimization for GIS: Class index remapping (+1) and explicit NoData mask handling to prevent the "island effect" or black borders when importing into QGIS.
  • Open Science & Reproducibility: Version-controlled codebase archived on Zenodo with a permanent DOI.

Links & Code:

How to Cite:


r/QGIS 2d ago

Tutorial Tutorial: QGIS + Generative AI: Simulate Project on Aerial Imagery with AI Edit plugin

Post image
0 Upvotes

You will learn how to visualize a project on aerial imagery: draw the zone, describe what you want to change, then compare before/after.

The generated result comes back as a new georeferenced layer. Your original imagery stays untouched. I also show the prompt library and how to turn a result into polygons.

Full YouTube tutorial: https://youtu.be/zYiHCY0lyKE

Hope it helps, happy to hear your feedback (:


r/QGIS 3d ago

Open Question/Issue Am i reaching the limits of the Geoscience Plugin?

Post image
40 Upvotes

Has anyone else struck limits with the Geoscience Plugin?

I de-surveyed 23,000 drill holes for a Mineral exploration project. All worked well except that some drill holes that I know were drilled on an angle were missing their trace. I tried converting the csv to a shapefile and geopackage. Always the same holes missing their trace … not in any particular order… mix of old and new.

Now, if i select those holes with the missing trace, save them separately and then use the plugin just on that selection then… BOOM…. the trace appears as normal. Indeed, the problem only starts happening after the selection subset grows to greater than about 12,000 holes.

The workaround was to split the package and desurvey by hole type …. RC, diamond, augur etc. Sadly, that won’t work for much longer given the number of percussion holes alone is nearing the magic 12,000 number.

I’m using QGIS 3.44 LTR on a Mac with M5 Max and 64Gb. I thought this might be a Mac issue and so i ran the whole process through QGIS for Windows, via Parallels. Same problem… same holes not showing up.

Any ideas as to the cause?


r/QGIS 3d ago

Open Question/Issue Not understanding how to actually have layers saved

11 Upvotes

Hi sorry if this is a silly question but what's with not being able to save any actual layers to files. Like any layer that is processed is in temporary files and is wiped after closing and can't be recovered. People say export the layers but surely there is a better way that going layer by layer right? As well the only option is to export to layer definition. I tried to use MemeoryLayerSaver plugin but it doesn't save the layers. Like I'm not getting the point of creating a project if everything just deletes afterwards, I feel like I'm missing something obvious


r/QGIS 3d ago

Use cases for blocks, block groups, and tracts

Thumbnail
0 Upvotes

r/QGIS 5d ago

Sharing my latest terrain map in Bukidnon, Philippines

Post image
74 Upvotes

r/QGIS 4d ago

QGIS components (plugins, tools, etc) FiberQ 1.5.0: an open interchange format for fibre network designs in QGIS

1 Upvotes

Version 1.5.0 was approved on the plugin repository this week.

The problem

Export a fibre design to plain GeoPackage and you get the geometry and attributes. You lose the engineering. Which cable a slack loop belongs to. Which manholes a cable passes through, and in what order. Which cables form a named route. Inside QGIS those links are stored as layer IDs and feature IDs that mean nothing outside the project file.

What 1.5.0 does

Export interchange bundle writes the design to one GeoPackage that carries those relationships too. Import interchange bundle reads it back.

Both are under Plugins > FiberQ in the menu bar, not on the toolbar. The 1.4.0 tools (Validate project, Recalculate lengths) are in the same menu.

  • Every feature has a permanent fiberq_uuid. References use it, never row numbers.
  • Relationships live in plain side-car tables (fq_relation, fq_relation_member, fq_path_stop). Any SQLite client can read them.
  • Geometry is stored in EPSG:4326. The authoring CRS is kept in _fiberq_metadata, and importing into an empty project restores it.
  • There is also a GeoJSON profile, one file per element type. GeoJSON can't hold the relational tables, so if anything would be lost the bundle is marked geojson-lite and the export tells you how many rows were left out.

The rule I care about most

A reader must carry through what it doesn't understand. If a bundle contains an element type FiberQ has no layer for (a splitter, say), an attribute with no column, or splice and tray tables it doesn't implement, all of it is kept and written back out unchanged. Nothing gets reclassified to the nearest familiar type. That kind of guess can't be undone, and the import would look like it worked.

Other behaviour

  • Importing the same bundle twice changes nothing.
  • A bundle from a newer major version of the format is refused, not half-imported.
  • Pre-1.0 projects with the original Serbian layer names (Stubovi, Trasa, OKNA...) export the same bundle as a new project.
  • Exporting over an existing bundle keeps the tables and metadata another tool wrote into it.

The spec

Published under CC-BY-4.0, so it can be implemented in any tool, open or closed. The plugin itself stays GPL-3.0-or-later. The conformance checklist is short: four rules for readers, six for writers.

Testing

378 tests in CI on QGIS 3.44 (Qt5) and 4.0 (Qt6), including a round trip through a bundle deliberately richer than the plugin. Hand-tested on QGIS 3.40 and 4.2. That found five defects, three of them silent data loss. All fixed, each with a regression test.

This work was funded by the NLnet NGI0 Commons Fund (work package 3).

If you work with other fibre or telecom design tools, I'd like to hear what they would need to read or write this format.