Skip to main content

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)

Source distribution for landuse-projector 0.3.0
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)

Table of built distributions (wheels) for landuse-projector 0.3.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page