A collection of common and helpful commands using ISCE, GDAL, Python Tested with ISCE version 2 (20160908), mostly with outputs from topsApp.py
export FILE=S1B_IW_SLC__1SDV_20170204T160912_20170204T160940_004152_0072F4_9D51
gdalinfo /vsizip/${FILE}.zip/${FILE}.SAFE
isce2geotiff.py -i filt_topophase.unw.geo -o filt_topophase.unw.geo.tif -b 2 -c -10 10
(Note: Google Earth Pro is now free, and can open geotifs directly, so do not really need this...)
gdal_translate -of KMLSUPEROVERLAY filt_topophase.unw.geo.tif filt_topophase.unw.geo.kmz
(Note: example for C-band Sentinel-1A Wavelength 0.555 cm)
gdal_calc.py -A filt_topophase.unw.geo.vrt --A_band=2 --calc="A*0.05546576/12.5663706" --outfile=filt_topophase.unw_m.geo --format=ENVI --NoDataValue=-9999 --overwrite
if you are unsure of the UTM zone, here is a nice utility: http://www.geoplaner.com/ and EPSG codes can be found here: http://www.spatialreference.org/
gdalwarp -of VRT -t_srs EPSG:32718 filt_topophase.unw_m.geo filt_topophase.unw_m.utm
iscehelp.py -t Sensor -a sensor=SENTINEL1
looks.py -i filt_topophase.flat -r 4 -a 4 -o filt_topophase.flat.4lks
For example mean incidence and heading angles. Band 1 is incidence (radar los to surface normal), Band 2 is heading (positive clockwise from due east):
isce2gis.py vrt -i los.rdr.geo
gdal_edit.py -a_nodata 0.0 los.rdr.geo.vrt
gdalinfo -stats los.rdr.geo.vrt
topsApp.py —-dostep=geocode topsApp_geocodeonly.xml
where topApps_geocodeonly.xml has:
<?xml version="1.0" encoding="UTF-8"?>
<topsApp>
<property name="geocode list">
<value>["filt_topophase.flat.4lks"]</value>
</property>
</topsApp>
gdalwarp -of ENVI -ot CFloat32 -srcnodata 0 -dstnodata 0 20160322_20160415_*/merged/*filt_topophase.flat.geo.vrt filt_topophase_merged.flat.geo.vrt
note image size (-ts 450 450) can be determined from gdalinfo filt_topophase.unw.8alks_8rlks.geo.vrt
gdaltindex clipper.shp filt_topophase.unw.8alks_8rlks.geo.vrt
gdalwarp -ts 450 450 -cutline clipper.shp -crop_to_cutline /dems/demLat_S04_N12_Lon_W081_W070.dem.wgs84.vrt dem.tif
isce2gis.py vrt -i filt_topophase.flat.8alks_8rlks.geo
gdal_calc.py --type Float32 -A filt_topophase.flat.8alks_8rlks.geo.vrt --calc="numpy.angle(A)" --outfile=filt_topophase.flat.8alks_8rlks.geo.phs.tif --NoDataValue=0.0 --overwrite
gdaldem color-relief -alpha filt_topophase.flat.8alks_8rlks.geo.phs.tif colors.txt filt_topophase.flat.geo.8alks_8rlks.phs.rgba.tif
where colors.txt is something like this:
-3.14 46 154 88 255
-1.57 251 255 128 255
0 224 108 31 255
1.57 200 55 55 255
3.14 215 244 244 255
nv 0 0 0 0
import isce
import pickle
with open('PICKLE/updatepreprocinfo', 'rb') as f:
insar = pickle.load(f)
# insar is a dictionary in this case:
insar['sensor']
wget https://datapool.asf.alaska.edu/SLC/SA/S1A_IW_SLC__1SSV_20141024T160957_20141024T161028_002973_003616_3171.zip
export LAT=1.22
export LON=-77.37
export ORBIT=120
curl https://api.daac.asf.alaska.edu/services/search/param?intersectsWith=point%28$LON+$LAT%29\&platform=Sentinel-1A\&processingLevel=SLC\&relativeOrbit=$ORBIT\&output=metalink > query$ORBIT.metalink
aria2c --http-auth-challenge=true --conf-path=asf.conf query$ORBIT.metalink
Where asf.conf contains the following:
http-user=<CHANGE>
http-passwd=<CHANGE>
max-concurrent-downloads=5
check-certificate=false
allow-overwrite=false
auto-file-renaming=false
always-resume=true