qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.43k stars 2.98k forks source link

Vector Visibility/Rendering Mask for Raster Layer #38126

Open Saijin-Naib opened 4 years ago

Saijin-Naib commented 4 years ago

Feature description. I'm not sure if this is feasible, but I think it'd be great to have a Vector Mask that could be applied to Raster data as a visual clip, or a rendering extent.

I'm thinking this would be most of value in the 3D View, especially if/when actual modification and processing of the underlying data is either not possible or not desirable.

This Mask would hide anything outside its bounds, but only for the associated Raster layers.

A use-case where this could be helpful is for visually cleaning-up of a DEM to a Region of Interest, while keeping the full dataset for processing and not needing the time/resources to clip the original data.

A reasonable proxy can be faked with an Inverted Symbol Renderer currently, but this also precludes using basemaps for extra context, and that limitation is what lead me to thinking of the Visibility Mask for Rasters.

Additional context An example of how this cleans things up, faked by doing an Inverted Symbol renderer.

Without Visibility Mask:
image

With Fake Visibility Mask:
image

Composite showing target usability:
image

uclaros commented 4 years ago

I've thought about this many times when working with rasters that have one's legend overlapping the other's content. A virtual clip to my aoi! AutoCAD handles this nicely

gioman commented 4 years ago

@Saijin-Naib see https://grass.osgeo.org/grass78/manuals/r.mask.html

Saijin-Naib commented 4 years ago

@uclaros, yes exactly! Also similar to Pix4D's extent function for subsetting point cloud or mesh.

@gioman, that tool seems to be very similar in purpose, though the UX isn't what I'd hope for, and it carries the disadvantages of reclassing the data to integer.

Ideally, it'd function like currently existing Vector masks and would be easily set in the Layer Properties to keep the behavior consistent.

gioman commented 4 years ago

that tool seems to be very similar in purpose, though the UX isn't what I'd hope for, and it carries the disadvantages of reclassing the data to integer.

mine was just a pointer to a similar tool in a open source software, which could help with ideas and code.

Saijin-Naib commented 4 years ago

Which was very welcome, indeed. Like you said, shows that this is not only thought of, but possible.

Would you have any additional use-cases for this?