No project description provided
Project description
xarray-safe-s1
Xarray Sentinel1 python SAFE files reader
Install
Conda
- Install xarray-safe-s1
conda create -n safe_s1
conda activate safe_s1
conda install -c conda-forge xarray-safe-s1
Pypi
- Install xarray-safe-s1
conda create -n safe_s1
conda activate safe_s1
pip install xarray-safe-s1
>>> from safe_s1 import Sentinel1Reader, sentinel1_xml_mappings
>>> filename = sentinel1_xml_mappings.get_test_file('S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE')
>>> Sentinel1Reader(filename).datatree
DataTree('None', parent=None)
├── DataTree('geolocationGrid')
│ Dimensions: (line: 10, sample: 21)
│ Coordinates:
│ * line (line) int64 0 2014 4028 6042 ... 12084 14098 16112 16777
│ * sample (sample) int64 0 1260 2520 3780 ... 21420 22680 23940 25186
│ Data variables:
│ longitude (line, sample) float64 -67.84 -67.96 -68.08 ... -70.4 -70.51
│ latitude (line, sample) float64 20.73 20.75 20.77 ... 19.62 19.64
│ height (line, sample) float64 8.405e-05 8.058e-05 ... 3.478e-05
│ azimuthTime (line, sample) datetime64[ns] 2017-09-07T10:30:20.936147 ...
│ slantRangeTime (line, sample) float64 0.005331 0.005375 ... 0.006382
│ incidenceAngle (line, sample) float64 30.82 31.7 32.57 ... 44.71 45.36 46.0
│ elevationAngle (line, sample) float64 27.5 28.27 29.02 ... 39.89 40.41
│ Attributes:
│ history: longitude:\n annotation/s1a.xml:\n - /product/geolocationGrid...
├── DataTree('orbit')
│ Dimensions: (time: 17)
│ Coordinates:
│ * time (time) datetime64[ns] 2017-09-07T10:29:14.474905 ... 2017-09-...
│ Data variables:
│ velocity_x (time) float64 -116.7 -154.1 -191.4 ... -628.1 -663.4 -698.6
│ velocity_y (time) float64 -3.433e+03 -3.368e+03 ... -2.413e+03 -2.342e+03
│ velocity_z (time) float64 -6.776e+03 -6.808e+03 ... -7.174e+03 -7.194e+03
│ position_x (time) float64 2.892e+06 2.89e+06 ... 2.833e+06 2.826e+06
│ position_y (time) float64 -5.782e+06 -5.816e+06 ... -6.222e+06 -6.246e+06
│ position_z (time) float64 2.869e+06 2.801e+06 ... 1.82e+06 1.748e+06
│ Attributes:
│ orbit_pass: Descending
│ platform_heading: -167.7668824808032
│ frame: Earth Fixed
│ history: orbit:\n annotation/s1a.xml:\n - //product/generalAn...
├── DataTree('image')
│ Dimensions: (dim_0: 2)
│ Dimensions without coordinates: dim_0
│ Data variables: (12/14)
│ LineUtcTime (dim_0) datetime64[ns] 2017-09-07T10:30:20.93640...
│ numberOfLines int64 16778
│ numberOfSamples int64 25187
│ azimuthPixelSpacing float64 10.0
│ slantRangePixelSpacing float64 10.0
│ groundRangePixelSpacing float64 10.0
│ ... ...
│ slantRangeTime float64 0.005331
│ swath_subswath <U2 'IW'
│ radarFrequency float64 5.405e+09
│ rangeSamplingRate float64 6.435e+07
│ azimuthSteeringRate float64 1.59
│ history <U824 'image:\n annotation/s1a.xml:\n - /produ...
├── DataTree('azimuth_fmrate')
│ Dimensions: (azimuthTime: 11)
│ Coordinates:
│ * azimuthTime (azimuthTime) datetime64[ns] 2017-09-07T10:30:18...
│ Data variables:
│ t0 (azimuthTime) float64 0.005331 ... 0.005331
│ azimuthFmRatePolynomial (azimuthTime) object -2337.303489601216 + 448953...
│ Attributes:
│ history: azimuth_fmrate:\n annotation/s1a.xml:\n - //product/generalAn...
├── DataTree('doppler_estimate')
│ Dimensions: (azimuthTime: 27, nb_fine_dce: 20)
│ Coordinates:
│ * azimuthTime (azimuthTime) datetime64[ns] 2017-09-07T10:...
│ * nb_fine_dce (nb_fine_dce) int64 0 1 2 3 4 ... 16 17 18 19
│ Data variables:
│ t0 (azimuthTime) float64 0.005332 ... 0.005331
│ geometryDcPolynomial (azimuthTime) object -1.070619 - 183.4602·x...
│ dataDcPolynomial (azimuthTime) object -74.90705 + 85274.16·x...
│ fineDceAzimuthStartTime (azimuthTime) datetime64[ns] 2017-09-07T10:...
│ fineDceAzimuthStopTime (azimuthTime) datetime64[ns] 2017-09-07T10:...
│ dataDcRmsError (azimuthTime) float64 6.181 6.181 ... 7.745
│ slantRangeTime (azimuthTime, nb_fine_dce) float64 0.006021...
│ frequency (azimuthTime, nb_fine_dce) float64 -28.36 ....
│ dataDcRmsErrorAboveThreshold (azimuthTime) bool False False ... False False
│ Attributes:
│ history: doppler_estimate:\n annotation/s1a.xml:\n - /product/dopplerC...
├── DataTree('bursts')
│ Dimensions: (burst: 0)
│ Dimensions without coordinates: burst
│ Data variables:
│ azimuthTime (burst) float64
│ linesPerBurst int64 0
│ samplesPerBurst int64 0
│ Attributes:
│ history: bursts_grd:\n annotation/s1a.xml:\n - /product/swathTiming/li...
├── DataTree('calibration_luts')
│ Dimensions: (line: 27, sample: 631, pol: 2)
│ Coordinates:
│ * line (line) int64 0 671 1342 2013 2684 ... 15436 16107 16778 17449
│ * sample (sample) int64 0 40 80 120 160 ... 25040 25080 25120 25160 25186
│ * pol (pol) object 'VV' 'VH'
│ Data variables:
│ sigma0_lut (pol, line, sample) float64 662.0 661.7 661.5 ... 558.9 558.8
│ gamma0_lut (pol, line, sample) float64 613.4 613.1 612.7 ... 465.8 465.7
├── DataTree('noise_azimuth_raw')
│ Dimensions: (swath: 0, pol: 2)
│ Coordinates:
│ * swath (swath) float64
│ * pol (pol) object 'VV' 'VH'
│ Data variables:
│ line_start (pol, swath) int64
│ line_stop (pol, swath) int64
│ sample_start (pol, swath) int64
│ sample_stop (pol, swath) int64
│ Attributes:
│ history: noise_lut_azi_raw_grd:\n annotation/calibration/noise.xml:\n ...
└── DataTree('noise_range_raw')
Dimensions: (line: 27, sample: 634, pol: 2)
Coordinates:
* line (line) int64 0 671 1342 2013 2684 ... 15433 16104 16775 16777
* sample (sample) int64 0 40 80 120 160 ... 25028 25068 25108 25148 25186
* pol (pol) object 'VV' 'VH'
Data variables:
noise_lut (pol, line, sample) float64 1.641e+03 1.62e+03 ... 0.0 0.0
Example of usage for S3: access
url = 's3:///eodata/..../.SAFE'
storage_options = {"anon": False, "client_kwargs": {"endpoint_url": 'https://'+entrypoint_url, 'aws_access_key_id':access_key,
'aws_secret_access_key':secret_key}}
reader = Sentinel1Reader(url,backend_kwargs={"storage_options": storage_options})
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file xarray_safe_s1-2024.4.19.post1.tar.gz
.
File metadata
- Download URL: xarray_safe_s1-2024.4.19.post1.tar.gz
- Upload date:
- Size: 35.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0da26fb50732049eea4d2a6cbdc442ab124e642b28b9d2d73be899ca12a870d9 |
|
MD5 | 32f66317a58618163ace01351ad48943 |
|
BLAKE2b-256 | 72b8eef23f8cdc73e710b652eeb62b6ca48265de1145281f51b6badd2ec2bb3c |
File details
Details for the file xarray_safe_s1-2024.4.19.post1-py3-none-any.whl
.
File metadata
- Download URL: xarray_safe_s1-2024.4.19.post1-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 263cab96cb7b4e4a4caa0739c5699c1fad5320cd3799905e195ad21fb2639e8a |
|
MD5 | 2fe7b1356ef24cc4fd8e1766908c0a6f |
|
BLAKE2b-256 | 88610a75743357d3e5837304fe2fffc7456b7e7fc12308c6e43768240ccfc323 |