It is surprising to ask a question about the simplest task I’ve put to the SNAP program yet! I have slight offsets between SAR images and simply want to shift each of them in x and y to match a master vector dataset. These are small offsets in the existing projection, on the order of 20 m or less, before processing with other techniques. Your thoughts are welcome and appreciated for such a simple task!
There is no shift operation available in SNAP.
But you could create a subset and cut-off some pixels.
The question is also is the shift constant over the whole image?
Maybe it is better to improve the geo-location?
You could use GCPs for this. I’ve mentioned it here:
Have you already performed the usual processing steps for SAR data?
Thank you Marco. Yes, we are dealing with the S1 timeseries where the geolocation is plus or minus a pixel or so on some images. In our timeseries the offset in some images is only on the Y axis so there is not a need to remap all the pixels using a GCP model. Perhaps this is the only way to do this in SNAP. We are extracting pixel data from a rather large set of images so these offsets among images contain backscatter from sliver/edge targets we do not wish to describe statistically. Can the metadata in the *.dim file be changed in a manner like that can be done with a geotiff world file, for example? The approach I hope to employ does not change the array but instead only the geocoding of it. I have a programmer that could manipulate the dim file, if that is a viable approach and if you could point us to the right metadata records. Your thoughts?
Sorry…missed your last question. The images are sigma naught in dB using meters (UTM N WGS84).
Modifying the *.dim file would work.
Having the data reprojected to UTM you can change the values of the affine transformation.
In the *.dim file you will find a section (new line 40) like this:
<Geoposition>
<IMAGE_TO_MODEL_TRANSFORM>3.4521084625273746,0.0,0.0,-3.4521084625273746,471058.4096426825,7795161.477930118</IMAGE_TO_MODEL_TRANSFORM>
</Geoposition>
These are the values for the matrix in the order [m00, m10, m01,m11,m02,m12]
[ x'] [ m00 m01 m02 ] [ x ] [ m00x + m01y + m02 ]
[ y'] = [ m10 m11 m12 ] [ y ] = [ m10x + m11y + m12 ]
[ 1 ] [ 0 0 1 ] [ 1 ] [ 1 ]
m00 and m11 specify the pixel spacing in x and y and m02 and m12 specify the upper-left corner.
You need to adjust m02 and m12 to shift image
Great…thank you!