Populate zero field population values depending on area size

09-18-2017 02:49 PM
New Contributor

Hello. I have a polygon shapefile of census data (layer "Census") containing  total population Information (field CENS_POP). of each census block. Also I have a polygon shapefile (layer "Intersect") which parts are inside Census layer. Some of these polygons from "Intersect" layer have a population information, but some of them have a zero values. Also I have a population sum of polygons inside each census block(field "POP_SUM" from "Intersect" layer. That what I want is to calculate a zero values polygons from "Intersect" layer which are placed inside each Census block from "Census" layer. My idea is to subtract sum population (field "POP_SUM") from a total population of each block (field "CENS_POP") and that result will populate a one zero value polygon from "Intersect" layer. That is easy to calculate for polygons where I have just one zero value of population, but in case where I have more zero values I must to calculate population depending on area using simple proportion (for example if my subtraction result is 100 and I have a two zero vales areas, and if both are equal that mean that one should have a population of 50 and the second one 50 too.

In attached example violet borders are from layer "Intersect"(violet labels are areas of each part), black borders with green fill are "Census" areas (black label is total census block population), and the orange label is population sum of areas from "intersect" layer.

How I can calculate this using field calculator in ArcGIS desktop?

I think that is possible using some python code with IF function.

0 Kudos
1 Reply
MVP Emeritus

why don't you just query for the polygons that have a population > 0?

On that note, is 0 really 0 population or is it being used as 'no data'?  It would be preferable to use a negative value for a no data value,... that is, something that can't exist (ie -1 population isn't possible)