Skip to main content

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

Perlin Noise

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)

Uploaded Source

Built Distribution

ConGen-0.0.5-py3-none-any.whl (110.9 kB view details)

Uploaded Python 3

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

Hashes for ConGen-0.0.5.tar.gz
Algorithm Hash digest
SHA256 fc11e0b0e62a09b621f6a8529aded6d0c137807e990676385107403170402042
MD5 24c49256601582f3d209681880ed5acd
BLAKE2b-256 d4083adaf09dc264b506123f5aa648519f38c9b0a20a6d5e07ae5e24480ce2f1

See more details on using hashes here.

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

Hashes for ConGen-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ce646b1de20cff3d2603cc948cdef07cdedf607eaa8b0664a2fe71554b7cf178
MD5 45cab418b85ecff421431caf660f626f
BLAKE2b-256 1fc08b3f78993953abe4324e1390653e0cc091ec66ba65a28cdf09f1c490abb3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page