I have a raster layer of land-use in my country, and a set of points I'm interested in calculating the land use around (in 1km, 5km, etc., buffer zones). I have read through some of the related posts on this forum but don't seem to be able it figure it out. What I've tried so far is:

  1. Create buffer zones around my points with length 1km.
  2. Clip raster by mask layer of buffer zones.

The problem with this approach is that my clipped raster layer does not distinguish between the many points that I have, so I cannot estimate or save land use around specific points, only average land use in my clipped layer.

Another idea sometimes mentioned in posts is the Spatial Analysis toolbox, but I don't have access to this.

The only approach I can think of left is to create a loop in Python that goes through each point I have, creates a buffer, clips the raster by the buffer, and saves the land use data from that run in a vector, cycling through all of my points. I am wondering if this is the fastest approach.

Is this the right thing to be doing?

What I mean by "calculating land use" - The raster layer I have is categorised by different land uses (e.g., urban, water, ice and snow). I have points, I want to create a buffer around each point (for example, of 1 km), and then for each buffer, I want to know what the land use proportion is.

Ideally, I would end with a database that lists the points I have and the land use proportion around them. Point 1 has 40% urban land use in a 1km area, 20% forest. Point 2 has 30% urban land use, 15% forest, and so on.

  • Raster to Polygons then Tabulate Intersection tool might work (if you have an Advanced license)
    – user2856
    Commented Jan 23, 2023 at 20:29
  • Convert land use to polygons and intersect with buffers. Use pivot table in Excel where polygon id are row names, land use- column names and area is value.
    – FelixIP
    Commented Jan 23, 2023 at 20:31

1 Answer 1


If you're going to be doing any kind of raster analysis in ArcMap or ArcGIS Pro you really need the Spatial Analyst Toolbox. Or find an opensource alternative like QGIS. Having to iterate through all your points individually and vectorizing all your landcover data is unnecessarily multiplying how many places you could have data processing/data quality issues turn up.

Answer below using Spatial Analyst toolbox:

First create binary rasters for each type of landcover using Reclassify. If you have five land covers you'll end up with five separate rasters of 0s and 1s, with the 1st marking where that landcover exists.

Second, take your buffer layer(s) and run Zonal Statistics as Table on each of the binary landcover layers. Calculating the mean will give you the percentage of the buffer covered by that land cover, whereas the sum would give you the area in pixels.

Third, join/pivot all the resulting tables back together so that instead of many entries per buffer each with one landcover you have one row per buffer with multiple columns (one column per statistic per landcover).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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