I’m struggling with extracting tree crowns in an urban area using ArcGIS Pro and could use some advice. I’m open to try a different platform and methodology as well (I work in python and R). Here’s what I’ve done so far in ArcGIS Pro:
-
I derived a canopy height model (CHM) from LiDAR data.
-
I masked out buildings using a building footprint layer.
-
I extracted all raster pixels from the CHM with an NDVI value of 0.2 or greater, using an NDVI layer.
-
From this new layer, I only kept pixels with values of 2m or higher to filter out low vegetation.
-
This resulted in a final layer, which I’ll call “Trees,” that I believe includes only tree pixels.
-
I used the Focal Statistics tool with the “Mean” statistic on the Trees layer to reduce noise and small variations in the raster.
-
To prepare for Watershed Segmentation, I inverted the smoothed Trees raster, making the tree tops the “lowest” points.
-
I then identified “local maxima” to find the highest points in the Trees layer, which should correspond to individual tree tops. To do this, I used the Focal Statistics tool with the “Maximum” statistic, then compared this raster with the original Trees raster to find pixels where the values are equal, which should indicate tree tops.
-
Ideally, if I get the correct points, I would use the “Watershed” tool with the inverted Trees layer and the points layer to delineate individual tree crowns.
-
This should create a raster where each “catchment basin” represents a tree crown, which I could then convert to polygons.
Thanks in advance for any help or suggestions!
However, I’m having trouble getting accurate points in the “local maxima” step. I’ve tried different resolutions, but I can’t seem to identify the tree tops correctly. Does anyone have suggestions on what I might be doing wrong or how I could refine the data for more accurate points?
RS314 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.