I'm trying to do a very simple analysis where I need to find all land cover of a certain type within 30 meters of a stream. I have a raster from the National Land Cover Database (NLCD) from which I've pulled out the relevant pixels and the National Hydrography Dataset stream network.
All I need to do is buffer the streams by 30m and either:
- Vectorize my NLCD land cover pixels and clip by the stream buffers, or ...
- Rasterize my stream buffers and pull out the NLCD pixels that overlap them.
(I know these aren't quite equivalent methods in terms of results, but that's OK for the purpose of this question)
The issue is that I need to do this for the whole U.S. Even if I break up the streams and the land cover by county (i.e. into ~3,100 pieces) to avoid out-of-memory errors from buffering/clipping/etc. such large datasets, and it takes 1 minute to process each county (WAY optimistic, it seems to me), the analysis would still need to run for >50 hours!
Is there any way optimize this so I can get the runtime down to perhaps 24 hrs?
I am working in ArcGIS Desktop (ArcMap 10.3.1). My data is a line feature class in a file geodatabase (for the streams) and an 8-bit unsigned integer TIFF that I've imported into that same geodatabase. Everything is projected to USA Contiguous Albers Equal Area Conic.