0

I have a multi-band raster with 8 different types of land cover, and I'd like to know what area or percentage of the whole area is taking particular types. What is the best way to calculate them?

Multi-band raster

2
  • Is all the data in 1 band? or across all bands? Do you want to know the stats for all 8 bands separately, or can you merge it all into one layer? we need more details to be able to suggest a solution
    – GeoMonkey
    Dec 6, 2022 at 19:06
  • All the data is in 1 band, there is no attribute table. I wish to know the stats in general, so merge them all into one layer
    – Guest78901
    Dec 19, 2022 at 21:47

2 Answers 2

0

To be honest I'm not sure if this will work on a multiband raster since I think I have only done it for single band, but it is at least something to look at while waiting for more answers.

Not sure what software you're using, but general steps could be to group the pixels into regions based on their land cover values with a tool like 'Region Group' in ArcGIS (sort of like creating polygons). Other software should have equivalent tools, but not sure what they would be called.

Then find the pixel cellsize from the raster by looking at its properties (e.g.; 10 m cellsize) and calculate area of one pixel (e.g.; 10 m x 10 m = 100 sqm).

If (this is a big if) your raster has an attribute table, it should have a field with count of cells per region after you have grouped into regions. Then you can create a new field in the table, and calculate it to hold the cell count * pixel area (e.g.; 500 cells * 100 sqm). Then viola, you have a field of areas for the land cover regions! If your raster does not have an attribute table, you could try to build an attribute table with a tool like 'Build Attribute Table', but I believe this might only work for single band rasters. Ultimately you may have to do some technical finagling on steps that will work for your raster and software, but I believe the conceptual part of this process is along the lines of what you want.

0

A very good way to calculate the percentage of each area is by using tool "Raster layer unique values report". It will create a html file with number of pixels in each class. Then you can οutput the results into an Excel file to calculate the percentage. It is essential to merge those bands into one first, so a band include all diffenent areas.

In the image you can see an example of output results.

Example of output

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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