Skip to content

Commit

Permalink
new script
Browse files Browse the repository at this point in the history
  • Loading branch information
spatialthoughts committed Jul 9, 2023
1 parent 21b3309 commit ae9e5ef
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions code/pyqgis/zonal_stats_from_extent.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
mc = iface.mapCanvas()
extent = mc.extent()
geometry = QgsGeometry.fromRect(extent)

vlayer = QgsVectorLayer('Polygon?crs=EPSG:4326', 'extent', 'memory')
provider = vlayer.dataProvider()

f = QgsFeature()
f.setGeometry(geometry)
provider.addFeature(f)
vlayer.updateExtents()

srtm = QgsProject.instance().mapLayersByName('srtm')[0]

results = processing.run("native:zonalstatisticsfb", {
'INPUT': vlayer,
'INPUT_RASTER': srtm,
'RASTER_BAND':1,
'COLUMN_PREFIX':'elevation_',
'STATISTICS':[2],
'OUTPUT':'TEMPORARY_OUTPUT'})

stats_layer = results['OUTPUT']

features = stats_layer.getFeatures()
feature = next(features)
elevation = feature.attributes()[0]
if elevation:
iface.messageBar().pushInfo(
'Processing done', f'Average Elevation in Extent {elevation:.2f}m')
else:
iface.messageBar().pushCritical(
'Error', 'No pixels in current extent')

0 comments on commit ae9e5ef

Please sign in to comment.