Skip to content

Gathering, refining and examining data on more than 1.6 million street trees across 40+ municipalities in Los Angeles County.

License

Notifications You must be signed in to change notification settings

stiles/la-trees

Repository files navigation

Los Angeles street trees

A spatial data collection of trees planted within municipal right of way in Los Angeles and parts of Los Angeles County, in geojson and Esri Shapefile formats. (Some larger cities are stored here as csv to avoid Github's 100MB file size restriction.)

This repository contains 1.6 million records of individual trees in 40+ cities collected in recents years as a hobby project and during my time as a reporter at the Los Angeles Times. Tree records in a county the size of Los Angeles become immediately dated and incomplete after their inital collection, so I can't guarantee the accuracy or completeness of the data.

The data are used to create this interactive map showing LA's Jacaranda locations: https://jacarandamap.com.

The data used in the Jacaranda project is too large to store here, but it's on S3 in GeoJSON format:

Questions? Email me.

Municpalities collected, by name

Municipality ↓ Tree count Population
Agoura Hills 5,100 20,330
Alhambra 20,100 83,653
Arcadia 15,600 56,364
Artesia 2,500 16,522
Bell Gardens 7,000 42,072
Bellflower 8,400 76,616
Beverly Hills 29,000 34,109
Burbank 37,000 103,340
Carson 22,500 91,714
Cerritos 31,300 49,041
Covina 14,600 47,796
Culver City 16,900 38,883
Diamond Bar 20,100 55,544
Downey 18,500 111,772
Duarte 7,900 21,321
El Monte 11,000 113,475
El Segundo 6,400 16,654
Glendale 56,000 203,054
Glendora 12,600 50,073
Inglewood 21,800 109,673
La Mirada 17,000 48,527
Lancaster 46,000 160,316
Lawndale 7,400 32,769
Lomita 3,000 20,256
Long Beach 140,000 462,257
Los Angeles City 545,000 3,792,621
Los Angeles County 99,000 10,100,000
Malibu 7,400 12,645
Norwalk 21,400 105,549
Palmdale 19,000 152,750
Paramount 7,800 54,098
Pasadena 71,000 137,122
Pomona 50,000 149,058
Rancho Palos Verdes 13,500 41,643
Redondo Beach 13,000 66,748
San Dimas 10,400 33,371
San Fernando 9,500 23,645
San Gabriel 9,900 39,718
San Marino 9500 13147
Santa Clarita 112,000 210,888
Santa Fe Springs 8,700 16,223
Santa Monica 32,000 89,736
South Gate 20,900 94,396
South Pasadena 11,400 25,619
Temple City 9,000 35,558
Ventura County/Simi Valley 16,400 126,000
Walnut 3,200 29,172
West Covina 33,000 106,098
West Hollywood 9,000 34,399
Whittier 27,800 85,331

Sources

Records collected from municipalities via the California Public Records Act or official open-data portals. Population via the US Census Bureau.

NGA data

This repository also includes a script to access historical geospatial data from the National Geospatial-Intelligence Agency for Los Angeles, as of 2012. The dataset has 8.9 million trees in and around the city — part of a 130-plus city series that captured 3D trees (and buidings). Each record includes spatial coordinates and associated attributes, such as height in meters. The data is derived from imagery, not a census, so it doesn't include species.

The records were intially hosted on a legacy USGS server that experience timeouts and slower response times. After I inquired about this issue, the agency unfortunately took the data down. I had already downloaded and processed the Los Angeles data, adding features such as neighborhood or city name. It's now stored on S3 as GeoJSON (1.6GB) and GeoPackage (1 GB).

Much of the overall city series (including the buildings features for each) is also now stored by an Esri employee working on fascinating 3D scenes.

Treekeeper

The City of Los Angeles uses TreeKeeper software to manage its street tree inventory, containing over 920,000 individual tree records with locations and species (tree_common) information. The repository includes a Python script (scripts/fetch_la_treekeeper.py) that downloads this dataset directly from the city's WFS service using the streetsla_UFDSpeciesLabel layer, which contains both geographic coordinates and tree species data in a single endpoint.

The script downloads data in 5,000-feature chunks, transforms coordinates from California State Plane Zone V to standard latitude/longitude and then exports the results to multiple formats including GeoJSON, zipped Shapefile and zipped File Geodatabase. All the files are uploaded to S3. This method bypasses the gnarly authentication and rate-limiting issues when dealing with TreeKeeper's internal APIs.

Download from S3 (current as of June 6, 2025): Shapefile, GeoJSON, GDB.

Etc.

Numerous other cities in LA County store their tree inventories in Esri services, including:

And researchers have posted other potentially fruitful repos:

About

Gathering, refining and examining data on more than 1.6 million street trees across 40+ municipalities in Los Angeles County.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published