Ghent Canopy Loss

Norfolk, VA — satellite analysis, 2011–2023

Norfolk's Ghent neighborhood has a mature urban tree canopy that residents value deeply. The city has not updated its tree survey in years. So we looked at the data ourselves.

Using publicly available USDA NAIP aerial imagery at 0.5-meter resolution, we compared Ghent's tree canopy across seven vintages from 2011 to 2023, then cross-checked our findings against the USDA Forest Service's independent NLCD Tree Canopy Cover dataset. Drag the sliders below to compare.

True Color Aerial

June 2011 (left) vs October 2023 (right). Drag the divider.

Ghent aerial October 2023
Ghent aerial June 2011
Jun 2011 Oct 2023

Color Infrared (CIR)

In color-infrared composites, healthy vegetation appears bright red. Roads and buildings are gray or blue. This makes it straightforward to see where trees have been removed or where new vegetation has grown in.

Drag the divider to compare 2011 (left) vs 2023 (right).

Ghent CIR October 2023
Ghent CIR June 2011
Jun 2011 Oct 2023

Change Map

Vegetation change detected by comparing each pixel's NDVI rank between 2011 and 2023. Only pixels where at least one year had vegetation are highlighted — pavement-to-pavement changes are filtered out.

Vegetation loss Vegetation gain No significant change
Vegetation change map: Ghent 2011 vs 2023

By the Numbers

Study area262 acres~0.4 sq mi of Ghent
Vegetation cover, 2011106 acres40.6% of study area
Vegetation cover, 2023105 acres40.0% of study area
Detected canopy loss35 acres13.4% of study area
Detected canopy gain34 acres13.0% of study area
Stable canopy (unchanged)77 acres29.5% of study area
Net change~−1 acre−0.4%

What the data shows

The headline number — near-zero net change — masks a much more turbulent reality. 35 acres of vegetation were lost and 34 acres gained, meaning roughly a third of Ghent's canopy turned over in twelve years. The trees standing in 2023 are, in many places, not the same trees that stood in 2011.

The change map reveals the spatial pattern. Red clusters concentrate along the commercial corridor (Monticello Ave / Colley Ave) and scatter through residential blocks — marking where mature canopy was removed for new construction, parking expansion, or storm damage. Green patches appear on the east side and in yards where young trees have grown in or landscaping has filled former gaps.

The most important finding: only 77 of Ghent's 106 original canopy acres are still standing. That means 29 acres of mature tree canopy — trees that took decades to reach full size — have been lost and replaced. The 34 acres of new vegetation are predominantly young growth that provides less shade, less stormwater absorption, and less wildlife habitat than the mature canopy it replaced.

Cross-Check: Is this seasonal or real?

A fair objection: the 2023 image was captured in October, while the 2011 image is from June. Could the apparent changes just be deciduous trees losing leaves in fall?

To test this, we ran the same analysis against every available same-season pair. NAIP captured Ghent in June 2011, May 2012, July 2014, and July 2016 — all spring/summer imagery where deciduous trees carry full canopy. If seasonal effects were driving our results, the same-season comparisons would show much less churn. They don't.

Same-season sanity checks

Comparison Seasons Loss Gain Net Stable canopy
2011 → 2012 Jun → May 32.2 ac 32.6 ac +0.4 ac 95.4 ac (31.0%)
2011 → 2014 Jun → Jul 36.2 ac 36.1 ac −0.1 ac 90.8 ac (29.5%)
2011 → 2016 Jun → Jul 41.1 ac 43.8 ac +2.7 ac 86.2 ac (28.0%)
2011 → 2023 Jun → Oct 35.0 ac 33.9 ac −1.0 ac 77.3 ac (29.5%)

Three things jump out from this table:

1. The churn is real, not seasonal. Even comparing June 2011 to July 2016 — both peak summer, both full canopy — we see 41 acres of loss and 44 acres of gain. This is not an artifact of photographing trees in October.

2. Vegetation percentage is rock-solid at 40% across all seven vintages, regardless of season. The rank-based classification identifies the same fraction of the landscape as vegetated every year. What changes is which 40% is green.

3. Stable canopy decreases steadily over time — from 95 acres (1 year later) to 91 acres (3 years), 86 acres (5 years), and 77 acres (12 years). The longer the window, the more individual trees have been removed and replaced. This is the signature of ongoing canopy turnover: the total stays flat, but the same trees progressively disappear.

Key insight: The 2011→2023 figures (35 acres lost, 34 gained) are actually conservative compared to the same-season 2011→2016 comparison (41 acres lost, 44 gained). The October seasonal effect, if anything, is masking some real changes by reducing the apparent greenness difference between trees and the grass/shrubs that replaced them.

Cross-Check: USDA Forest Service data

To further validate these findings, we compared our NAIP-derived results against a completely independent dataset: the USDA Forest Service NLCD Tree Canopy Cover (TCC) product. This is a Landsat-derived, 30-meter resolution dataset produced annually from 1985 to 2023 using Forest Inventory and Analysis (FIA) ground truth data. It represents the federal government's authoritative estimate of tree canopy percentage for every 30×30 meter cell in the contiguous United States.

We pulled TCC values for the same Ghent bounding box across all available years:

YearMean TCC
201118.3%
201218.3%
201318.3%
201418.5%
201518.7%
201619.1%
201719.3%
201819.7%
201920.0%
202020.3%
202120.7%+2.4pp over decade

The NLCD data tells a consistent story: Ghent's aggregate canopy cover is stable to slightly increasing, rising from 18.3% to 20.7% between 2011 and 2021. This aligns with our NAIP finding of near-zero net change (−1 acre out of 106).

Note the difference in absolute percentages: our NAIP analysis finds ~40% vegetation cover while NLCD reports ~20% tree canopy. This is not a contradiction. NAIP at 0.5m resolution detects all vegetation — including lawns, shrubs, and garden beds — while NLCD TCC at 30m resolution specifically measures tree canopy (the overhead projection of tree crowns). Ghent has roughly 20% tree canopy and another 20% of non-tree vegetation, which is typical of an older urban residential neighborhood.

The critical point: both datasets agree on the trend. Total green cover is not declining. But our 0.5m analysis reveals what the 30m NLCD cannot see: the identity of the canopy is changing. Mature trees are being removed and replaced by younger, smaller vegetation that registers the same at 30m but represents a fundamentally different ecological and social resource at the neighborhood scale.

What this means for Ghent

Norfolk's 2009 Urban Tree Canopy study found the city had 33% tree canopy coverage (excluding water bodies) against a goal of 30% by 2040. Ghent's 20% tree canopy is well below the city average. The neighborhood's total coverage is holding steady, but its mature canopy stock is eroding through ongoing turnover.

A mature street tree provides dramatically more ecosystem services than a young replacement. A single large tree can intercept 1,000+ gallons of stormwater per year, sequester 30–50 lbs of carbon, cool surrounding air by 2–9°F through transpiration, and increase adjacent property values by 3–7%. These benefits scale with canopy area, which grows as the square of trunk diameter. A newly planted tree needs 20–30 years to approach these levels of service.

The data suggests that Ghent's canopy challenge is not one of total coverage but of canopy maturity and continuity. The 77 acres of stable canopy — trees that have persisted since at least 2011 — are the neighborhood's most valuable ecological infrastructure. Protecting these remaining mature trees, rather than simply planting replacements for lost ones, would have the highest impact per dollar spent.

Method

Data sources

NAIP imagery was accessed from the Microsoft Planetary Computer STAC API. Seven vintages were available for Ghent: 2011 (June, 1m), 2012 (May, 1m), 2014 (July, 1m), 2016 (July, 1m), 2018 (October, 0.6m), 2021 (September, 0.6m), and 2023 (October, 0.6m). All imagery was resampled to a common 0.5m grid (3,563 × 1,559 pixels) covering the study area.

NLCD Tree Canopy Cover was accessed from the MRLC Consortium WMS service (nlcd_tcc_conus_{year}_v2021-4 layers). This 30m Landsat-derived product is produced annually by the USDA Forest Service using Random Forest models calibrated against Forest Inventory and Analysis plot data.

Norfolk parcel boundaries were queried from the City of Norfolk Open GIS Data ArcGIS REST service (1,427 parcels in the study area).

Vegetation classification

For each NAIP vintage, NDVI (Normalized Difference Vegetation Index) was computed from the Red and NIR bands: NDVI = (NIR − Red) / (NIR + Red). Because NAIP's radiometric processing changed between vintages — making raw NDVI values incomparable across years — we use percentile-rank differencing rather than absolute NDVI thresholds.

Each year's NDVI values are independently ranked from 0 (least green pixel in that image) to 1 (most green pixel). Vegetation is defined as pixels in the top 40% of greenness (rank > 0.60). Change is detected where a pixel's rank shifted by more than 15 percentile points between years and at least one year classified as vegetation. This approach is invariant to absolute radiometric calibration, atmospheric conditions, and sun angle differences between vintages.

Alignment and reproducibility

All images are projected to a common pixel grid using GDAL's coordinate transformation from WGS84 to each scene's native UTM CRS (EPSG:26918). The full target bounding box is transformed to raster pixel coordinates and clamped to the valid raster extent, guaranteeing sub-pixel alignment across all vintages regardless of their individual scene extents.

All processing was done in Rust using the gdal crate. Source code: tools/canopy-loss. The analysis is fully reproducible from public data with no manual steps.