Supplementary Code: "Measuring Primitive Accumulation: An Information-Theoretic Approach to Capitalist Enclosure in PIK2, Indonesia"
This repository contains the data processing pipelines and analytical scripts required to reproduce the quantitative modeling and figures presented in the manuscript "Measuring Primitive Accumulation: An Information-Theoretic Approach to Capitalist Enclosure in PIK2, Indonesia".
The codebase operationalises Marxian political economy concepts (primitive accumulation, subsumption, and enclosure) through the application of information geometry, absorbing Markov chains, and percolation theory applied to high-resolution Sentinel-2 Land Use/Land Cover (LULC) data (2017–2024).
- Sandy H. S. Herho
- Alfita P. Handayani (Corresponding author: [email protected])
- Karina A. Sujatmiko
- Faruq Khadami
- Iwan P. Anwar
If you use this code or data in your study, please cite our preprint:
@article{herho2026measuring,
title={{Measuring Primitive Accumulation: An Information-Theoretic Approach to Capitalist Enclosure in PIK2, Indonesia}},
author={Herho, Sandy Hardian Susanto and Handayani, Alfita Puspa and Sujatmiko, Karina Aprilia and Khadami, Faruq and Anwar, Iwan Pramesti},
journal={arXiv preprint arXiv:2603.13715},
year={2026},
url={https://arxiv.org/abs/2603.13715}
}The raw input GeoTIFFs (Esri Sentinel-2 10-m LULC) and the processed outputs (NetCDF4 grids, statistical reports, and figures) are too large for GitHub and are hosted on the Open Science Framework (OSF).
OSF Repository: https://doi.org/10.17605/OSF.IO/ZTWVU
All data hosted on OSF is released under the MIT License. Please download the dataset and place the contents in the appropriate geotiff/ and netcdf/ directories before running the pipeline.
The analytical scripts contained in this repository construct several rigorous mathematical spaces to quantify land enclosure. Key formalisms include:
To measure the "velocity" of landscape transformation, we calculate the Fisher-Rao geodesic distance on the probability simplex. For two class probability distributions
Kullback-Leibler (KL) divergence is also evaluated to measure the relative entropy and directionality of transitions between consecutive states:
We complement this with Shannon entropy
To assess the monotonic trend of the entropy trajectory over time, a non-parametric Mann-Kendall test is applied.
The landscape transitions are modeled as a discrete-time Markov chain. The empirical transition probabilities and their asymptotic standard errors are given by:
Capitalist spatial accumulation is modeled as an absorbing process, where Built Area represents the forced absorbing state (
The expected time to absorption
The non-stationarity of the transition matrices over time is formally evaluated using a
To mathematically determine whether spatial expansion represents a planned supercritical phenomenon or random colonisation, we apply percolation theory. The order parameter is defined as the fraction of built pixels contained within the largest connected cluster (
The morphological irregularity of the expanding capitalist frontier is quantified using the box-counting fractal dimension
where
For the macroeconomic analysis of structural subsumption, detailed LULC classes are aggregated into a 3-simplex representing the Marxian triad (excluding the ocean):
Fisher-Rao distances, accelerations, and trajectory sinuosity (arc length divided by direct displacement) are re-computed on this sub-manifold to track the secular progression of enclosure.
.
├── geotiff/ # Raw input Esri Sentinel-2 10-m LULC GeoTIFF files (Download from OSF)
├── netcdf/ # Processed NetCDF4 output directory
├── scripts/ # Analytical Python scripts
│ ├── extractGeotiff.py
│ ├── informationEntropy.py
│ ├── map.py
│ ├── markovTransition.py
│ ├── percolation.py
│ ├── plotLULC.py
│ └── simplex.py
├── figs/ # Output directory for generated figures (.pdf, .png)
├── reports/ # Output directory for statistical reports (.txt)
├── .gitignore
└── LICENSE # MIT License
The scripts are designed to be run sequentially from within the scripts/ directory.
extractGeotiff.py: Parses raw Sentinel-2 GeoTIFFs, projects them to a uniform WGS-84 grid, filters classes, and compiles an annual time-series into a compressedpik2LULC.ncNetCDF4 file.
map.py: Generates the primary geographic study area map utilizing PyGMT.plotLULC.py: Renders the 2×4 panel publication map of annual LULC classifications.
informationEntropy.py: Executes the information-theoretic framework (Fisher-Rao, Kullback-Leibler, Rényi spectra).markovTransition.py: Constructs the empirical transition matrices and formulates the absorbing Markov chain.percolation.py: Applies percolation theory to evaluate spatial continuity and fractal dimension.simplex.py: Aggregates detailed LULC classes into a macro-sociological Ternary Simplex (Commons, Agrarian, Capital).
Copyright © 2026 Center for Agrarian Studies, Bandung Institute of Technology (ITB).
This project, including the code in this repository and the associated data hosted on OSF, is licensed under the MIT License.