A tool that converts spatial surrogates to another grid projection

Does anyone have a script that converts spatial surrogates from one model grid projection to another? I was thinking to create one in python but perhaps someone has already done this and could share.


Unless your grid is a coarser version of the same grid the surrogate was developed for (and fully aligned with the existing surrogate) It is not appropriate to reallocate spatial surrogates – which are typically a fraction of an attribute that appears in a county-grid cell combination to another grid, unless you were to back out the fraction and focus instead on determining the originally source data for the ‘weight’ and then reapportion it to your grid. You may be able to use the tool mentioned by cjcoats to do that – some surrogates include the numerator and denominator used as comment fields so that would be a potential way to get that information. Another possibility is to apply the surrogate to the emissions on the grid they were developed for a key pollutant (ideally one with a thorough coverage – perhaps even a ‘fake’ pollutant) – then you could potentially get the numerator used to compute the surrogate. Then you could create a new surrogate on a different grid from the resulting spatial field.

I’ve done it before using nearest neighbor and the effects were pretty negligible (e.g. going from one 4-km grid-projection to another). I just re-normalized the fractions so they added back up to 1 in each county. That was back in my Igor Pro days (which I don’t use anymore) so I was hoping to get it done in Python which would also allow it to be spatially weighted (instead of just “nearest centroid”). We will end up creating our own road surrogates, but for non-point I plan to use as many of the EPA-provided surrogates as we can (after transferring them to our grid).

Have you considered instead regenerating the surrogates directly on the needed grid from the source Shapefiles?

Almost all of the Shapefiles (save one for Mexico) are available with the SUrrogateToolsDB on the CMAS Center.

We also have posted the 2020 platform Shapefiles to EPA’s FTP site:


Although if you are using a pre-2020 platform some of them will have changed.

That’s what we did last time (after 2010 census). However, due to issues with spatial allocator not consistently running, freezing, and other issues… we had to process many of them manually in GIS. It was incredibly time-intensive, which we would like to avoid this time around. Despite having a very robust linux server, I seem to remember spatial allocator having a lot of problems with memory allocation, especially with 1.33 KM grids.

Have you tried the SurrogateToolsDB version that uses Postgres instead of the older Spatial Allocator?

Nope, I’ll give it a shot with roadways.