Planting Optimisation Tool
A data-driven recommendation system designed to support sustainable reforestation and agroforestry planning in Timor-Leste.
https://github.com/chameleon-company/planting-optimisation-tool
Category: Biosphere
Sub Category: Deforestation and Reforestation
Last synced: about 14 hours ago
JSON representation
Repository metadata
Developer Repository for Planting Optimisation Tool Project.
- Host: GitHub
- URL: https://github.com/chameleon-company/planting-optimisation-tool
- Owner: Chameleon-company
- License: mit
- Created: 2025-11-04T07:09:05.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2026-08-26T11:46:50.000Z (5 days ago)
- Last Synced: 2026-08-28T02:10:00.222Z (4 days ago)
- Language: Jupyter Notebook
- Size: 106 MB
- Stars: 4
- Watchers: 0
- Forks: 28
- Open Issues: 79
- Releases: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
README.md
Planting Optimisation Tool
A data-driven recommendation system designed to support sustainable reforestation and agroforestry planning in Timor-Leste. The tool identifies the most suitable tree species for a given farm by analysing environmental conditions, species requirements, and geospatial datasets.
This project is developed in collaboration with the xPand Foundation under the Rai Matak Program.
For contribution guidelines and to get started working on the project, see CONTRIBUTING.md
Purpose
Smallholder farmers in Timor-Leste face low tree-survival rates due to poor environmental matching and limited access to ecological data. The Planting Optimisation Tool addresses this challenge by:
- Analysing farm-level conditions (rainfall, soil pH, elevation, temperature, slope, area);
- Matching farms with optimal, cautionary, and unsuitable tree species;
- Explaining limiting factors that may affect survival;
- Generating simple, accessible reports for field officers and supervisors.
Core Features
Species Recommendation
- Suitability scoring based on rainfall, pH, temperature, elevation, soil class, and other variables.
- Automatic exclusion of species that cannot survive under the farm’s limiting conditions.
- Identification of key limiting factors for each species.
Environmental Profiling
- Extraction of environmental variables from geospatial datasets and hybrid GIS/GEE data sources (e.g., rainfall, elevation, slope, and soil).
- Integration with national datasets such as Seeds of Life.
- Farm-level environmental profiles for decision support.
Sapling Estimation
- Calculates recommended sapling count based on farm area, terrain, planting profile (e.g. 3m × 3m spacing).
- Calculates recommended sapling counts using configurable planting spacing, terrain slope limits, and farm geometry.
User-Facing Web Interface
- Input forms for farm conditions and environmental parameters.
- Species recommendation and environmental profile pages.
- Interactive frontend built with React and Vite.
- Visualization of environmental profile and sapling estimation outputs.
Technology Stack
Backend
- FastAPI, Python
- PostgreSQL / PostGIS
- Docker
Frontend
- React (Vite)
Data Science / ML
- NumPy, Pandas, scikit-learn
GIS / Remote Sensing
- Rasterio, GeoPandas
Key Features
User-Facing Web Interface
- Responsive UI, dashboards, forms, PDF report generation
Data Science / ML Features
- Suitability scoring models
- Farm archetypes and plant functional types
- Exploratory and predictive modelling
GIS / Remote Sensing
- Extraction of rainfall, soil, elevation, slope, and temperature layers from raster and geospatial datasets
- Spatial aggregation for farm-level profile generation
Owner metadata
- Name: Chameleon
- Login: Chameleon-company
- Email:
- Kind: organization
- Description:
- Website:
- Location: Australia
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/103407139?v=4
- Repositories: 7
- Last ynced at: 2023-03-08T18:50:50.349Z
- Profile URL: https://github.com/Chameleon-company
GitHub Events
Total
- Create event: 6
- Delete event: 9
- Fork event: 4
- Issue comment event: 92
- Issues event: 154
- Member event: 3
- Pull request event: 131
- Pull request review comment event: 138
- Pull request review event: 135
- Push event: 122
- Watch event: 3
Last Year
- Create event: 6
- Delete event: 9
- Fork event: 4
- Issue comment event: 92
- Issues event: 154
- Member event: 3
- Pull request event: 131
- Pull request review comment event: 138
- Pull request review event: 135
- Push event: 122
- Watch event: 3
Committers metadata
Last synced: 6 days ago
Total Commits: 301
Total Committers: 17
Avg Commits per committer: 17.706
Development Distribution Score (DDS): 0.495
Commits in past year: 301
Committers in past year: 17
Avg Commits per committer in past year: 17.706
Development Distribution Score (DDS) in past year: 0.495
| Name | Commits | |
|---|---|---|
| Lee Copland | l****e@l****m | 152 |
| Darrin Stephens | d****5@g****m | 49 |
| Naresh Barua | 6****a | 20 |
| Chinthika Rathnayake | c****i@g****m | 11 |
| Felix Hendrawan | f****5@g****m | 11 |
| Josh Dang | 6****g | 11 |
| dependabot[bot] | 4****] | 11 |
| Thai Duy Vo | v****3@g****m | 9 |
| CAHAT0002 | C****2@g****m | 6 |
| Tamil5102000 | t****i@g****m | 5 |
| Vasmai1610 | v****0@g****m | 4 |
| cbasadeakin | 1****n | 3 |
| swasti-ajmera | s****6@g****m | 3 |
| Mi Vo | v****k@g****m | 2 |
| chenmuy7 | 1****7 | 2 |
| JohnMS-IT | s****2@d****u | 1 |
| Rachith2005 | r****t@g****m | 1 |
Committer domains:
- deakin.edu.au: 1
- leecopland.com: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 106
Total pull requests: 61
Average time to close issues: about 2 months
Average time to close pull requests: 3 days
Total issue authors: 5
Total pull request authors: 11
Average comments per issue: 0.14
Average comments per pull request: 2.64
Merged pull request: 36
Bot issues: 0
Bot pull requests: 0
Past year issues: 106
Past year pull requests: 61
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 3 days
Past year issue authors: 5
Past year pull request authors: 11
Past year average comments per issue: 0.14
Past year average comments per pull request: 2.64
Past year merged pull request: 36
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- dwstephens (81)
- leecopland (10)
- CAHAT0002 (8)
- Vasmai1610 (4)
- Chinthika (3)
Top Pull Request Authors
- leecopland (15)
- Naresh-Barua (12)
- dwstephens (10)
- Chinthika (8)
- JoshPDang (4)
- Tamil5102000 (3)
- Vasmai1610 (3)
- CAHAT0002 (2)
- FelixHendrawan (2)
- JohnMS-IT (1)
- Rachith2005 (1)
Top Issue Labels
- backend (6)
- bug (5)
- frontend (5)
- datascience (1)
- documentation (1)
Top Pull Request Labels
- frontend (2)
Dependencies
- actions/download-artifact v4 composite
- actions/github-script v7 composite
- marocchino/sticky-pull-request-comment v3 composite
- postgis/postgis 15-3.4-alpine
- redis 7-alpine
- alembic >=1.17.2
- asyncpg >=0.31.0
- bcrypt ==4.0.1
- datascience *
- diff-cover >=9.2.0
- earthengine-api >=1.7.4, !=1.7.9
- fastapi [standard]>=0.122.0
- fpdf2 >=2.7.0
- geoalchemy2 >=0.18.1
- gis *
- google-auth >=2.47.0
- httpx >=0.28.1
- locust >=2.32.0
- mermaid-cli >=0.1.2
- numpy >=1.26.0
- paracelsus >=0.14.0
- psutil >=7.1.3
- psycopg >=3.3.2
- psycopg-binary >=3.3.2
- pydantic-settings >=2.12.0
- pyjwt >=2.10.1
- pytest >=9.0.1
- pytest-asyncio >=1.3.0
- pytest-cov >=7.0.0
- pytest-mock >=3.15.1
- python-docx >=1.1.0
- python-dotenv >=1.2.1
- rasterio >=1.3.0
- redis >=5.0.0
- ruff >=0.14.5
- slowapi >=0.1.9
- sqlalchemy >=2.0.44
- sqlalchemy-schemadisplay >=2.0
- sqlalchemy-utils >=0.42.1
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/upload-artifact v4 composite
- astral-sh/setup-uv v6 composite
- postgis/postgis 15-3.4-alpine docker
- redis 7-alpine docker
- actions/download-artifact v4 composite
- actions/github-script v7 composite
- marocchino/sticky-pull-request-comment v3 composite
- actions/checkout v4 composite
- actions/upload-artifact v4 composite
- astral-sh/setup-uv v6 composite
- actions/checkout v4 composite
- actions/setup-node v3 composite
- actions/upload-artifact v4 composite
- actions/github-script v7 composite
- actions/checkout v4 composite
- actions/upload-artifact v4 composite
- astral-sh/setup-uv v6 composite
- actions/github-script v7 composite
- 209 dependencies
- actions/download-artifact v4 composite
- actions/github-script v7 composite
- marocchino/sticky-pull-request-comment v3 composite
- python 3.12-slim build
- adjusttext >=1.3.0
- diff-cover >=9.2.0
- geopandas >=1.1.3
- ipykernel >=7.1.0
- joblib >=1.5.2
- matplotlib >=3.10.7
- mermaid-cli >=0.1.2
- mpltern >=1.0.4
- nbconvert >=7.17.0
- numpy >=2.3.5
- openpyxl >=3.1.5
- pandas >=2.3.3
- pygam >=0.12.0
- pytest >=9.0.1
- pytest-cov >=7.0.0
- pytest-mock >=3.15.1
- pyyaml >=6.0.3
- rasterio >=1.5.0
- rasterstats >=0.20.0
- reportlab >=4.4.10
- ruff >=0.14.5
- scikit-learn >=1.7.2
- scipy <1.17
- seaborn >=0.13.2
- shapely >=2.1.2
- statsmodels >=0.14.5
- xgboost >=3.1.1
- actions/download-artifact v4 composite
- actions/github-script v7 composite
- marocchino/sticky-pull-request-comment v3 composite
- 688 dependencies
- 110 dependencies
- @testing-library/dom ^10.4.1 development
- @testing-library/jest-dom ^6.9.1 development
- @testing-library/react ^16.3.2 development
- @testing-library/user-event ^14.6.1 development
- @types/jsdom ^21.1.7 development
- @types/leaflet ^1.9.21 development
- @types/node ^24.0.10 development
- @types/react ^19.2.14 development
- @types/react-dom ^19.2.3 development
- @vitejs/plugin-react ^4.7.0 development
- @vitest/coverage-v8 ^3.2.4 development
- copyfiles ^2.4.1 development
- eslint ^9.30.1 development
- eslint-config-prettier ^10.1.5 development
- eslint-plugin-prettier ^5.5.1 development
- eslint-plugin-react ^7.37.5 development
- eslint-plugin-react-hooks ^7.1.1 development
- husky ^9.1.7 development
- jiti ^2.4.2 development
- jsdom ^27.4.0 development
- lint-staged ^16.1.2 development
- postcss ^8.5.6 development
- postcss-scss ^4.0.9 development
- prettier ^3.6.2 development
- rimraf ^6.0.1 development
- stylelint ^16.21.1 development
- stylelint-config-recommended ^16.0.0 development
- stylelint-config-sass-guidelines ^12.1.0 development
- stylelint-order ^7.0.0 development
- stylelint-prettier ^5.0.3 development
- ts-node ^10.9.2 development
- typescript ^5.8.3 development
- typescript-eslint ^8.36.0 development
- vite ^7.3.1 development
- vitest ^3.2.4 development
- contentful ^11.10.2
- leaflet ^1.9.4
- lucide-react ^1.14.0
- react ^19.2.4
- react-dom ^19.2.4
- react-error-boundary ^6.1.1
- react-helmet-async ^3.0.0
- react-leaflet ^5.0.0
- react-router-dom ^7.13.1
- affine 2.4.0
- attrs 26.1.0
- certifi 2026.4.22
- cffi 2.0.0
- chardet 7.4.3
- charset-normalizer 3.4.7
- click 8.3.3
- cligj 0.7.2
- colorama 0.4.6
- contourpy 1.3.3
- coverage 7.14.0
- cryptography 48.0.0
- cycler 0.12.1
- diff-cover 10.2.0
- earthengine-api 1.7.26
- fonttools 4.62.1
- geopandas 1.1.3
- gis 0.1.0
- google-api-core 2.30.3
- google-api-python-client 2.196.0
- google-auth 2.52.0
- google-auth-httplib2 0.4.0
- google-cloud-core 2.6.0
- google-cloud-storage 3.10.1
- google-crc32c 1.8.0
- google-resumable-media 2.9.0
- googleapis-common-protos 1.75.0
- httplib2 0.31.2
- idna 3.15
- iniconfig 2.3.0
- jinja2 3.1.6
- joblib 1.5.3
- kiwisolver 1.5.0
- markupsafe 3.0.3
- matplotlib 3.10.9
- numpy 2.4.4
- packaging 26.2
- pandas 3.0.3
- pillow 12.2.0
- pluggy 1.6.0
- proto-plus 1.28.0
- protobuf 7.34.1
- pyasn1 0.6.3
- pyasn1-modules 0.4.2
- pycparser 3.0
- pygments 2.20.0
- pyogrio 0.12.1
- pyparsing 3.3.2
- pyproj 3.7.2
- pytest 9.0.3
- pytest-cov 7.1.0
- pytest-mock 3.15.1
- python-dateutil 2.9.0.post0
- python-dotenv 1.2.2
- rasterio 1.5.0
- requests 2.34.0
- ruff 0.15.12
- scikit-learn 1.8.0
- scipy 1.16.3
- seaborn 0.13.2
- shapely 2.1.2
- six 1.17.0
- threadpoolctl 3.6.0
- tzdata 2026.2
- uritemplate 4.2.0
- urllib3 2.7.0
Score: 7.252053951852814