Today, I am going to present a gist that I developed that separates the masking information contained in a Fmask layer into different bands, to be visualized separately, in QGIS, using the Python Console of QGIS, also known as PyQGIS.
Solutions using rasterio work, we all know that. However, installing rasterio and GDAL in the same conda environment is many times a challenge… So I usually try not to install both of them together. I am showing to you today what I think is, in my experience, the easiest way to save raster data using GDAL.
Today, I am presenting an alternative to raster mosaicking. It’s all about the creation of a virtual raster. The main reason is that a virtual raster file uses much less hard disk space than a raster mosaic. If my rasters are 80KB then that is not a problem, but what if my rasters are each 1GB?
Whatever is your geo-thing, you may have come across a Polygon which needed to be split in half, three parts, five parts (a hundred parts?). Possible applications of the split polygons are performing zonal statistics and terrain parceling (agriculture).
The input layer should be a point layer, in which there should be a point. The coordinates of this point should be the center of the circle (or wedge, or semi-circle). The default width of the wedge is 45°, or one-eight of a circle and the default azimuth of the wedge is 0°. The outer radius is what we are used to simply call a radius of a circle, and the inner radius variable will only be filled when we want to draw a ring or donut-like geometry.
Since, I have been saving the generated files in scratch layers whenever they are intermediate products, of auxiliary nature to the process I am running. This way, they are automatically deleted, and I don’t have to worry about them after executing my code. So, I decided to summarize how I save PyQGIS tool outputs in scratch layers, in case this is useful to someone out there!
This error is especially common when you are re-running a code you have already ran in the past. Sometimes, as I am coding, I run an incomplete version of my code, just to know if the compiler/interpreter accuses any errors. The codes frequently include open and saving items. I thought that the mentioned file would be overwritten every time I ran a file saving in the QGIS Python Console.
ERROR 1: Attempt to write non-multipoint (POINT) geometry to multipoint shapefile. ERROR 1: Unable to write feature 0 from layer points_layer. ERROR 1: Terminating translation prematurely after failed translation of layer points_layer (use -skipfailures to skip errors)
In this post, I show how to perform this process using two different tools, one of them is native of QGIS, and the other is a plugin available on the plugin repository. Then, I comment on how to sample the original raster using an interpolation such as cubic, cubic spline, or bilinear for the sampled value.
First, I will create a purposefully invalid geometry to apply the fix. Then, I will show you two ways to fix it. In one of them, I simply apply the “Fix geometries” native tool of QGIS. The second option I will show here is using the buffer tool. In this simple trick, I will show you how to create an infinitesimal buffer around my broken geometry, which ends up fixing it, but has its perks as well.