Land Use Projector
A Python tool for projecting land-use change. It fits development potential from land-use maps and driver rasters (random forest, gradient boosting, or a neural network), then allocates the demanded change with a cellular automaton: patch-based, or with self-adaptive inertia and roulette competition. The methods follow Liang et al. (2021) and Liu et al. (2017); see Citing.
Install
pip install landuse-projector # Python 3.10 or newer
pip install "landuse-projector[viz,tune]" # optional plots and tuning
Check it with lup --version.
Quick start
Write experiment.yaml next to a data/ folder with your maps and a folder of driver rasters:
classes: {1: Cropland, 2: Forest, 3: Built-up}
calibration: {t0: data/lulc_2010.tif, t1: data/lulc_2020.tif}
potential: {method: leas, drivers: data/drivers, n_trees: 50, sample_rate: 0.05}
demand: {method: from_map, map: data/lulc_2030_target.tif}
allocation:
method: cars
start: data/lulc_2020.tif
neighbor_weights: [1.0, 0.5, 0.5]
transition_matrix: [[1,1,1],[1,1,1],[0,0,1]]
validate: {observed: data/lulc_2030_target.tif}
seed: 1
runs: 3
output: out
Then run lup run experiment.yaml. Each run writes its simulation map and metrics under out/, with
a summary.csv (one row per run), a provenance.json that records the config and versions, and a
run.log. The same config and seed
give identical results for any thread count.
Other commands: lup convert, expansion, persist, leas, cars, validate kappa,
validate fom, benchmark, tune, import-cars. Run lup --help for all of them.
Documentation
docs/guide.md: the config reference and commands.
Citing
Cite this software with CITATION.cff (GitHub shows a "Cite this repository" button). For the
methodology, cite:
Liang, X., Guan, Q., Clarke, K. C., Liu, S., Wang, B., Yao, Y. (2021). Understanding the drivers of sustainable land expansion using a patch-generating land use simulation (PLUS) model: A case study in Wuhan, China. Computers, Environment and Urban Systems, 85, 101569.
The neural-network potential (potential.method: ann) and the self-adaptive inertia allocator
(allocation.method: inertia) follow the method of the FLUS model:
Liu, X., Liang, X., Li, X., Xu, X., Ou, J., Chen, Y., Li, S., Wang, S., Pei, F. (2017). A future land use simulation model (FLUS) for simulating multiple land use scenarios by coupling human and natural effects. Landscape and Urban Planning, 168, 94-116.
License
BSD 3-Clause. See LICENSE.
Metadata
Release files for landuse-projector 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| landuse_projector-0.3.0.tar.gz | 187.0 kB | Without provenance | Details for landuse_projector-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| landuse_projector-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for landuse_projector-0.3.0-py3-none-any.whl |
Total release size: 317.0 kB
Release files / landuse_projector-0.3.0.tar.gz
| Download URL | landuse_projector-0.3.0.tar.gz |
|---|---|
| Size | 187.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
35bf79a255ecfc1e11be4040df24e7f9abb28c19da8533a9575925e980f628ff
|
|
BLAKE2b-256 checksum How to use checksums |
34b0c0413a0d450c4188b032dd2b27d5a1cf76c09e803b0e141c983b0b05017b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|
Release files / landuse_projector-0.3.0-py3-none-any.whl
| Download URL | landuse_projector-0.3.0-py3-none-any.whl |
|---|---|
| Size | 130.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e8441b5181333ececcc9e2767de431f57eb098df72619c8bba9c41d2db26240
|
|
BLAKE2b-256 checksum How to use checksums |
51136c658db4a3eb0baf3de49ba55a9d1a900b2a67de2e94d596ede147de702f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|
Security for landuse-projector 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.