Sentinel-1 SNAP toolbox image view does not export as Geotiff with spatial reference

Yes,I tried .But has failed.so,what should i do .

for me it works:

Are you sure you selected the right file?

Hello, sorry to re-invoke the thread.
I have a couple of doubts (maybe really basic) regarding exporting the S1 pre-processed image to the geotiff. I get the following error.


My data is EW-GRD over the South pole (in stereographic-south pole).

Also, I need to convert the data because I want to do Texture Analysis, which worked previously with beam-dimap. But now, it gives me a Null-pointer exception, so I thought maybe converting the product to GeoTIFF would help.

Sorry to club the issues
Thanks in advance

sorry, which processing step exactly raises this error? Have you converted the data to GeoTiff already?

I couldn’t.
I just tried to export the processed S1 data (which is corrected geometrically (EC) using Stereographic South pole projection).
Hence, the projection issue.
I had issues performing GLCM on the beam-dimap format of data, so I attempted to convert the format to GeoTIFF, which might help to process the data in QGIS too. But couldn’t succeed.

So you want geocoded textures but you cannot project the data nor convert textures.

I don’t undestand from your message if the data is already projected or not. But we should stick to one topic now, you distributed your problem over various threads, so I had to delete some of them to keep the forum clean.

I just tried with a resampled S2 in dimap format and the texture analysis is working fine. The same with S1B_GRDH with speckle.

Well, apologies for writing over multiple threads.
I just tried to figure out if it already existed and dropped messages thinking it would be relevant there.

Now, regarding the question,
Yes, I did project the scene (basic preprocessing is done till projection), applying textures is also possible.
I’m just unable to export it to GeoTIFF. It gives me the mentioned projection error.

And from the previous thread, after Textures, am unable to perform PCA on the same data. I’m pretty sure the textures has valid data as I cross-checked with histogram too.
Shall I post how the histogram looks?

maybe @marpet has an idea why the data cannot be written as Stereographic South Pole.

Does it work when you project to WGS84?

Yes, WGS84 did work.

I’m sure, it’s projection error, but not aware of the reason.

And can I ask what the values of GLCM on a histogram represent?
After you mentioned, I cross checked the values on histogram- it’s quite varying.
Like dissimilarity shows: 0 -29, ASM: 0-4, Entropy: -1 to 10, Mean: 0 - 62 and variance is 0-1922. Can this be normal?

yes, this is normal, because they originate from different sources. We discussed this here: GLCM Range Value for the SAR texture analysis

Glad to know it’s normal.
So, technically PCA should work. How much should I set maximum count to? I didnot change the default -1 for the first time and changed it to 4 for second time, the error was same in both cases.

Also, can I interpret anything from the glcm histogram apart from distribution? I suppose it’s got no unit since it’s a statistical measure between grey level pixels.

How in snap can I derive more information on it ? (any supporting information apart from the professor of university of Calgary would be highly appreciated).

-1 means that you compute as much as components as possible, but often the first 5 components are sufficient because anything after that is noise. What error message did you get for the PCA?

yes, bright pixels mean high contrast, energy etc. and dark pixels represent low textures. They are unitless or as defined by their inventors.

Textures represent image patterns at different levels. I could not give any better explanation besides the 74 page summary of Mryka Hall-Beyer (you named it).

Please correct me if my impression is false, but it seems to me that you are not quite sure yourself what exactly you want from the data and how you can achieve it. Maybe you can first share your overall aim and then we can discuss how to approach it in the most suitable way.

1 Like

Thanks, Andreas for answering each point.
I want to do classification - on a dynamic region. Basically looking for transition between seasons of the surface.
For which, textures + Masking (based on DB ranges) - as an i/p to Random Forest seems convincing in my area (this is again mentioned in ur time series tutorial), so am trying to attempt a similar one.

Also, out of topic ques, is it that all the c-band sensors behave similarly? (in terms of intensity ranges - radarsat, sentinel, risat?) Because, I don’t have in-situ data, so if I take a variable range in radarsat - would that apply to S1 as well ? like if water ranges below -17.5/20 DB in radarsat, will that be the same in S1 too?
I want a multi-temporal classified image (which can capture the dynamics of the surface) - I hope am clear.

Thanks for your time

Sorry, I’m still not quite clear. Do you have images of multiple dates and you want to classify these images separately? If so, working with textures can be challenging, because these textures are quite sensitive to look direction, degree of speckle and incidence angle.
Or do you want to combine images of different dates in one stack and then analyze this stack for dynamics? In that case, PCA is more effective than textures.

C-band data is comparable once it is calibrated to Sigma0, because after that, the impact of spatial resolution on backscatter intensity is reduced. But it is always a good idea to compare how well this worked.

Images of multiple dates & want to classify them. I need seasonal behaviour- & I thought stacking them is a better idea because I can use a time-series graph. But again, it just takes point-wise data.

So, combine images of different dates in one stack and then analyze this stack for dynamics - is what I want. Am looking for methods.
So, Texture works better for single images & PCA for stack? (did I get that right?)

so I would first coregister all images into a stack, then terrain correct the stack and then create RGBs, apply PCA or use the mask manager to extract the dynamics you are interested in.

1 Like

Thank you so much.

Hello Andreas,
In continuation to the above info, I just need to ask a few things. I have created a stack and am trying to generate a classified image based on intensity ranges (like the one u did in the Time-series tutorial).
I just wanna ask if there is a way, I can extract all the pixels within a range in the entire stack and assign a class to it? Is it possible using band math?

Also, What exactly do I get out of PCA? I just know that it would give around 3 to 4 bands - but what does this mean? Can you please share any material?

Also, in one of your tutorials on Land cover classification, you mentioned rule-based classification - is it possible in ESA’s SNAP (if yes, how?) Page 15 - it is mentioned that “systematic thresholding is applied to the four bands in order to separate the four target classes in a hierarchical way” - what does this mean?

You also mentioned applying Textures which adds as an additional i/p to RF. Can you please explain how it works- as I assume textures don’t work on a stacked product.

Sorry for the long message, but I’m a little confused with these techniques.

Sorry, It’s not clear to me. You mean you want to apply the same threshold to all bands in the stack?

PCA stands for principal component analysis. It shows you the variation throughout a multitude of bands but reduced to less bands. This introduction is brief and clear: Principal Components Analysis []

Currently, the rule-based classification is not directly implemented in SNAP, but you can combine rules with the mask manager to systematically identify pixels which fulfill several criteria.

Applying textures to a full stack makes little sense because many of the bands are rather redundant. You can select one band with high meaning (e.g. average VV) in the module so the textures will only be computed on this band. The result is a new product containing the textures. Sometimes these are rather similar, so you can inspect them andcopy the bands into the multi-temporal stack with the Band Maths (because they have the same dimensions).

1 Like