Overview
Gridded Livestock of the World, version 4 (GLW 4) maps modelled densities of six livestock species: buffalo, cattle, sheep, goats, pigs, and chickens. This data is for the 2020 reference year. Densities are estimated with a Random Forest model that downscales harmonized subnational census counts onto a regular grid, so the values represent modelled distributions rather than direct observations. Values are head per km².
Important note
Values are densities (head/km²), so individual pixel values are valid anywhere. However, the data are distributed in lat/long (EPSG:4326), where pixel ground area shrinks toward the poles. A standard lat/long map visually over-represents high-latitude densities, and naive spatial aggregation (totals, means, zonal statistics) assuming equal-area pixels will be biased. Reproject to an equal-area projection or weight by true pixel area for visualization and area-based analysis.
Quick start
import xarray as xr
url = "https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/glw4-2020.zarr"
ds = xr.open_zarr(url)
import rioxarray
url = "https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/cog/glw4-2020-buffalo.tif"
da = rioxarray.open_rasterio(url, masked=True)library(stars)
url <- 'ZARR:"/vsicurl/https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/glw4-2020.zarr"'
ds <- read_mdim(url, proxy = TRUE)
library(terra)
url <- "/vsicurl/https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/cog/glw4-2020-buffalo.tif"
r <- rast(url)Intended uses
- global and regional analysis of livestock distribution
- livestock exposure layers for hazard, disease, and emissions assessment
- spatial targeting at national and sub-national scale
Not recommended for
Why: values are spatially modeled estimates derived from census and other data
Use instead: official livestock census counts where available
Commodities
Access & use
Files, endpoints, and worked examples for each distribution.
Data
Zarr store of GLW 4 2020, one density array over species, y and x.
Format: Zarr — best for cloud-native analysis, reading just the slices you need from the full cube
Access the data
https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/glw4-2020.zarr
Usage examples
import xarray as xr
url = "https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/glw4-2020.zarr"
ds = xr.open_zarr(url)
# Clip a window (East Africa) — subsets every variable in the store
window = ds.sel(x=slice(28, 52), y=slice(18, -12))
# ...or sample a single point
point = ds.sel(x=36.8, y=-1.3, method="nearest")Other access methods
Cloud-optimized GeoTIFFs of GLW 4 2020, one per species.
Format: Cloud-Optimized GeoTIFF — best for single-file downloads, visualisation, and traditional GIS tools
List of files 6 filesDownload CSV
Individual file
https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/cog/glw4-2020-buffalo.tif
Usage examples
import rioxarray
url = "https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/cog/glw4-2020-buffalo.tif"
da = rioxarray.open_rasterio(url, masked=True)
# Clip a window (East Africa)
window = da.rio.clip_box(
minx=28, miny=-12, maxx=52, maxy=18
)
# ...or sample a single point
point = da.sel(x=36.8, y=-1.3, method="nearest")library(terra)
url <- "/vsicurl/https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/cog/glw4-2020-buffalo.tif"
r <- rast(url)
# Clip a window (East Africa)
window <- crop(r, ext(28, 52, -12, 18))
# ...or sample a single point
point <- extract(r, cbind(36.8, -1.3))Other access methods
File pattern: glw4-2020-{species}.tif
Data dictionary
What each file holds. A layout describes how the data is stored in a file: its variables, the dimensions they vary over, and any keys.
File layouts
In every file
Variables
| Variable | Type | Unit | Description |
|---|---|---|---|
| density | float32 | {head}/km2 | Modelled livestock density. |
Dimensions
5 arc-minutes (~10km at equator).
Grid spacing: 0.08333333 degree
Livestock species; the {species} token of the COG files. The Zarr also carries the FAO GLW4 codes as a species_code coordinate (BFL, CHK, CTL, GTS, PGS, SHP).
Type: string
buffalocattlechickengoatpigsheep
Technical metadata
The full spatial, temporal, and modeling detail behind the summaries elsewhere on this page.
Spatial
- CRS
- EPSG:4326
- Extent (W S E N)
- [-180, -90, 180, 90]
- Coverage
- World
- Grid spacing
- 5 arc-minutes (~9.3 km at the equator)
Temporal
- Reference date
- 2020
Provenance
Ordered processing steps, from source to publication.
- source2024-07-15
Original GLW 4 release
- cloud-optimize2026-10-08
Stack the six FAO GeoTIFFs into one density(species, y, x) Zarr and write one COG per species.
How to cite
Please cite the dataset and any associated peer-reviewed publications.
Food and Agriculture Organization of the United Nations (2024) GLW 4: Gridded Livestock Density (Global - 2020 - 10 km). Version 1. FAO Agro-Informatic Data Catalog. https://data.apps.fao.org/catalog/dataset/9d1e149b-d63f-4213-978b-317a8eb42d02. Accessed through the CGIAR Climate Action Data Hub, https://cgiar-climate-data-hub.github.io/catalog/glw4-2020_1/.
BibTeX
@misc{glw4_2020_2024,
title = {GLW 4: Gridded Livestock Density (Global - 2020 - 10 km)},
author = {{Food and Agriculture Organization of the United Nations}},
year = {2024},
version = {1},
publisher = {FAO Agro-Informatic Data Catalog},
url = {https://data.apps.fao.org/catalog/dataset/9d1e149b-d63f-4213-978b-317a8eb42d02},
note = {Accessed through the CGIAR Climate Action Data Hub, https://cgiar-climate-data-hub.github.io/catalog/glw4-2020_1/}
}Contacts
Who produced this dataset, and who to reach about it.