Hot answers tagged

3

To be fully interpretable, the NDVI has to be computed based on "top-of-canopy" reflectance values. By definition, reflectance values are positive numbers between 0 and 1 (which are often multiplied by a power of 10 for storage issue (better to store 8 or 16 bit integer than float). Therefore, in theory, the only case where you could get an invalid ...


2

Specifically about the tutorial provided as example: The positive buffer along Slovenia borders is being applied possibly to avoid empty pixels in the edge of corresponding patches (i.e, pixels only touched in the corner by the polygon mask). The erosion task is being applied over the reference map mask which contains the rasterized polygons and their ...


2

GeoServer provides rendering transformations that can do exactly this. The manual contains an example using Jiffle that calculates NDVI on the fly from multiband Sentinel data. <Transformation> <ogc:Function name="ras:Jiffle"> <ogc:Function name="parameter"> <ogc:Literal>coverage</ogc:Literal> ...


2

I had a similar problem but in my case, the original raster had no data as no data. So, at first, I tried using the following approach but didn't work fine because gdal.open procedure read my no data as 255. ds_Raster = gdal.Open(PathRaster) if ds_Raster is None: print('Could not open', + ds_Raster) sys.exit(1) ## **Raster Georreference** # ...


2

Atmospheric correction is particularly usefull if you need consistency between dates and/or adjacent tiles. Some studies showed that the use of atmospherically corrected images improve the subsequent use of the data. In addition, L2A images also contain flags for unusable data (e.g. clouds, snow...). The drawback is that the flags may contain some errors and ...


2

Sentinel-2 L2A imagery has been processed with ESA's Sen2Cor atmospheric processor. Sen2Cor is top of the line atmospheric processor, so if you have the imagery in L2A you can be assured that the quality will be very good. With this being said, L2A imagery has a shorter availability. If you look at COPERNICUS_SR (Sentinel-2 L2A) and COPERNICUS_TOA (Sentinel-...


2

You can use a window -rasterio.windows.Window to read by pixel offsets. The georeferencing can be easily calculated from the window using the source dataset window_transform method. import random import rasterio from rasterio.windows import Window with rasterio.open('/tmp/test.tif') as src: # The size in pixels of your desired window xsize, ysize = ...


2

To run at scale, rather than calling .compute in a for-loop over each tile, you can submit all the tiles to the backend at once to run in parallel as Workflows Jobs, then asynchronously process them as they complete. First though, you'll need to fix some edge cases with your cloud masking, and express your CDL crop masking in Workflows. We'll walk through ...


1

This could give you some ideas, I use QGIS and networkx python module to check if raster extents intersects: import networkx as nx layerlist = [layer for layer in QgsProject.instance().mapLayers().values()] rasterlist = [] for l in layerlist: for l2 in layerlist: if l.name()!=l2.name() and l.extent().intersects(l2.extent()): if l....


1

Concerning the first point, you have to wait until the image is completely loaded on the GEE map before you export it, and from testing the code above I can see that it takes a couple of minutes. It's a weird GEE glitch or feature that causes images to be exported only as far as they've loaded. Concerning the second point, it is completely normal. Any image, ...


1

You can't reproject an ImageCollection. You can only reproject images. So your code would work like this: var S2_r = S2_f.first().reproject(proj, null, 10); If you want to reproject all images in the collection you need to map over the collection and reproject every single Image. var S2_r = S2_f.map(function(image){ return image.reproject(proj, null, 10); ...


1

NDVI=0 is a valid value, but If you got NAN value there is probably pixles that couldn't get a valid value because they were NAN in the beginning (NAN=Not A Number). Anyway when you got NAN that DOES NOT mean it is 0.


1

An other solution is to use the "Reclassify by table" in the processing menu. With it you can reclass your input pixel with the -32768 nodata value to 0 and set the output nodata to 0 in the advance parameter.


1

In my case, it was a satellite image I needed to convert to 8 bit and it kept outputting no data values when using -scale in gdal_translate. I was able to solve the issue by exporting the raster(right-click layer -> export -> save layer as...) to a new file as rendered data (checkbox at the top of the dialog window).


1

GNSS stands for Global Navigation Satellite System, and is the standard generic term for satellite navigation systems that provide autonomous geo-spatial positioning with global coverage. This term includes e.g. the GPS, GLONASS, Galileo, Beidou and other regional systems. GNSS is a term used worldwide The advantage to having access to multiple ...


1

In you first image, could these be rows of hay to dry it before making the balls? Source: https://www.nga.gov/collection/art-object-page.61104.html For the second case, I absolutely have no idea but it may be an accumulation, a kind of storage structure or an artificial elevation but for which purpose...(?).


1

The code below will extract each Landsat raster pixel as a polygon vector in geopandas.GeoDataFrame format. input_data represents the data in the input xarray dataset; you'll need to substitute in the dataset's geotransform and CRS data for input_transform and input_crs: import numpy as np import geopandas as gpd import rasterio.features import matplotlib....


1

Check out this link: https://stackoverflow.com/questions/38099915/calculating-coordinates-of-an-oblique-aerial-image Milan Zelenka's Java code for these calculations can be found at https://github.com/zelenmi6/thesis


1

You might want the "Freehand Raster Georeferencer" plugin per https://github.com/gvellut/FreehandRasterGeoreferencer or http://gvellut.github.io/FreehandRasterGeoreferencer/ You can then place a raster on the canvas, then move, rotate, stretch, and crop the image visually and interactively.


1

Despite an @AndreJ's comment under this answer the geolagorithms "Create layer from extent" and "Extract layer extent" are both applicable for rasters and running well on QGIS 3.14.


Only top voted, non community-wiki answers of a minimum length are eligible