Download

Download data

Two routes: take a full time series by country (each country’s own years from 2000 to 2026), or take a global anchor year package (2000 / 2010 / 2020 / 2025 × ADM0/1/2). Every file lists its size, provenance grade and SHA-256 checksum.

Not sure which to download? Try the three-question chooser below (about 20 seconds), or take a look at the data on the map explorer page first.

Choose your file

Which file should I get?

Answer three questions to get a recommended file, its size, the expected download time and how to open it. Pick “start over” any time if you answer wrongly.

  1. 1Scope
  2. 2Years
  3. 3Software
  4. Recommendation
Before you download

Three sentences: how big, what opens it, what if it fails

Not sure where to start? Download in this order (most recommended first)

  1. Global anchor year 2025 (ADM0 + ADM1) Most recommended

    GeoJSON · 1.0 MB + 7.0 MB (about 7.9 MB, ~2 s at 50 Mbps) · drag into QGIS · use it to check whether the data is what you need before downloading a large package.

  2. The country package you actually work on As needed

    GeoParquet (ZIP) · 12.9 KB to 7.35 GB · unzip, then open with QGIS 3.28+ or Python · includes each package’s available years and levels.

  3. Change-event library all_events.csv Optional

    CSV · 5.7 MB (~1 s at 50 Mbps) · opens in Excel / WPS / pandas · download it when you need to know why a boundary changed in a given year.

For more specific scenarios (QGIS / Python / no-code) use the three-question wizard above; every download item states its format, size, target software and how to open it.

How long will it take?

Country packages range from 12.9 KB (Bouvet Island) to 7.35 GB (Japan). 74 are under 1 MB, 27 exceed 100 MB and 6 exceed 1 GB. At 50 Mbps, 7.35 GB takes about 20 minutes.

The complete published data totals about 43.0 GB: 244 country/region packages, 12 global GeoParquet files, 15 GeoJSON previews and 17 PMTiles. Download only what you need.

What can open the files?

  • QGIS / ArcGIS: download a global .geojson and drag it into the application; after extracting a country package, QGIS 3.28+ can read .parquet.
  • Python: use geopandas.read_file("x.geojson") or geopandas.read_parquet("X.parquet").
  • Excel: supports .csv files (event tables and manifests) only. Use one of the GIS tools above for boundary data.
  • No software? Preview the boundaries on the map page first, then decide whether to download.

Download trouble?

Links point to real files under this site’s data/ directory (switchable to R2 with one setting). Before redirecting, the page checks that a file exists; if not, it explains the problem and offers alternatives. See the troubleshooting section.

After downloading, compare the file size with the exact byte count in the manifest; the research release also includes a SHA-256 checksum list.

Download by country

One package per country, containing all available years of its country, first-level and second-level boundaries, plus that country’s change-event CSV. The “Levels” column shows which levels are included and “Year range” the years the time series actually covers.

Quick search: Select a country to preview its files and how to open them.
What is actually inside? Two real examples: a small package (Afghanistan) and a large one (China)

AFG.zip (12 MB, 5 files) — extracted:

AFG_adm0_timeseries.parquet      853 KB
AFG_adm1_timeseries.parquet      3.5 MB
AFG_adm2_timeseries.parquet      7.7 MB
AFG_timeline_events.csv          1.3 KB
README.txt                       859 B

CHN.zip (1.9 GB, 7 files) — extracted:

CHN_adm0_timeseries.parquet      2.4 MB
CHN_adm1_timeseries.parquet      9.3 MB
CHN_adm2_timeseries.parquet      585 MB
CHN_adm3_timeseries.parquet      1.4 GB
CHN_south_china_sea_claim_line.gpkg  104 KB
CHN_timeline_events.csv          123 KB
README.txt                       944 B
  • No enclosing folder: extracted files go directly into the destination. Read them by filename, for example gpd.read_parquet("CHN_adm2_timeseries.parquet"); add CHN/ only if you chose to extract into that subfolder.
  • Read README.txt first: it lists row counts, fields and official read examples for each package.
  • Available levels vary by country: China includes ADM3; most countries provide ADM0–ADM2.
  • Size reflects geometry and coverage: China’s ADM3 spans 27 years and more than 20,000 county units per snapshot, so that file alone is 1.4 GB.

Loading…

GTAmap v1.1 country/territory time-series package list
Country / territory Continent Levels Year range Years Rows Events Size Grade How to open SHA-256 Download
Loading the country list…

“Size” is the sum of all of that country’s parquet time-series files (uncompressed; the zip will be smaller). If the manifest provides a ZIP checksum, a clickable SHA-256 is shown. For the meaning of grades A–D see the home page and the criteria on the about page.

Global packages

These simplified global GeoJSON files are ready to download and suit cross-country comparison and quick mapping. The 14 files below are the actual web releases; unsimplified research geometries are listed in the research-grade release section.

Simplified global anchor-year GeoJSON (EPSG:4326; includes conf_grade and src_name); recommended order: start with 2025
Year Levels File Units Format Size How to open Download
2025 Recommended starting pointADM0 web/global_adm0_2025.geojson 243 GeoJSON 0.87 MB
50 Mbps 约 0.1 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
2025 Recommended starting pointADM1 web/global_adm1_2025.geojson 3,492 GeoJSON 162.86 MB
50 Mbps 约 26 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
2020ADM0 web/global_adm0_2020.geojson 243 GeoJSON 0.97 MB
50 Mbps 约 0.2 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
2020ADM1 web/global_adm1_2020.geojson 3,476 GeoJSON 6.83 MB
50 Mbps 约 1.1 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
2010ADM0 web/global_adm0_2010.geojson 243 GeoJSON 0.98 MB
50 Mbps 约 0.2 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
2010ADM1 web/global_adm1_2010.geojson 3,486 GeoJSON 13.09 MB
50 Mbps 约 2.1 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
2000ADM0 web/global_adm0_2000.geojson 243 GeoJSON 0.98 MB
50 Mbps 约 0.2 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
2000ADM1 web/global_adm1_2000.geojson 3,486 GeoJSON 8.99 MB
50 Mbps 约 1.4 秒
Drag into QGIS or read with Python using geopandas.read_file() Download

2025 ADM2 (second-level) · split by continent

The 2025 snapshot contains 55,075 ADM2 units. The web-ready GeoJSON preview is split into seven files (including Other); ADM2 GeoParquet for all four anchor years is available below.

2025 ADM2 (second-level) · split by continent
Continent File Format Size How to open Download
Europe web/global_adm2_2025_europe.geojson GeoJSON 7.41 MB
50 Mbps 约 1.2 秒
QGIS; 18,138 units (turn off the basemap first) Download
Asia web/global_adm2_2025_asia.geojson GeoJSON 4.62 MB
50 Mbps 约 0.7 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
North America web/global_adm2_2025_north_america.geojson GeoJSON 11.90 MB
50 Mbps 约 1.9 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
South America web/global_adm2_2025_south_america.geojson GeoJSON 3.50 MB
50 Mbps 约 0.6 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
Africa web/global_adm2_2025_africa.geojson GeoJSON 3.21 MB
50 Mbps 约 0.5 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
Oceania web/global_adm2_2025_oceania.geojson GeoJSON 0.70 MB
50 Mbps 约 0.1 秒
Drag into QGIS or read with Python using geopandas.read_file() Download
其他 / Other web/global_adm2_2025_other.geojson GeoJSON 0.0034 MB
50 Mbps <0.01 秒
Drag into QGIS or read with Python using geopandas.read_file() Download

The 15 GeoJSON files total about 226.9 MB. GeoJSON is text and can be several times larger than the same geometry in GeoParquet, which is why the research release uses GeoParquet.

Offline vector tiles (PMTiles) · for your own web map

The 17 .pmtiles files total about 240.6 MB and contain the same tiles as the map explorer. They are not regular GIS layers: use MapLibre GL JS with PMTiles or a compatible client. For viewing only, use GeoJSON.

PMTiles vector tiles (MVT · zoom 0–8 · all attributes: unit_id / iso3 / name / conf_grade)
Level / year File Format Size How to open Download
ADM0 · 4 anchor years pmtiles/map/adm0_{2000,2010,2020,2025}.pmtiles PMTiles(MVT) 4.2–22.5 MB / file
50 Mbps 约 1–3.6 秒
MapLibre with the PMTiles protocol 2000 · 2010 · 2020 · 2025
ADM1 · 4 anchor years pmtiles/map/adm1_{2000,2010,2020,2025}.pmtiles PMTiles(MVT) 8.8–13.3 MB / file
50 Mbps 约 1.4–2.1 秒
MapLibre with the PMTiles protocol Download 2025 · Download 2025 · Download 2025 · Download 2025
ADM2 · 2025 by continent pmtiles/map/adm2_2025_{africa,asia,europe,north_america,oceania,south_america}.pmtiles PMTiles(MVT) 0.04–27.2 MB / file
约 0.01–4.4 秒
MapLibre with the PMTiles protocol Download Europe · Download Europe · Download Europe · Download Europe · Download Europe · Download Europe · Download Europe
Tile index pmtiles/index.json JSON 9 KB
<1 sec
JSON; lists each tile package’s filename, unit count and zoom range Download

Units (2025 snapshot)

ADM0 243 · ADM1 3,492 · ADM2 55,075

Real geometry coverage

ADM0 100% · ADM1 99.6% · ADM2 98.3% (the rest is derived or back-filled; filter on the geom_origin field)

Coordinate reference system

EPSG:4326; the area_km2 field is computed in the equal-area EPSG:6933 projection.

Records of administrative splits and mergers: change type, effective date, legal basis (approval document or statute) and confidence. Events explain why this year’s boundary differs from last year’s — the core asset that sets GTAmap apart from static boundary datasets.
20,006
Total events
Actual row count from data/all_events.csv
Other listed datasets have empty event tables because no second basemap is available for comparison; see events_summary.csv for counts.
5.7 MB
Entities/areas with events
One CSV contains the full event library; about 1 second at 50 Mbps

Full event library (single file)

The CSV contains all 20,006 events and fields for event ID, type, effective date, date precision, details, source, legal reference, confidence and dataset. Filter the dataset column to focus on one country. A country ZIP may also include its own event CSV.

CSV · UTF-8 with BOM Double-click to open in Excel / WPS Python: pd.read_csv(..., encoding="utf-8-sig")
The 20 datasets with the most events (the full list is in the release package’s event_library_inventory.csv)
Dataset Country / territory Events Notes
Loading…
Before using the event library: events from OSM sources (marked _osm) carry the time of OSM mapping, not the legal effective date; an empty event table for a single-snapshot country means “there is no second official basemap to compare against”, not that the boundary never changed.
Research-grade release

GTAmap v1.1 research release (full-resolution geometry)

The GTAmap v1.1 research release is live. The table lists country time-series packages, global GeoParquet, web-ready GeoJSON, PMTiles and the checksum manifest. Availability is shown per item; a Zenodo DOI has not yet been assigned.

Release contents and status (v1.1)
ContentsFormatQuantity / sizeStatusAvailable alternative
Country time seriesGeoParquet (ZIP)244 packages · 27.88 GBAvailableDownload by country
Full event libraryCSV20,006 events · 5.7 MBAvailableEvent library
Global anchor-year previewsGeoJSON15 files · 226.9 MBAvailableGlobal data
Global offline tilesPMTiles (MVT)17 files · 240.6 MBAvailableGlobal data · PMTiles
Global anchor-year dataGeoParquet12 files · 14.66 GBAvailableDownload global GeoParquet
Full release manifestCSV · SHA-256712 source filesAvailableDownload manifest.csv · file sizes and checksums
DOI and permanent citation linkZenodo DOI1 recordComing soonUse the placeholder template in How to cite.
Downloads are live: links on this page already point to the published GTAmap v1.1 files in Cloudflare R2. Visitors do not need to change the download base; that setting is for deployment maintenance only.
Troubleshooting

The download won’t open / failed — what now?

Every download link points at a real file under this site’s data/ directory. When you click, the page probes the file once and only redirects if it exists; on failure it states the reason and an alternative right there.

More details

Troubleshoot in this order

  1. Open the site over HTTP. Opening index.html directly via file:// blocks local data requests; only the built-in snapshot is available.
  2. Test a small file first: events_summary.csv (1.7 KB). If it downloads, the network is working and the issue is likely file-specific.
  3. Use a download manager for large files. The Japan package is 7.35 GB and Brazil is 3.08 GB; use curl -C - -O, IDM or aria2 to resume interrupted downloads.
  4. Check whether the file is published: see the status column in the release contents.
  5. Still stuck? Tell us the file path and the message shown on the feedback page.

Check site download links

Sends a HEAD request to several representative files (no file content is downloaded) and reports whether each is available or missing / unreachable.

  • Not checked yet.

This check is only a guide. Large downloads can still fail if the connection drops; use a resumable downloader.

Command-line downloads and resume (recommended for files over 1 GB)

bash / Git Bash — resume download
curl -C - -O -L data/countries/CHN.zip
PowerShell — resume download
curl.exe -C - -L -o CHN.zip data/countries/CHN.zip

Replace the URL prefix with the site address, for example https://your-domain/data/countries/CHN.zip.

Citation

How to cite

Please state the version number when you use this dataset, so that results stay reproducible and verifiable.

BibTeX
@dataset{gtamap_v1_1_2026,
  title     = {GTAmap v1.1: Global Multi-year Administrative Divisions Dataset (2000--2026)},
  author    = {{GTAmap Project}},
  year      = {2026},
  version   = {1.1},
  url       = {https://gtamapdata.org/},
  note      = {Record the administrative level, snapshot year and access date used in analysis}
}
Plain-text citation (English)
GTAmap Project. (2026). GTAmap v1.1: Global Multi-year Administrative Divisions Dataset (2000–2026) [Data set]. Version 1.1. https://gtamapdata.org/

Import into your reference manager

More details

Elements to cite

  • Version number (e.g. v1.0) — boundaries and events change between versions
  • Anchor year or country year — different years of the same country are not interchangeable
  • Access date — recommended
  • If you use only part of the sources, cite the original data providers too (see the src_name / src_url fields)
A GTAmap DOI is pending. Cite version 1.1 using the project URL above. Zenodo is the repository homepage, not a dataset record.
Licence

Licence

A split licence for code and data. The scheme below is a placeholder; the formal release prevails.

Split licence scheme (placeholder, pending release)
Applies to Licence You may Conditions
Data (geometry + events) CC BY 4.0 Use commercially, modify, redistribute, relicense Attribution + version statement + keep the provenance fields
Scripts and site code Apache-2.0 Use commercially, modify, redistribute Keep copyright and licence notices, mark modifications

Attribution requirements

  • Keep the citation (see How to cite) and the version number
  • Do not strip the src_id / src_name / src_url / src_license / conf_grade / geom_origin fields — they are what makes this dataset verifiable
  • If you modify the geometry (clip, reproject, simplify, aggregate), state that it has been modified

Additional restrictions from upstream sources (important)

  • GADM fallback sources (about 60 entities): the GADM licence restricts non-commercial use; check each feature’s src_license before commercial use
  • OSM sources (North Korea, Iran and others): ODbL applies, so derivative data must be released under the same licence
  • Official direct sources: most require attribution and a few restrict redistribution; the per-feature src_license is authoritative

The dataset’s own licence therefore does not override upstream restrictions; judge case by case using the feature fields.

Checksum

Verify your download

For the files currently offered here, compare the downloaded byte size with the exact value in country_manifest.csv. A SHA-256 manifest will accompany the research release when published.

More details

Linux / macOS / Git Bash

bash
sha256sum CHN.zip
ls -l CHN.zip

Windows PowerShell

powershell
Get-FileHash -Algorithm SHA256 .\CHN.zip
Get-Item .\CHN.zip | Select Length

Python (batch file-size check using the manifest)

python
import os, pandas as pd

man = pd.read_csv("data/country_manifest.csv")   # iso3, zip_bytes, files, country_name
man["local"] = man.iso3.map(lambda s: os.path.getsize(f"data/countries/{s}.zip")
                            if os.path.exists(f"data/countries/{s}.zip") else -1)
bad = man[man.local != man.zip_bytes]
print(f"{len(man) - len(bad)}/{len(man)} files match the expected size")
print(bad[["iso3", "zip_bytes", "local"]])

Note: hashes for extremely large files are not written to manifest.csv (marked (large, skipped)); in that case compare file sizes (the bytes column) as a first check.

Data interface

Data interfaces this page reads

This site is purely static with no backend: every list and figure is read from three files under data/. If a read fails it falls back to the v1.0 snapshot bundled with the site (no error, just a note at the top of the page).

More details
Data interface contract used by the site (for pipelines)
File Purpose Key fields If missing
data/stats.json The three key figures on the home page countries timeseries_rows events_total grade_dist generated Use the built-in v1.0 figures
data/country_manifest.csv Country download list iso3 zip_bytes files country_name Browse the available country and global downloads in the catalogue below.
data/index.json Global anchor-year + event library file index files[].path files[].bytes Use the built-in size table (without SHA)
data/events_summary.csv Event count summary by dataset iso3 dataset events Use the built-in top-20 event summary
data/all_events.csv Full event details (20,006 rows) event_id event_type effective_date dataset detail Not read by the page; this is a download-only file
data/pmtiles/index.json Offline map tile package index files[].path files[].unit_count The map page falls back to GeoJSON

Unified download base (change one line at deployment)

html · download.html
<!-- Local / self-hosted (ready to use) -->
<body data-download-base="data/">

<!-- Recommended: choose the base from the domain -->
<body data-download-base="auto">

<!-- Set a Cloudflare R2 base URL explicitly -->
<body data-download-base="https://data.gtamapdata.org/data/packages/">

<!-- Optional: set a separate base for page metadata -->
<body data-download-base="auto" data-meta-base="data/">

All three interfaces tolerate alternative column names (for example size_bytes / bytes / size_mb), and Chinese headers do not break parsing. The packaging root is controlled by <body data-download-base="…">, currently data/packages/; the default filename for country downloads is data/packages/countries/<ISO3>.zip.

Note on data-meta-base: country_manifest.csv and index.json are used only to render the page (they are not downloads). By default they remain under the site data/, so tables and counts continue to work when downloads move to R2. If you mirror the entire data/ tree to R2, point data-meta-base to the same base. See deploy/cloudflare.md for deployment details.

Opening locally: if you double-click index.html (file://), browsers block local JSON/CSV reads for security, so the page automatically uses its built-in snapshot and says so. To see live data, serve the site root with any static server (for example python -m http.server 8000).