Creating conservation planning datasets intuitively by playing with parameters and getting instant visualized feedback
Project description
ConGen: Creating conservation planning datasets intuitively by playing with parameters and getting instant visualized feedback
Requirements
For python library requirements, see pyproject.toml. Additionally, the following system libraries and development headers are required:
- basic build tools (gcc, make etc.)
- gdal for building the Python GDAL module
TODOs
- Fix WardClusteredPointLayer
- CLI Interface
- Benchmark different conservation planning software
- Improve UI / UX
- Onboarding / Instructions
- Project creation wizard with predefined templates?
- Project template files
- Tooltips for parameters
Archievements
- Object-oriented design
- All layer types are implemented as classes that inherit from common layer types, overriding common methods if needed
- wxPython GUI with Model-View-Controller Design
- LayerListCtrl controller class manages both a wxPython list control and the underlying data structure
- List view and underlying data structure are always in sync
- On parameter change: Corresponding value in underlying data structure gets automatically updated, list view and rendering are automatically refreshed
- Custom implementation for parameters
- Wrapping a single value (e.g. int, bool, string) with metadata (default, min, max values, parameter name and description, etc.)
- Stored in a list for each layer type to distinguish parameters from other layer instance variables
- Each layer type requires different parameters, extends the parameter list from inherited classes
- Automatically render appropriate parameter controls for each layer type based on parameter list
- Future: automatically render columns in layer list based on parameter list
- Caching: Specify which parameters invalidate the calculated cache, only re-calculate layer data if relevant parameters change, don't recalculate for parameters that can be applied to existing data -> minifies computational overhead, especially for applications with many layers
- Python magic so parameters of each layer can still be accessed via
layer.parameterName
despite being a) stored in a list variable instead of being class instance members themselves b) classes that wrap the actual value with additional metadata
Material
Ecology
Procedural map generation
- Notes on Procedural Map Generation Techniques
- java - Procedural Map Generation - Stack Overflow
- Map Generation - Procedural Content Generation Wiki
- Procedural Map Generation with Godot — Part 1
- A Guide to Procedural Generation - GameDev Academy
- Procedural Map | Rust Wiki | Fandom
- Map generator - Minetest Wiki
Perlin Noise
- Noise and Turbulence - Ken's Academy Award -> Ken Perlin
- Lecture 14 Procedural Generation: Perlin Noise
- Perlin Noise - Scratchapixel
- Playing with Perlin Noise: Generating Realistic Archipelagos
- Perlin 2D Noise in python
- Exploring Perlin Noise in Python
- Perlin noise in python - Stack Overflow
Python Libraries
Not exhaustive
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ConGen-0.0.5.tar.gz
(88.7 kB
view details)
Built Distribution
ConGen-0.0.5-py3-none-any.whl
(110.9 kB
view details)
File details
Details for the file ConGen-0.0.5.tar.gz
.
File metadata
- Download URL: ConGen-0.0.5.tar.gz
- Upload date:
- Size: 88.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc11e0b0e62a09b621f6a8529aded6d0c137807e990676385107403170402042 |
|
MD5 | 24c49256601582f3d209681880ed5acd |
|
BLAKE2b-256 | d4083adaf09dc264b506123f5aa648519f38c9b0a20a6d5e07ae5e24480ce2f1 |
File details
Details for the file ConGen-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: ConGen-0.0.5-py3-none-any.whl
- Upload date:
- Size: 110.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce646b1de20cff3d2603cc948cdef07cdedf607eaa8b0664a2fe71554b7cf178 |
|
MD5 | 45cab418b85ecff421431caf660f626f |
|
BLAKE2b-256 | 1fc08b3f78993953abe4324e1390653e0cc091ec66ba65a28cdf09f1c490abb3 |