ArcGIS Desktop – Calculating Area Weighted Average of Attributes Using a Separate Grid Shapefile

arcgis-desktop

I have a detailed polygon shapefile with streets, structures/houses, and open areas as land cover data in the attributes table, and each land cover type has a corresponding manning 'n' value associated with it in another column in the table. The manning 'n' value is in decimal format.

I also have a 20'x20' grid shapefile from another program (FLO-2D) with specific grid numbers in the attribute table. I would like to overlay the grid on the land cover file to obtain a weighted manning 'n' value for each 20'x20' grid based on the percentage of land cover type that lies within each 20'x20' grid. There are approximately 400,000 grid cells in the shapefile. Both shapefiles have the same projection.

I'm using ArcMap 10.4 desktop, but do have the spatial analyst extension. The final product I need is the 20'x20' grid shapefile with a weighted average value of manning 'n' for each grid number in the attribute table.

I've tried the zonal statistics and the zonal statistics as table, but the results did not make sense. Is this possible with the 10.4 desktop version and only the spatial analyst?

Best Answer

  1. Intersect Grid with Land Cover
  2. Add a new double field called "AreaWeight" and calculate as Shape Area * Weight (in your case manning?)
  3. Summary statistics with Shape Area and AreaWeight as statistics field with SUM and Grid ID as case field
  4. Add a new double field called "Mean" to output summary table and calculate as SUM_AreaWeight/SUM_Shape_Area
  5. Add a join with Grid as target table, Sumstat table as Join Table and join on the common Grid ID field
  6. Copy Features to make the join permanent

You now have a Area-Manning-Weighted mean column.

enter image description here

Related Question