mirror of
https://github.com/heyarne/earth-observation-for-journalism.git
synced 2026-05-07 03:23:40 +02:00
Initial commit
This commit is contained in:
commit
09680432d2
12 changed files with 46756 additions and 0 deletions
36
Waldbraende/sentinel_helpers.py
Normal file
36
Waldbraende/sentinel_helpers.py
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
import zipfile
|
||||
|
||||
|
||||
def band_paths(p, bands, resolution=None):
|
||||
|
||||
'''
|
||||
|
||||
Given a zip file at `p`, returns the paths inside p to the raster files containing
|
||||
|
||||
information for the given bands. Because some bands are available in more than one
|
||||
|
||||
resolution, this can be filtered by prodiding a third parameter (e.g. resolution='10m').
|
||||
|
||||
|
||||
|
||||
The returned paths are formatted in the zip scheme as per Apache Commons VFS and can
|
||||
|
||||
thus be directly opened by rasterio.
|
||||
|
||||
'''
|
||||
|
||||
with zipfile.ZipFile(p) as f:
|
||||
|
||||
files = f.namelist()
|
||||
|
||||
rasters = [f for f in files if f.endswith('.jp2')]
|
||||
rasters = [r for r in rasters for b in bands if b in r]
|
||||
if resolution:
|
||||
rasters = [r for r in rasters if resolution in r]
|
||||
|
||||
rasters = ['zip+file://' + p + '!/' + r for r in rasters]
|
||||
return rasters
|
||||
|
||||
|
||||
def rgb_paths(zip_file, resolution='10m'):
|
||||
return band_paths(zip_file, ['B02', 'B03', 'B04'], resolution)
|
||||
Loading…
Add table
Add a link
Reference in a new issue