[GIS] Multiplying Raster Value with Pixel size using QGIS

areapopulationqgisraster

i'm working on a map with population densities. My raster data contains values as [People/square meter] for each cell. I have per capita values of energy demand etc. which I want to multiply with the raster to get a spatial distribution of the demand, but this requires the number of people in one cell. Consequently i'd have to multiply the population density values with the area of each cell, but here's the problem:

Each cell is 0.0083 degrees but depending on the distance from the equator has a different area.

How can I extract the area values from this raster/ directly calculate population numbers of the cells?

My first try was to vectorize the raster, calculate the area for each polygon and rasterize again, but vectorizing it, QGIS consolidates cells with similar values to one polygon. From 660,000 raster cells I get 60,000 polygons.

Best Answer

You should be able to use the method you were describing above, but create your vector layer using the 'vector grid' tool under the vector>research tools menu.

This has a checkbox to align the extents and resolution of the vector grid to a raster layer, so should give you a perfect match with your original raster, and also remember to check the option to output as polygons (it's set to lines by default)!

You should then be able to calculate the area of each cell and convert back to a raster as you described above.

Related Question