I used the dasymetric toolbox to proportion the population of a city based on areas of habitable land. I have the output in a raster file with a corresponding attribute table. My output has a column that has the new population proportioned to each raster zone (there were 42 in total). I have also created a fishnet shapefile.

I'm trying to overlay the raster with the fishnet so I can find out how many people live within each fishnet cell. Though, I am wondering if this is possible in any way.

The software I'm using is ArcGIS 10.4

I am attaching two screenshots. The first is of my raster file with its attribute table and the second is of my shapefile with its attribute table.

My methodology is as follows: I used the nlcd landcover classification raster and clipped it to my area of interest.I then reclassified the raster where I used 0 for areas I consider uninhabitable by humans, i.e. water, ice, etc. then I used 5, 15, 30 and 65 based on population density. Next, I used the dasymetric toolbox to calculate a new population field (NEW_POP in screenshot 1). I joined the raster file with the dasymetric tool output then I deleted areas of the raster with values = 0. The remaining cells can be seen in Screenshot 1.

enter image description here

After that, I converted my landcover raster to a polygon and did a union of the landcover polygon file and fishnet. Then I deleted fields with values = 0.

The output is seen in Screenshot 2.

Is there a way to find the population (derived from the raster file in the column NEW_POP) within each polygon?


2 Answers 2


You will still need to use Lookup to call the population field in your raster. But, you really do not need to intersect with a polygon fishnet feature class using a zonal function. There is an often forgotten raster function called block statistics that, in this case, is far more computational efficient that zonal functions with polygons. Rather than using a cell-based moving window, block statistics use a fixed window, evaluates all cells within the window and writes our a single value for all cells within each window (block).

In the raster calculator you can nest Lookup within a call to BlockStatistics. In this example the block size would be a 10x10 window. You would need to calculate the window dimensions (NbrRectangle) in relation to what you want your block size to be. This would correspond to however you have your fishnet defined.

BlockStatistics(Lookup("DasyRaster1", "NEW_POP"), NbrRectangle(10,10,MAP), "SUM", "") 

It helps if you state in your question what software you're using, but I'm assuming you are using ArcGIS.

It sounds like you just need Zonal Statistics.


  • I've updated my post. When I try to do Zonal statistics as a table, it doesn't allow me to select NEW_POP as my value. Do you know why this could be happening?
    – giskris
    Commented Jun 17, 2016 at 15:48
  • The zonal statistics tool uses the value of the raster by default. You need to create a raster that has NEW_POP as the value which can be done using the lookup tool. desktop.arcgis.com/en/arcmap/10.3/tools/spatial-analyst-toolbox/…
    – Jacob F
    Commented Jun 17, 2016 at 16:00

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.