Replies: 1 comment
-
Not sure why this is happening. One possible explanation that you can explore is to see if your CDSM have pixels with very low values close to zero at these locations that can result in strange values. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I’m running the SOLWEIG model in QGIS to estimate outdoor mean radiant temperatures across a large study area. Because the full-resolution DSM/CDSM/vegetation rasters are too big to process in one piece, I slice them into smaller tiles before feeding them into SOLWEIG. I used gdal.Translate (and, in some tests, Rasterio) to cut the original raster into uniform windows. Each tile has the exact same CRS and spatial extent parameters (so there should be no misalignment between adjacent tiles).
When I run SOLWEIG on each individual tile, the resulting temperature outputs look distorted. In particular, areas under vegetation or building shadows consistently show unreasonably low temperatures—almost as if those pixels are “dropping out” or being interpreted incorrectly. Here is a screenshot of one of the SOLWEIG results:

The tiling process was like this.
`def gdal_slice_raster_by_window(
raster_path: str,
out_path: str,
slice_c_off: int,
slice_r_off: int,
slice_win_width: int,
slice_win_height: int,
output_format: str = "GTiff",
creation_options: list = None
):
if creation_options is None:
creation_options = ["COMPRESS=NONE"]
src_ds = gdal.Open(raster_path)
raster_width = src_ds.RasterXSize
raster_height = src_ds.RasterYSize
if slice_c_off + slice_win_width > raster_width or slice_r_off + slice_win_height > raster_height:
raise ValueError("Slice window exceeds raster bounds.")
Each tile still has valid floating-point elevation values (32-bit float). I tried slicing once with Rasterio’s window and read/write APIs instead of GDAL Translate. The tiling outputs (georeference, dtype, nodata) were identical. Yet SOLWEIG still produces the same “cold shadow” artifact. I also tried testing a single tile after clipping using 'Clip Raster by Extent' but same issue happened.
Beta Was this translation helpful? Give feedback.
All reactions