QGIS Raw Pixel Values – How to Expose Raw Pixel Values Instead of RGB in ArcGIS Image Service

image-serviceqgisraster

I'm doing some analysis on these InSAR vertical displacement ImageServers published by California Department of Water Resources – also visualized in their public data viewer. I successfully loaded them into QGIS 3.20 as an ArcGIS REST Server. However, I am not able to see or analyze the actual pixel values of the raster, which represent the vertical displacement in feet. Exporting to GeoTIFF or geopackage produces a raster with the RGB values of the default symbology. I have tried changing the output mode from rendered image to raw data with no effect. The sample raster tool yielded NULL values. Ultimately I would like to be able to perform zonal statistics on the interpolated vertical displacement value within a single groundwater basin.

The Department confirmed the image services carry the RGB values of the default symbology and the raw pixel values. Their tech only works in ESRI so is not sure how to get the values in QGIS. In ArcGIS Pro, the solution to expose the raw values is layer properties -> set processing template = none:

Solution in ArcGIS Pro: layer properties -> processing template = none

How can I implement this solution in QGIS?

I am not able to find a similar option to "processing template" in layer or image service properties.

Best Answer

QGIS gets the images from the ArcGIS server with this kind of requests

https://gis.water.ca.gov/arcgisimg/rest/services/SAR/Vertical_Displacement_TRE_ALTAMIRA_v2020_Annual_Rate_20160101_20170101/ImageServer/exportImage?bbox=-119.794649,34.532122,-117.259041,35.657096&size=862,382&format&layers=show:&transparent=true&f=image

The result is an image that is rendered with colors and there is nothing that can be done on the QGIS side at this moment. Colors cannot be converted into raw data.

enter image description here

I guess that for accessing the raw imagery the URL should be modified somehow but unfortunately I do not know in which way.

I noticed also that the normal QGIS Identify Features tool tries to query the pixel values at a clicked point but something goes wrong. The Debugging/Development tool shows that requests are sent

enter image description here

However, QGIS shows just a message "No features found at this position". But if I copy a request from the debugging tool and paste it into browser I can see that the server does answer. For example:

https://gis.water.ca.gov/arcgisimg/rest/services/SAR/Vertical_Displacement_TRE_ALTAMIRA_v2020_Annual_Rate_20160101_20170101/ImageServer/identify?f=json&geometryType=esriGeometryPoint&geometry=%7Bx:%20-121.132076,%20y:%2038.145169%7D&layers=all:&imageDisplay=1182,650,96&mapExtent=-129.438387,31.996341,-111.223064,42.013228&tolerance=10

Result:

{"objectId":0,"name":"Pixel","value":"-0.0235954","location":{"x":-121.132076,"y":38.145169000000003,"spatialReference":{"wkid":4326,"latestWkid":4326}},"properties":null,"catalogItems":null,"catalogItemVisibilities":[]}