factcircuit
FactCircuit: an auditable claim-and-evidence verification loop with immutable provenance, staged checks, bounded retrieval, and reproducible evaluation.
Easy access to official spatial data sets of Brazil in R and Python
Translation pending
DataPython · RGitHub @ipeaSelf-installOwner unconfirmed
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Installable projects can be verified without a deployment domain. Use GitHub sign-in for a personal repository, or the repository verification file above for an organization repository.
Ask about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗The package is currently available in R and Python.
| R | Python | Repo |
|---|---|---|
# From CRAN
install.packages("geobr")
# or use the development version with latest features
utils::remove.packages('geobr')
remotes::install_github("ipea/geobr", subdir = "r-package")
obs. If you use Linux, you need to install a couple dependencies
before installing the libraries sf and geobr.More info
here.
uv is the recommended installer. From your
project directory (run uv init first if you don’t have a
pyproject.toml yet):
uv add geobr
Alternatively, with pip:
pip install geobr
Windows users:
conda create -n geo_env
conda activate geo_env
conda config --env --add channels conda-forge
conda config --env --set channel_priority strict
conda install python=3 geopandas
uv add geobr
The syntax of all geobr functions operate on the same logic so it
becomes intuitive to download any data set using a single line of code.
Like this:
sf objectlibrary(geobr)
# Read specific municipality at a given year
mun <- read_municipality(code_muni = 1200179, year = 2022)
# Read all municipalities of given state at a given year
mun <- read_municipality(code_muni = "RJ", year = 2022) # or
mun <- read_municipality(code_muni = 33, year = 2022)
# Read all municipalities in the country at a given year
mun <- read_municipality(code_muni="all", year = 2022)
More examples in the intro Vignette
geopandas objectfrom geobr import read_municipality
# Read specific municipality at a given year
mun = read_municipality(code_muni=1200179, year=2017)
# Read all municipalities of given state at a given year
mun = read_municipality(code_muni=33, year=2010) # or
mun = read_municipality(code_muni="RJ", year=2010)
# Read all municipalities in the country at a given year
mun = read_municipality(code_muni="all", year=2018)
Since v1.0.0, the Python package uses a GeoParquet pipeline. For DuckDB
workflows, use query() to load and analyze snapshots directly in SQL.
Run SQL across geobr snapshots. Missing views are downloaded automatically on first use.
from geobr import query, to_geopandas
# Filter a snapshot (auto-downloads states_2020 on first use)
query("""
SELECT name_state, abbrev_state
FROM states_2020
WHERE abbrev_state = 'RJ'
""").df()
# Spatial join across datasets
query("""
SELECT count(*) AS schools_in_amazon
FROM schools_2020 s
JOIN biomes_2019 b ON ST_Within(s.geometry, b.geometry)
WHERE b.name_biome ILIKE '%Amaz%'
""").df()
# Round-trip to GeoPandas for plotting
gdf = to_geopandas("states_2020")
More examples in python-package/examples, including duckdb_demo.ipynb.
You can check all the data sets available with `list_geobr()
| Function | Geographies available | Source | Years available |
|---|---|---|---|
| read_amazon | Brazil’s Legal Amazon | MMA | 2019, 2020, 2021, 2022, 2024 |
| read_biomes | Biomes | IBGE | 2006, 2019, 2025 |
| read_census_tract | Census tract (setor censitário) | IBGE | 2000, 2010, 2022 |
| read_conservation_units | Environmental Conservation Units | MMA | 202402, 202503 |
| read_country | Country | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2000, 2001, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 |
| read_disaster_risk_area | Disaster risk areas | CEMADEN and IBGE | 2010 |
| read_favelas | Favelas and urban communities | IBGE | 2022 |
| read_health_facilities | Health facilities | CNES, DataSUS | 201704, 201707, 201710, 201801, 201804, 201807, 201810, 201901, 201904, 201907, 201910, 202001, 202004, 202007, 202010, 202101, 202104, 202107, 202110, 202201, 202204, 202207, 202210, 202301, 202304, 202307, 202310, 202401, 202404, 202407, 202410, 202501, 202504, 202507, 202510, 202601, 202604 |
| read_health_region | Health regions and macro regions | DataSUS | 1991, 1994, 1997, 2001, 2005, 2013, 2023, 2024, 2025 |
| read_immediate_region | Immediate region | IBGE | 2019, 2020, 2021, 2022, 2023, 2024, 2025 |
| read_indigenous_land | Indigenous lands | FUNAI |
point_right: All datasets use geodetic reference system “SIRGAS2000”, CRS(4674).
| Function | Action |
|---|---|
list_geobr | List all datasets available in the geobr package |
lookup_muni | Look up municipality codes by their name, or the other way around |
remove_islands | Removes distant oceanic islands from Brazil |
grid_state_correspondence_table | Loads a correspondence table indicating what quadrants of IBGE’s statistical grid intersect with each state |
cep_to_state | Determine the state of a given CEP postal code |
| … | … |
Note 1. Data sets and Functions marked with “dev” are only available in
the development version of geobr.
Note 2. Most data sets are available at scale 1:250,000 (see documentation for details).
If you would like to contribute to geobr and add new functions or data sets, please check this guide to propose your contribution.
As of today, there there are no other R or Python computational packages similar to geobr. The geobr package makes different contributions to the community, including for example:
Original shapefiles are created by official government institutions. The geobr package is developed by a team at the Institute for Applied Economic Research (Ipea), Brazil. The package received support from Instituto Todos pela Saúde (ITpS). If you want to cite this package, you can cite it as:
| 2016, 2017, 2018, 2019, 2022, 2024, 2025 |
| read_intermediate_region | Intermediate region | IBGE | 2019, 2020, 2021, 2022, 2023, 2024, 2025 |
| read_meso_region | Meso region | IBGE | 2000, 2001, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 |
| read_metro_area | Metropolitan areas | IBGE | 1970, 2001, 2002, 2003, 2005, 2008, 2009, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 |
| read_micro_region | Micro region | IBGE | 2000, 2001, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 |
| read_municipality | Municipality | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2000, 2001, 2005, 2007, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 |
| read_municipal_seat | Municipality seats (sedes municipais) | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2010, 2022 |
| read_neighborhood | Neighborhood limits | IBGE | 2010, 2022 |
| read_polling_places | Voting places | TSE | 2010, 2012, 2014, 2016, 2018, 2020, 2022, 2024 |
| read_urban_concentrations | Urban concentration areas (concentrações urbanas) | IBGE | 2010 |
| read_pop_arrangements | Population arrangements (arranjos populacionais) | IBGE | 2010 |
| read_quilombola_lands | Quilombola lands officialy recognized | Incra | 202605 |
| read_comparable_areas | Historically comparable municipalities, aka áreas mínimas comparáveis (AMCs) | IBGE | temporarily suspended |
| read_region | Region | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2000, 2001, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 |
| read_schools | Schools | INEP | 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 |
| read_semiarid | Semi Arid region | IBGE | 2005, 2017, 2021, 2022 |
| read_state | States | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2000, 2001, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 |
| read_statistical_grid | Statistical Grid (gridded population) | IBGE | 2010, 2022 |
| read_urban_area | Urban footprints | IBGE | 2005, 2015, 2019, 2022 |
| read_weighting_area | Census weighting area (área de ponderação) | IBGE | 2010, 2022 |