I have it working. My solution was to generate a world file (.pgw in my case as my image was a PNG)
Link and invaluable assistance provided by @MichaelStimson.
Here it is the working code:
IEnvelope envelope = ArcMap.Document.ActiveView.Extent;
byte image = await GetImageAsync(endpointUri, accessToken);
As your data points are regularly distributed (0.25 x 0.25 degrees), you can just rasterize (or "burn") to create a raster layer... you do not have to perform gridding task,
About the the linked question in your comment, unfortunately, the interval between data points were only slightly irregular (like 0.1666 vs. 0.1667) which required to be gridded (by ...
For a non memory-safe option you can efficiently use an apply type function on an sp SpatialPointsDataFrame object. This has the advantage of not having to use which, which replicates a vector the size of your raster (which could be huge), is much faster than a for loop and directly results in an sp point object.
Add libraries and create data
I think it is because you use WMS layer which can be served like a tiled image - not "real" DTM. Why not to use SRTM or EU-DEM?
This is an example of using EU-DEM data. I cropped some part using a polygon layer in SAGA-GIS and then ...
I believe the reason you cannot access the values from this DTM is because it is being served as a WMS, which QGIS is unable to obtain data from.
Sometimes some WMS work as WFS if this one does, the second answer here might be of help.
One approach is to resample your second raster (elevation correction) to fit the size of your DEM. Of course, as you are going from a bigger pixel size to a smaller one, you will have repeated values for each original pixel (see picture below).
Image taken from Chris Garrard's Geoprocessing with Python
On ArcGIS, you can use the Resample tool and use your ...
The problem, as you observed, is that the Rasterize program sets the values outside of the polygons to NODATA (or dummy), and the raster calculator outputs a dummy wherever either raster has a dummy. In QGIS 3.6.3 I've solved this problem by specifying the output carefully in the Rasterize program to give everything outside of the polygons a value of zero.
Try defining the output extent in the coordinate system you are reprojecting the raster to. You can reproject your extent using the following code:
# Code for QQIS 3.xx - QgsCoordinateTransform is different in v 2.xx #
crsSrc = QgsCoordinateReferenceSystem(rlayer.crs())
crsDest = QgsCoordinateReferenceSystem(4326) #epsg of target crs
xform = ...