pg_tileserv - UN Biodiversity Lab
Service Metadata
Table Layers
-
aqueduct.aqueducts40_future_annual (preview | json)
-
cwm.cwm_withdrawal_points (preview | json)
-
cwm.cwm_world_watershed (preview | json)
-
ebsa.ebsa_areas (preview | json)
EBSA (Ecologically or Biologically Significant Marine Areas) from CBD Clearing House. Updated: 2026-01-07 14:38:56
-
ecu_unbl.acmus_feb_2025 (preview | json)
-
gbf_data.ag_lnd_frstbiopha (preview | json)
SDG 15.2.1 (FAO): above-ground forest biomass, tonnes per hectare. One column per reported year - a config ramps on the year it wants. Served via martin, not pg_tileserv.
-
gbf_data.ag_lnd_frstcert (preview | json)
SDG 15.2.1 (FAO): certified forest area, THOUSAND hectares. One column per reported year - a config ramps on the year it wants. Served via martin, not pg_tileserv.
-
gbf_data.ag_lnd_frstchg (preview | json)
SDG 15.2.1 (FAO): annual net forest change rate, percent per year. One column per reported year - a config ramps on the year it wants. Served via martin, not pg_tileserv.
-
gbf_data.ag_lnd_frstmgt (preview | json)
SDG 15.2.1 (FAO): forest under a long-term management plan, percent 0-100. One column per reported year - a config ramps on the year it wants. Served via martin, not pg_tileserv.
-
gbf_data.ag_lnd_frstprct (preview | json)
SDG 15.2.1 (FAO): forest within legally protected areas, percent 0-100. One column per reported year - a config ramps on the year it wants. Served via martin, not pg_tileserv.
-
gbf_data.biodiversity_accounting (preview | json)
Integration of biodiversity into national accounting (SDG 15.9.1b, UNSD). status 1 = implementing, 0 = ASSESSED and not implementing; a country never assessed is ABSENT, not zero. Only 152/120/98 countries were assessed in 2023/2024/2025, so no year supports a complete world map.
-
gbf_data.changewaterecosystemspercent (preview | json)
SDG 6.6.1 (UNEP/JRC): permanent water area with its percent change. Values are FIVE-YEAR WINDOW MEANS, not single years - 2001-2005 baseline and 2018-2022 current. pct_change follows the UNEP convention where POSITIVE MEANS LOSS, the opposite sign to the function's change_from_first.
-
gbf_data.changewaterecosystemspercentland (preview | json)
SDG 6.6.1 (UNEP/JRC): permanent water as a share of total area. Values are FIVE-YEAR WINDOW MEANS, not single years - 2001-2005 baseline and 2018-2022 current. pct_change follows the UNEP convention where POSITIVE MEANS LOSS, the opposite sign to the function's change_from_first.
-
gbf_data.changewaterecosystemssqkm (preview | json)
SDG 6.6.1 (UNEP/JRC): permanent water area, km2. Values are FIVE-YEAR WINDOW MEANS, not single years - 2001-2005 baseline and 2018-2022 current. pct_change follows the UNEP convention where POSITIVE MEANS LOSS, the opposite sign to the function's change_from_first.
-
gbf_data.cities_built_areas (preview | json)
Built-up area polygons by city. Standalone spatial layer, not an indicator.
-
gbf_data.death_missing_people_100000_disasters (preview | json)
Deaths AND MISSING PERSONS from disasters per 100,000 (SDG 13.1.1, UNDRR). Style on mean_10yr and read it with n_years_10yr; peak_per_100k/peak_year carry severity a mean hides. NOT comparable with disaster_death_rates, which is EM-DAT and counts deaths only.
-
gbf_data.disaster_death_rates (preview | json)
Deaths from natural disasters per 100,000 (EM-DAT). Style on mean_10yr, not a single year - one year reflects whether a catastrophe happened, not exposure. Read with n_years_10yr: coverage ranges from 26 years to 1. Deaths ONLY; death_missing_people_100000_disasters includes missing persons.
-
gbf_data.eez_statistics_view (preview | json)
Per-EEZ statistics with geometry.
-
gbf_data.gbf181_positive_incentives (preview | json)
GBF headline indicator 18.1: count of active biodiversity-relevant economic instruments (OECD PINE). A COUNT, not ambition or effectiveness, and PINE coverage skews to OECD members - a low count is not weak policy. Countries absent from PINE are omitted, not zero-filled.
-
gbf_data.ghana_wetlands (preview | json)
Ghana wetland polygons. Standalone spatial layer, not an indicator.
-
gbf_data.kba_pa_coverage_country (preview | json)
Country KBA protected-area coverage, UN Member States only (bnda_simplified stscod = 1), matching what gbf_data.indicator() serves by default. STYLE ON pct_protected_mean (the SDG definition, an unweighted mean of per-site percentages); pct_protected_area_weighted is a different statistic and is for the popup only. Countries with no KBAs are NULL, not 0. Derived from gbf_data.kba_pa_coverage; see docs/KBA_PA_COVERAGE.md.
-
gbf_data.living_planet_populations (preview | json)
One row per monitored population from living_planet_database, NEWEST EDITION ONLY. Not an index and not abundance - see the table's comment. utilised_population is NULL on every row here: ZSL dropped the flag after 2022, so read living_planet_utilised_populations for it, and expect that view to be an older vintage than this one.
-
gbf_data.living_planet_utilised_populations (preview | json)
Monitored populations with ZSL's consumptive-use flag (utilised_population: Yes / No / Unknown). Serves the newest edition that HAS the flag, which is 2022 - deliberately older than living_planet_populations. Read edition before comparing the two. Unknown is a value ZSL asserted, not a missing row.
-
gbf_data.mpi (preview | json)
Global Multidimensional Poverty Index (OPHI). mpi is 0-1, higher = more poverty; mpi_change is latest minus earliest, so NEGATIVE means poverty fell. Surveys are irregular - read with n_years. MPI = headcount_pct x intensity, from the same survey year.
-
gbf_data.nm12_statistics_view (preview | json)
Per-12-nautical-mile-zone statistics with geometry.
-
gbf_data.pame_country_summary (preview | json)
Protected-area management effectiveness by country (Protected Planet). STYLE ON pame_percentage_pa_land_cover, not n_pas_assessed - the two correlate at 0.04, because a count tracks how many designations a country has, not how much of its estate is evaluated. Records that an assessment HAPPENED, not that management is effective. Percentages are shares of the protected-area estate, not of the country.
-
mangrove.mangrove_typology_1996 (preview | json)
-
mangrove.mangrove_typology_2007 (preview | json)
-
mangrove.mangrove_typology_2010 (preview | json)
-
mangrove.mangrove_typology_2016 (preview | json)
-
mgd.co1_gd (preview | json)
-
mgd.cytb_gd (preview | json)
-
public.bnda_simplified (preview | json)
UN Geodata; 20230611 version
-
public.eez_12nm_v4 (preview | json)
-
public.eez_24nm_v4 (preview | json)
-
public.eez_v12 (preview | json)
-
public.eez_v12_simplified (preview | json)
-
public.global_mining_footprint (preview | json)
-
public.goodd2_catchments (preview | json)
-
public.goodd2_dams (preview | json)
-
public.marine_wilderness_global (preview | json)
-
public.marine_wilderness_realm (preview | json)
-
public.meow_ppow (preview | json)
-
public.protconn_country (preview | json)
-
public.recuadro_chs_merc (preview | json)
Disputed area between Chile and Argentina; used in ELSA and related maps.
-
public.undp_gef_mapping_20200625 (preview | json)
-
public.undp_unep_country_offices (preview | json)
-
public.wbgtmax30_global (preview | json)
-
ramsar.ramsar_sites_boundaries (preview | json)
RAMSAR sites data. Source data date: 2025-12-04. Uploaded: 2025-12-04 15:34:49
-
ramsar.ramsar_sites_centroids (preview | json)
RAMSAR sites data. Source data date: 2025-12-04. Uploaded: 2025-12-04 15:34:10
-
spaces_kaz.biosphere_reserves (preview | json)
-
spaces_kaz.ecological_corridors_existing (preview | json)
-
spaces_kaz.ecological_corridors_planned (preview | json)
-
spaces_kaz.forests_map_remote_sensing (preview | json)
-
spaces_kaz.glaciers (preview | json)
-
spaces_kaz.hotspots_cepf_2016 (preview | json)
-
spaces_kaz.hunting_farms (preview | json)
-
spaces_kaz.hydro_pol_all (preview | json)
-
spaces_kaz.kba_2025 (preview | json)
-
spaces_kaz.kba_cepf (preview | json)
-
spaces_kaz.landscapes_cepf (preview | json)
-
spaces_kaz.peatlands (preview | json)
-
spaces_kaz.protected_areas_existing (preview | json)
-
spaces_kaz.protected_areas_planned (preview | json)
-
spaces_kaz.saiga_habitat (preview | json)
-
spaces_kaz.salt_marshes (preview | json)
-
spaces_kaz.sands (preview | json)
-
spaces_kaz.semey_nuclear_site (preview | json)
-
spaces_kaz.snow_leopard_areas (preview | json)
-
spaces_kaz.snrf_objects (preview | json)
-
spaces_kaz.swamps (preview | json)
-
spaces_kaz.vegetation_union (preview | json)
-
spaces_kaz.wetlands (preview | json)
-
spaces_kaz.wwf_priority_ecoregions (preview | json)
-
tnc_mow.mangrove_commercial_finfish_enhancement (preview | json)
-
tnc_mow.mangrove_commercial_invertebrate_enhancement (preview | json)
Function Layers
-
gbf_data.indicator (preview | json)
One tile endpoint for every national indicator. Pass ?indicator=<key>; the 160 keys are listed below.
PARAMETERS
indicator which series to serve.
include_nulls true also draws countries with no value. Default false. Serving nulls paints them #000000 unless the config guards the ramp with ["case", ["has", "value"], ...].
year pin a single year. Default NULL = newest row per country.
include_aggregates true adds value_total and value_mean over the whole series. Default false. A SUM OVER TIME IS MEANINGLESS FOR MOST INDICATORS - never use value_total on a stock or a percentage.
include_territories true also serves territories whose ISO3 has no Member State polygon - Puerto Rico, Taiwan, Reunion, Bermuda and 27 others. Default false = Member States only, which is what every existing layer expects. It never draws a country twice: Hawaii carries iso3cd USA and the USA has a Member State polygon, so Hawaii stays out. Use it only where the data's grain genuinely reaches territories - Dawson et al. alien species does, and Puerto Rico's 44 alien birds exceeds every Member State's 33.
PROPERTIES EMITTED
id, iso3cd, country, value, unit, data_year, data_range, n_years, value_first, year_first, change_from_first, trend (+ value_total, value_mean when asked)
NOTES
change_from_first is latest minus first. Where a stem has a stored *_change sibling the SIGNS ARE OPPOSITE: permanent_water_km2_change follows the UNEP convention where positive means LOSS, verified on 230 of 230 countries. Ramp on the stored stem for those.
trend is the OLS slope of value against year, in units per year - not change_from_first, which turns on two endpoints.
data_range honours year_start, so a windowed series reads e.g. 1993-2020 rather than 2020.
For units, sources and caveats per key: SELECT * FROM gbf_data.indicator_metadata WHERE indicator_key = '<key>'. Coverage: gbf_data.indicator_catalogue.
KEYS (160): ag_lnd_frstbiopha, ag_lnd_frstcert, ag_lnd_frstchg, ag_lnd_frstmgt, ag_lnd_frstprct, blue_water_use_from_consumption_m3, chl_a_daily_anomoly_extreme, chl_a_daily_anomoly_high, chl_a_daily_anomoly_moderate, chl_a_deviation, cropland_n_budget, death_missing_people_100000_disasters, deaths_natural_disasters, deaths_per_100000_unsafe_wash, deaths_per_100k, deforestation_from_consumption_ha, degree_imp_iuu_fishing_regs, edge_species_richness, ef_tot_biocap, ef_tot_cons, ef_tot_prod, floating_plastic_density, food_waste_foodservice, food_waste_household, food_waste_index, food_waste_retail, forest_land_1000ha, forest_natural_1000ha, forest_planted_1000ha, for_man_cert_ha, gbf181_positive_incentives, gbf221_aggregated_pct, gbf221_land_nondegraded_pct, gbf221_lands_recognized_pct, gbf221_tenure_perceived_secure_pct, geic_blue_water_scarcity_m3, geic_deforestation_ha, geic_species_loss, geic_species_richness_species_ha, integrates_biodivtional_accounting, land_rights_documented, land_rights_perceived_secure, landuse_landtenure_change_iplc, mat_ftprnt, mpi, mpi_headcount_pct, mpi_intensity, n_certs_abch, n_companies_publishing_reports_total, n_er_grf_animrcntn_trb, n_established_invasive_species_amphibians, n_established_invasive_species_ants, n_established_invasive_species_birds, n_established_invasive_species_fish, n_established_invasive_species_mammals, n_established_invasive_species_plants, n_established_invasive_species_reptiles, n_established_invasive_species_spiders, n_extinctions_prevented_aves, n_extinctions_prevented_mammalia, n_grf_animrcntn, n_grf_plnstor, n_pame_assessed_pas, n_pame_assessments, npk_cropland_kg_ha, n_policy_instruments_for_the_environment, n_species_lost_from_consumption, oda_biodiversity_donor_usd, pa_count, pa_land_area_km2, pa_land_cover_pct, pa_marine_area_km2, pa_marine_cover_pct, pame_pa_land_area_km2, pame_pa_marine_area_km2, pame_percentage_pa_land_cover, pame_percentage_pa_marine_cover, pct_fish_stocks_sustainable, pct_forest_area_long_term_management, pct_good_ambient_water_quality, pct_wastewater_treated, percent_lethal_acceptance, permanent_water_as_pct_total_land, permanent_water_km2, permanent_water_km2_change, permanent_water_pct_change, permanent_water_pct_of_land_change, pm25_conc_allarea, pm25_conc_city, pm25_concentration, pm25_conc_rural, pm25_conc_tsub, pm25_conc_urban, pm2_conc_cities, pm2_conc_rural, pm2_conc_total, pm2_conc_towns, pm2_conc_urban, prop_er_rsk_lbreds, prop_land_degraded, red_list_index, reservoir_max_area_km2, reservoir_max_area_km2_change, reservoir_max_area_pct_change, reservoir_max_area_pct_of_land, reservoir_max_area_pct_of_land_change, reservoir_min_area_km2, reservoir_min_area_km2_change, reservoir_min_area_pct_change, reservoir_min_area_pct_of_land, reservoir_min_area_pct_of_land_change, revenue_from_bio_taxes, safe_drinking_water_pct, sdg241_official, seasonal_water_as_pct_total_land, seasonal_water_km2, seasonal_water_km2_change, seasonal_water_pct_change, seasonal_water_pct_of_land_change, seea_implementation, seea_implementation_stage, s_inv_number_ias_in_country, small_scale_producer_income, species_richness_from_consumption_species_ha, sustainability_reports_admin_services, sustainability_reports_agriculture, sustainability_reports_arts_recreation, sustainability_reports_construction, sustainability_reports_education, sustainability_reports_finance, sustainability_reports_health_social, sustainability_reports_hospitality, sustainability_reports_information_comms, sustainability_reports_manufacturing, sustainability_reports_mining, sustainability_reports_other_services, sustainability_reports_professional_services, sustainability_reports_real_estate, sustainability_reports_retail_trade, sustainability_reports_transport, sustainability_reports_water_waste, sustainable_agri_agrobiodiversity, sustainable_agriculture_trend, sustainable_agri_fertiliser_mgmt, sustainable_agri_food_security, sustainable_agri_net_income, sustainable_agri_output_per_hectare, sustainable_agri_pesticide_mgmt, sustainable_agri_risk_mitigation, sustainable_agri_soil_degradation, sustainable_agri_tenure_security, sustainable_agri_wages, sustainable_agri_water_availability, total_official_development_assistance_for_biodiversity_usd, value_tech_export_usd, value_tech_import_usd, value_tech_investment_usd, value_tech_reexport_usd, value_tech_reimport_usd, value_tech_trade_usd
-
gbf_data.water_stress_basins (preview | json)
SDG 6.4.2 water stress by major river basin, generalised by zoom. 9999 no-data is NULL.
-
public.kbas_country (preview | json)
Filters kbas.kba_global_polygons and kbas.kba_global_points by ISO3 via the "location" parameter. SECURITY DEFINER so the tile role never needs SELECT on the KBA tables - KBA is not redistributable as source geometry. Returns an empty tile above z12.