I have a raster data set of land cover and a set of residential addresses (points).

I want to find out what percentage of each land cover type is within 1km of each address (i.e. in a 1km buffer around each point).

The raster land cover data and the addresses (plus associated 1km buffers) It is possible in Arc to use Intersect to do this, but only where both sets of data are polygons. My raster land cover data are too large to convert to polygons.

The resulting layer - each buffer and its associated land cover areas are individually identifiable

The table I need to output should contain the ID of the buffer and the areas covered by each land cover type within that buffer.

I am happiest to use ArcGIS Desktop or R to do this, if possible.

closed as too broad by PolyGeo Dec 4 '18 at 21:49

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Welcome to GIS SE! As a new user be sure to take the Tour to learn about the site and its protocols. By asking how to do the same thing in either of two products you are effectively asking two questions which makes this too broad. Please use the edit button beneath your question to focus your question on one or other. I recommend asking about the one you are most likely to use. You can always ask about the other one in a separate question. – PolyGeo Dec 4 '18 at 21:48

The only way to get exact areas is as you are doing it, convert raster to polygons. You could wrap this up in a model and by setting the extent to the currently processing feature. This could be used to limit the extent of the conversion from raster to polygon and will speed up processing.

Approaching this way means you can deal with the fact some of your buffers overlap.

Finally if you really want to take it to the next level you could parallelize the problem in python using the multiprocessing module.

Not the answer you're looking for? Browse other questions tagged or ask your own question.