How Much Greener Is Calgary in 2025?

Delta NDVI 2025 2024

Ever wonder how Calgary’s trees and lawns reacted to the rainy summer of 2025 compared to the 2024 drought? Instead of just guessing, I ran the numbers. I analyzed over 8.5 million Sentinel-2 satellite data points to calculate the exact vegetation index (NDVI) for the entire city.

Here is the big picture of Calgary’s green space in the summer of 2025:

Calgary Vegetation Index (NDVI) — Summer 2025. Blue and green indicates areas with dense, healthy vegetation

But the real story is in the dynamics. Where was the biggest growth? On the map below (ΔNDVI), green areas highlight a massive jump in vegetation, while red shows areas that actually no changed or lost green space.

Vegetation Change (ΔNDVI): Summer 2024 vs. Summer 2025. Green areas highlight significant growth, while red shows no change in green space

Surprised by who grew the most? The data reveals a clear trend. Older, established communities (like Roxboro and Queens Park Village) saw the biggest boost, thanks to the deep root systems of mature trees. Unsurprisingly, the concrete-heavy and actively developing city edges lost ground. Here are the top 5 “greened-up” and the bottom 5 “lagging” communities in Calgary:

ΔNDVI (2025-2024): Top-5 and Bottom-5 Calgary Communities

How Did Your Neighborhood Do? I put together an interactive table for all residential communities. You can look up your neighborhood to see its average greenness scores for 2024 and 2025, and check the net growth (Delta). Click the column headers to sort the data and see who came out on top!

CommunityNDVI 2024NDVI 2025Δ NDVI
TWINHILLS0.370.50.13
QUEENS PARK VILLAGE0.260.480.21
ROXBORO0.250.470.22
SHAGANAPPI0.280.470.19
RIDEAU PARK0.240.440.2
WILDWOOD0.250.440.2
WINDSOR PARK0.260.430.17
WINSTON HEIGHTS/MOUNTVIEW0.260.430.17
COLLINGWOOD0.230.420.18
DISCOVERY RIDGE0.250.410.17
VALLEY RIDGE0.250.410.16
WOODLANDS0.260.410.16
ELBOW PARK0.220.40.18
MEDICINE HILL0.240.40.16
UPPER MOUNT ROYAL0.230.40.18
AMBLERIDGE0.310.380.07
COUNTRY HILLS0.250.380.13
CRESTMONT0.250.380.13
MAPLE RIDGE0.240.380.14
PATTERSON0.230.380.15
SCARBORO0.210.380.17
SPRUCE CLIFF0.220.380.16
BEL-AIRE0.210.370.16
CHARLESWOOD0.210.370.16
COUGAR RIDGE0.220.370.15
INGLEWOOD0.210.370.16
ROSEDALE0.210.370.17
CHAPARRAL0.230.360.13
DIAMOND COVE0.210.360.15
HAMPTONS0.220.360.14
HIGHWOOD0.20.360.15
BRITANNIA0.20.350.14
DEER RUN0.20.350.14
EDGEMONT0.210.350.14
ERLTON0.190.350.16
GLENDALE0.20.350.15
HIGHLAND PARK0.20.350.16
MAYFAIR0.20.350.15
OAKRIDGE0.20.350.14
OGDEN0.20.350.15
PARKHILL0.20.350.15
PARKLAND0.210.350.14
PUMP HILL0.20.350.15
RENFREW0.20.350.14
SPRINGBANK HILL0.210.350.14
VARSITY0.210.350.14
HIDDEN VALLEY0.210.340.12
LEGACY0.220.340.13
MOUNT PLEASANT0.190.340.15
SOUTHVIEW0.210.340.13
STRATHCONA PARK0.20.340.14
WILLOW PARK0.210.340.14
ALTADORE0.190.330.13
BELVEDERE0.240.330.09
BONAVISTA DOWNS0.20.330.14
BOWNESS0.20.330.14
CAMBRIAN HEIGHTS0.190.330.14
CHRISTIE PARK0.190.330.14
CRANSTON0.20.330.13
ELBOYA0.190.330.14
SILVER SPRINGS0.20.330.13
THORNCLIFFE0.20.330.14
TUSCANY0.210.330.12
ASPEN WOODS0.190.320.14
BAYVIEW0.180.320.14
BELMONT0.20.320.11
CANYON MEADOWS0.190.320.12
CAPITOL HILL0.180.320.14
CHINOOK PARK0.180.320.14
DEER RIDGE0.190.320.13
DOUGLASDALE/GLEN0.190.320.13
LAKEVIEW0.190.320.13
MCKENZIE LAKE0.190.320.13
QUEENSLAND0.190.320.13
RANCHLANDS0.180.320.14
ROSEMONT0.180.320.14
VISTA HEIGHTS0.20.320.12
WOODBINE0.190.320.12
ABBEYDALE0.190.310.12
BRAESIDE0.190.310.12
CEDARBRAE0.190.310.12
COACH HILL0.180.310.12
DALHOUSIE0.180.310.13
DOVER0.190.310.13
HAWKWOOD0.180.310.13
KINCORA0.20.310.11
MACEWAN GLEN0.190.310.12
NORTH HAVEN0.180.310.12
RED CARPET0.190.310.12
RICARDO RANCH0.260.310.05
ROCKY RIDGE0.190.310.12
ROYAL OAK0.190.310.12
SCARBORO/SUNALTA WEST0.180.310.13
SILVERADO0.210.310.1
SOMERSET0.190.310.12
UNIVERSITY HEIGHTS0.180.310.13
BRIDLEWOOD0.190.30.1
CITADEL0.170.30.13
CRESCENT HEIGHTS0.170.30.13
EAGLE RIDGE0.180.30.13
EAU CLAIRE0.160.30.14
FAIRVIEW0.180.30.13
FOREST HEIGHTS0.180.30.12
GREENVIEW0.170.30.13
HUNTINGTON HILLS0.180.30.12
MIDNAPORE0.180.30.12
MONTEREY PARK0.180.30.11
NORTH GLENMORE PARK0.180.30.12
NORTH HAVEN UPPER0.180.30.12
PALLISER0.180.30.12
PANORAMA HILLS0.190.30.11
RAMSAY0.170.30.14
RIVERBEND0.170.30.13
RUTLAND PARK0.180.30.12
SCENIC ACRES0.180.30.11
SUNDANCE0.180.30.12
WESTGATE0.170.30.13
ACADIA0.180.290.12
BEDDINGTON HEIGHTS0.170.290.12
CORAL SPRINGS0.180.290.11
FALCONRIDGE0.170.290.12
GARRISON WOODS0.160.290.12
GLENBROOK0.170.290.12
HOUNSFIELD HEIGHTS/BRIAR HILL0.170.290.12
KELVIN GROVE0.170.290.12
LAKE BONAVISTA0.170.290.12
MAYLAND HEIGHTS0.180.290.12
PINERIDGE0.170.290.11
POINT MCKAY0.170.290.13
RICHMOND0.170.290.12
SANDSTONE VALLEY0.180.290.11
WEST SPRINGS0.180.290.11
WHITEHORN0.170.290.12
YORKVILLE0.250.290.04
APPLEWOOD PARK0.170.280.11
BANFF TRAIL0.160.280.12
BRENTWOOD0.170.280.11
CASTLERIDGE0.170.280.11
CLIFF BUNGALOW0.160.280.13
COPPERFIELD0.180.280.11
EVERGREEN0.170.280.11
FOREST LAWN0.170.280.11
GLAMORGAN0.170.280.12
HASKAYNE0.210.280.07
HAYSBORO0.170.280.11
KILLARNEY/GLENGARRY0.160.280.12
LEWISBURG0.230.280.05
MILLRISE0.170.280.1
OSPREY HILL0.20.280.08
SIGNAL HILL0.170.280.11
ST. ANDREWS HEIGHTS0.180.280.11
TEMPLE0.170.280.11
TUXEDO PARK0.160.280.12
UNIVERSITY OF CALGARY0.170.280.11
BANKVIEW0.150.270.12
COVENTRY HILLS0.170.270.1
ERIN WOODS0.160.270.11
HARVEST HILLS0.160.270.11
MARLBOROUGH PARK0.170.270.1
MCKENZIE TOWNE0.160.270.12
MONTGOMERY0.160.270.1
PENBROOKE MEADOWS0.170.270.11
RUNDLE0.160.270.11
SUNNYSIDE0.160.270.11
WALDEN0.160.270.11
ALBERT PARK/RADISSON HEIGHTS0.160.260.1
BRIDGELAND/RIVERSIDE0.150.260.11
GARRISON GREEN0.150.260.11
HILLHURST0.150.260.11
HUXLEY0.240.260.02
KEYSTONE HILLS0.180.260.08
KINGSLAND0.150.260.11
MARLBOROUGH0.150.260.1
NEW BRIGHTON0.150.260.11
SHAWNEE SLOPES0.170.260.1
SOUTHWOOD0.160.260.1
WEST HILLHURST0.150.260.1
ARBOUR LAKE0.150.250.11
AUBURN BAY0.150.250.1
CORNERSTONE0.180.250.07
GLACIER RIDGE0.210.250.04
GREENWOOD/GREENBRIAR0.160.250.09
HOTCHKISS0.180.250.07
LINCOLN PARK0.150.250.09
MARTINDALE0.150.250.1
NOLAN HILL0.160.250.09
PARKDALE0.150.250.1
SHAWNESSY0.160.250.09
SHERWOOD0.160.250.09
SOUTH CALGARY0.150.250.1
TARADALE0.150.250.1
WOLF WILLOW0.160.250.09
EVANSTON0.160.240.09
RANGEVIEW0.230.240.02
SAGE HILL0.160.240.08
HOMESTEAD0.150.230.07
ROSSCARROCK0.140.230.09
UNIVERSITY DISTRICT0.150.230.07
ALPINE PARK0.220.220
CITYSCAPE0.140.220.07
SADDLE RIDGE0.140.220.08
SKYVIEW RANCH0.130.220.09
CARRINGTON0.160.210.05
CHINATOWN0.120.210.09
CURRIE BARRACKS0.140.210.08
MEADOWLARK PARK0.120.210.08
MISSION0.120.210.1
MORAINE0.220.21-0.01
PINE CREEK0.160.210.05
REDSTONE0.130.210.08
SUNALTA0.130.210.08
COUNTRY HILLS VILLAGE0.130.20.07
MAHOGANY0.130.20.07
DOWNTOWN EAST VILLAGE0.110.190.08
SYMONS VALLEY RANCH0.170.190.02
LIVINGSTON0.170.180.01
SETON0.140.180.04
LOWER MOUNT ROYAL0.10.170.07
DOWNTOWN WEST END0.10.140.05
MANCHESTER0.080.130.05
BELTLINE0.070.110.04
DOWNTOWN COMMERCIAL CORE0.040.050.02

For a much closer look at your local parks and streets, you can explore my published community atlases, where each neighborhood has its own dedicated page The Greenness of Calgary: A Community-Level Atlas (2025). Contrast Color Edition

Below is an example featuring one of Calgary’s communities (Nose Hill Park). You can see exactly what the atlas pages look like and the level of detail they provide:

Example from the Atlas: Nose Hill Park. A high-resolution vegetation map and a detailed table comparing the greenness (NDVI) percentages between 2024 and 2025

For the NDVI assessment, Sentinel-2 satellite data was used. The boundaries of Calgary communities were obtained from the city’s open data portal at Community Boundaries | Open Calgary. Data processing and analysis were conducted using the R programming language, leveraging the terra and tidyverse packages. Final map visualizations were created using QGIS. Text translation and grammatical review were supported by Google Gemini AI.

Leave a Comment