I am working with US National Grid (USNG) for the whole United States, containing 1 km by 1km polygons which diverge around UTM boundaries. I need to assign the values of a raster in GRID format which also has a 1 km x 1 km resolution, for each respective USNG square. They do not exactly match up. I have tried several methods, and need to determine the best method to accurately get a representation of the raster value for each polygon. I am looking for a solution in ArcMap or ArcGIS Pro. The methods I have tried are:
Spatial Join - convert the Raster cells into point features, and perform a spatial join with the USNG. Pros/Cons: relies on only the closest raster cell.
Zonal Statistics as Table - Calculate the mean raster value for each zone (which are USNG grids). Pros/Cons: can average several raster cells which overlap the grid square, but not as good for cases when one cell covers the majority of the grid square.
Snap Raster - convert the USNG into a raster format(?), and use Snap Raster to align the two. Or some variation of this, where I am aligning the two layers together.
Each approach has advantages and limitations. Is there an additional method I have not considered? Do you have any input on how to best achieve the goal of assigning raster values to a grid, for a very large dataset?
This issue is mostly just accepted, however one option may be to convert the raster to a polygon (so that each cell becomes a square/quadrilateral feature) retaining the cell value as an attribute .
Then split all the polygons along the grid boundary.
There's many ways to do the next step, but I'd take the normal area (SHAPE_AREA) of a cell and let it be '1' for example. If a polygon cell is split on the grid boundary by 50%, take the cell value and divide by 2. I would do this by creating a new float field, and field calculating the new value to be
cell attribute value * (shape_area / standard shape area)
the last step would be to run a spatial join of each grid cell to the polygon cells, with a merge rule set to sum on the newly calculated value field.
N.B Raster to polygon can be very intensive and unwieldy depending on your extent and cell size.