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_workers setting) 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=MEMORY and OGR_SQLITE_SYNCHRONOUS=OFF for 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_layer with 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

  1. Backup existing projects before upgrading
  2. Project files may need recreation due to dictionary key changes from WEE to GeoE3
  3. Check grid_creation_workers setting if you have memory constraints (default is optimized for most systems)
  4. 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

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

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

New Contributors

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