2

I have a shapefile having 1000s of non overlapping polygons. I have got seamless layer of DEMs which cover the full extend of this polygon shapefile.

I want to find out the maximum altitude value in each of these polygons automatically. Is there any way to do in Qgis, ArcGIS, gdal or any other open source application.

closed as too broad by PolyGeo Jul 5 '16 at 20:23

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Please only ask about one GIS software. Otherwise this is effectively 3+ questions and contrary to the Tour. – PolyGeo Jul 5 '16 at 20:24
1

1.- Obtain a shapefile for each polygon in your shapefile with MultipartToSinglepart.

2.- Use ExtractByMask with your DEM raster and each single polygon/shapefile obtained from the prior step.

3.- Then for each raster obtained, use GetRasterProperties (MAXIMUM)

That way you'll get the max elevation value for each of your polygons.

3

You can use the Zonal Statistics tool of QGIS (also available through the Processing Toolbox)..

enter image description here

Giving the raster in input and choosing the vector with all your polygons, the algorithm will write for each feature (so for each polygon) some raster statistic, one of them is the max value.

enter image description here

0

Raster to Point will create a point grid with values based on each pixel in your DEM. Depending on the spatial resolution and size of your data set this might not be the best option. However, if you do choose this option, you can then use calculate geometry to find the max value within each polygon.

Not the answer you're looking for? Browse other questions tagged or ask your own question.