Recent Releases of GEEST
GEEST - v2.0.0 - Major Performance & Stability Release
GeoE3 v2.0.0 - Major Performance & Stability Release
This is a major release representing 103 commits and significant improvements across performance, stability, user experience, and branding since the v1.2.6 release.
Highlights
- Complete rebrand from WEE/GEEST to GeoE3 (Geospatial Enabling Environments for Employment)
- Dramatic performance improvements - processing times reduced by up to 70% for large study areas
- Memory-bounded parallel processing - prevents memory exhaustion on large datasets
- Enhanced stability - numerous crash fixes and error handling improvements
- Improved reporting - dimension and factor maps now included in analysis reports
🎨 Branding & Naming
The tool has been comprehensively rebranded from "WEE" (Women's Economic Empowerment) to "GeoE3" (Geospatial Enabling Environments for Employment):
- All user-visible text updated from "WEE Score" to "GeoE3 Score"
- Layer groups renamed from "WEE" to "GeoE3"
- Variable names, dictionary keys, folder names, and QML files updated
- Plugin name and menu items reflect new branding
⚠️ BREAKING CHANGE: Existing project files created with v1.x may need updates for new dictionary keys. We recommend creating fresh projects with v2.0.0.
⚡ Performance Improvements
Grid Processing
- Memory-bounded parallel grid creation - Uses configurable worker count (
grid_creation_workerssetting) with bounded write queues (100K max) to prevent memory blowouts on large study areas - Async writer thread - Batch writes happen in background without blocking analysis
- Two-phase spatial checks - Contains-then-Intersects strategy reduces intersection tests by ~90%
GeoPackage Optimizations
- GDAL tuning -
OGR_SQLITE_JOURNAL=MEMORYandOGR_SQLITE_SYNCHRONOUS=OFFfor faster writes - SQL-based batch updates - Replaces slow feature-by-feature updates with bulk SQL operations
- Segment-based spatial indexing - More efficient queries for long linestrings
Network Analysis
- Optimized feature matching in native network analysis processor
- Optimized OSM polygon processing for greenspaces and other downloads
Reporting
- Skip study_area_grid layer in report generation (too many features to render efficiently)
- Skip grid cells that already have maximum score to reduce unnecessary processing
🐛 Bug Fixes
Critical Stability Fixes
- Fixed crash when concurrency > 1 - Major stability improvement for parallel processing
- Fixed memory blowout in parallel grid creation for large datasets
- Fixed multipart geometry handling in network analysis and study area creation
CRS & Geometry Fixes
- Fixed 2.5D geometry warnings - All geometries now properly flattened to 2D
- Fixed EPSG:54009 CRS warning - Now uses correct ESRI:54009 for Mollweide projection
- Fixed CRS handling in MultiBufferDistancesNativeWorkflow
- Fixed road network CRS issues across multiple workflows
UI & UX Fixes
- Fixed duplicate QMessageBox on OSM download error (was showing both error and cancelled messages)
- Fixed banner text rendering and button styling issues
- Fixed AttributeError in RoadNetworkPanel by reordering attribute initialization
- Open existing project no longer incorrectly shows women's options dialog
Data & Workflow Fixes
- Fixed mask layer creation with proper geometry validation and commitChanges
- Fixed road network and data persistence checks
- Fixed raster layer validation in
_subset_raster_layerwith clear error messages - Reverted multi_buffer_distances_native_workflow to stable v1.2.6 implementation
✨ New Features
GHSL Integration
- Automatic GHSL download fallback - Workflows automatically download Global Human Settlement Layer data if missing
ensure_ghsl_data()method for workflows that need settlement data- GHSL download failure warning during project creation with user prompt to continue or abort
Enhanced Reporting
- Dimension and factor map pages added to analysis summary report
- Exclude unused indicators (analysis_mode="Do Not Use") from reports
- Improved execution time display - Shows "Not run" instead of "None min" for unexecuted indicators
Progress & Feedback
- Progress bar updates during batch operations showing real-time processing progress
- Status label showing current workflow step
- Raster layer validation with helpful error messages before processing begins
🎯 UI Improvements
- Improved banner text rendering and refined button styling throughout
- Updated font sizing for women's considerations section in Create Project Panel
- Move EPLEX Score to contextual dimension only
- Auto-balance weights under dimension for easier configuration
- Better OSM download error messages showing actual network error details
🔧 Code Quality
- Google-style docstrings - All docstrings converted to consistent format
- Qt threading migration - Replaced Python threading with Qt threading (QMutex, QThread, QThreadPool) for better QGIS integration
- GitHub CI improvements - Black version pinned to 25.x to match local development environment
- Comprehensive error handling and logging improvements throughout
📦 Previous 1.3.0 Changes (included)
These changes from the development cycle are also included:
- OSM download: Added spinner animation and improved error feedback
- Reintegrated ORS v0.6 as routing option
- Education factor now uses index score with GHSL
- Fixed workflows stopping after 1 factor under dimension
- Added local caching for Ookla parquet files
- Dynamic font sizing improvements
📋 Upgrade Notes
- Backup existing projects before upgrading
- Project files may need recreation due to dictionary key changes from WEE to GeoE3
- Check grid_creation_workers setting if you have memory constraints (default is optimized for most systems)
- Existing layer groups named "WEE" will appear alongside new "GeoE3" groups - consider cleaning up old layers
🙏 Contributors
Thanks to all contributors who made this release possible, including the World Bank GOST team, Kartoza, and the open source community.
Full Changelog: https://github.com/worldbank/GEEST/compare/v1.2.6...v2.0.0
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 2 months ago
GEEST - v2.0.0 - Major Performance & Stability Release
Branding
- Complete WEE to GeoE3 rename across codebase (variables, dictionary keys, folder names, QML files, UI)
- User-visible text updated from 'WEE Score' to 'GeoE3 Score'
- Layer groups renamed from 'WEE' to 'GeoE3'
- BREAKING: Existing project files may need updates for new dictionary keys
Performance Improvements
- Optimized GeoPackage writes with GDAL settings (OGR_SQLITE_JOURNAL=MEMORY, OGR_SQLITE_SYNCHRONOUS=OFF)
- SQL-based batch updates replace feature-by-feature updates for dramatic speed improvements
- Parallel grid chunk processing with configurable worker count (grid_creation_workers setting)
- Bounded write queue (100K max) with async writer thread for memory-efficient batch writes
- Two-phase spatial check (Contains then Intersects) reduces intersection tests by ~90%
- Segment-based spatial index queries for long linestrings reduce false positives
- Skip grid cells that already have max score to reduce unnecessary processing
- Skip study_area_grid layer in report generation (too many features to render)
Bug Fixes
- Fixed 2.5D geometry warnings - all geometries now properly flattened to 2D
- Fixed EPSG:54009 CRS warning - now uses correct ESRI:54009 for Mollweide projection
- Fixed mask layer creation with geometry validation and commitChanges
- Reverted multi_buffer_distances_native_workflow to stable v1.2.6
- Fixed raster layer validation in _subset_raster_layer with clear error messages
New Features
- GHSL download fallback - workflows automatically download GHSL data if missing
- ensure_ghsl_data() method for workflows that need settlement data
- Raster layer validation with helpful error messages before processing
- Progress bar updates during batch operations showing processing progress
- Status label showing current workflow step
Code Quality
- All docstrings converted to Google-style format
- GitHub CI black version pinned to 25.x to match local development environment
- Comprehensive error handling and logging improvements
Previous 1.3.0 Changes
- OSM download: Added spinner animation and improved error feedback
- Reintegrated ORS v0.6 as routing option
- Auto-balance weights under dimension
- Education factor now uses index score with GHSL
- Fixed workflows stopping after 1 factor under dimension
- Added local caching for Ookla parquet files
- UI improvements: Dynamic font sizing, GeoE3 branding updates
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by timlinux 2 months ago
GEEST - Release v1.2.6
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 3 months ago
GEEST - Release v1.2.5
What's Changed
- Bump urllib3 from 2.5.0 to 2.6.0 by @dependabot[bot] in https://github.com/worldbank/GEEST/pull/184
- Add filtering for study areas without GHSL settlements by @osundwajeff in https://github.com/worldbank/GEEST/pull/183
- Bump version from 1.2.4 to 1.2.5 in config.json by @osundwajeff in https://github.com/worldbank/GEEST/pull/212
Full Changelog: https://github.com/worldbank/GEEST/compare/v1.2.4...v1.2.5
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 3 months ago
GEEST - Release v1.2.4
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 4 months ago
GEEST - Release v1.2.3
What's Changed
- GHSL Integration Refactoring by @osundwajeff in https://github.com/worldbank/GEEST/pull/170
Full Changelog: https://github.com/worldbank/GEEST/compare/v1.2.2...v1.2.3
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 4 months ago
GEEST - Release v1.2.2
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 4 months ago
GEEST - Release v1.2.0
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 5 months ago
GEEST - Release v1.1.0
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 10 months ago
GEEST - Release v1.0.0
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 10 months ago
GEEST - Release v0.7.4
Fixed issue with accessibility zones not calculating.
Fixed issue with progress update visualisation.
Fixed tests
Fixed regression with top level analysis not running
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 10 months ago
GEEST - Release v0.7.3
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 11 months ago
GEEST - Release v0.7.2
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 11 months ago
GEEST - Release v0.7.1
Full Changelog: https://github.com/worldbank/GEEST/compare/v0.7.0...v0.7.1
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 11 months ago
GEEST - Release v0.7.0
What's Changed
- Bump virtualenv from 20.25.3 to 20.26.6 by @dependabot in https://github.com/worldbank/GEEST/pull/15
- Bump jinja2 from 3.1.4 to 3.1.5 by @dependabot in https://github.com/worldbank/GEEST/pull/13
- Publish in QGIS repo by @timlinux in https://github.com/worldbank/GEEST/pull/19
- Grid speedup by @timlinux in https://github.com/worldbank/GEEST/pull/20
- Change the repository name used in the release workflow by @Samweli in https://github.com/worldbank/GEEST/pull/21
- WIP: ORS Onboarding Panel - add QGIS Native Processor by @timlinux in https://github.com/worldbank/GEEST/pull/33
- Added dev readme by @timlinux in https://github.com/worldbank/GEEST/pull/25
- Cleanup unneeded files by @timlinux in https://github.com/worldbank/GEEST/pull/24
- Nix config improvements by @timlinux in https://github.com/worldbank/GEEST/pull/23
- Add QGIS Native Accessibility in settings by @timlinux in https://github.com/worldbank/GEEST/pull/39
- Implement network analysis using local processing and other improvements by @timlinux in https://github.com/worldbank/GEEST/pull/42
- Fix crs issues in project creation by @timlinux in https://github.com/worldbank/GEEST/pull/46
- Fix for crs issues by @timlinux in https://github.com/worldbank/GEEST/pull/47
- Bugfixes for utm zone calc etc by @timlinux in https://github.com/worldbank/GEEST/pull/48
New Contributors
- @dependabot made their first contribution in https://github.com/worldbank/GEEST/pull/15
- @Samweli made their first contribution in https://github.com/worldbank/GEEST/pull/21
Full Changelog: https://github.com/worldbank/GEEST/compare/v0.5.5...v0.7.0
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 11 months ago
GEEST - Release v0.5.5
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] about 1 year ago
GEEST - Release v0.5.4
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] about 1 year ago
GEEST - pre_geest2_merge
This is just a tag of the code before merging in the Kartoza updates for geest2
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by timlinux about 1 year ago