Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import rasterio, fiona
- from rasterio import features
- uidfield = #whatever field contains unique values for extraction
- infile = #input shapefile
- inraster = #input raster
- with rasterio.open(inraster, 'r') as src:
- rasArr = src.read_band(band_no)
- oshape = src.shape
- otrans = src.transform
- with fiona.open(infile, 'r') as shp:
- fields = list(set(feat['properties'][uidfield] for feat in shp))
- sampleRaster = features.rasterize(
- ((feat['geometry'], feat['properties'][uidfield]) for feat in shp),
- out_shape=oshape,
- transform=otrans)
- #list of unique values
- values = list(np.mean(rasArr[np.where(sampleRaster == i)]) for i in fields)
- print values
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement