Recent Releases of DamageScanner
DamageScanner - v1.0.1
v1.0.1 — Patch Release
This patch fixes two bugs in the vector damage calculation pipeline.
MultiLineString geometry support (_convert_to_meters)
Vector features with MultiLineString geometries were not handled correctly, causing failures during length conversion. The fix extracts the first component geometry (.geoms[0]) before proceeding with the geodesic length calculation.
Cell area estimation for meter-based CRS (_get_cell_area_m2)
When the features were provided in a projected coordinate system (meters rather than degrees), the cell area estimation produced NaN values. The fix reprojects the asset point to the hazard CRS before buffering, ensuring valid area estimates regardless of the input coordinate system.
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 22 days ago
DamageScanner - v1.0.0
DamageScanner v1.0.0 Release Notes
🎉 First Major Release
We're excited to announce DamageScanner v1.0.0! This release marks a major milestone with comprehensive testing, new features, and improved stability.
New Features
Improved NetCDF Hazard Support
- Full support for NetCDF climate and hazard data (
.ncfiles) - Handles various NetCDF structures (with
band,z, or other dimensions) - Robust CRS detection with fallback for files without EPSG codes
New Parameters
extract_strategy: Choose between"feature-sequential"and"raster-sequential"for exactextract processingreturn_full: Option to return all features, not just those with hazard exposure (useful for mapping)
Vector-Vector Overlay
- New
_overlay_vector_vectorfunction for damage assessment using vector hazard data (e.g., flood polygons from hydraulic models) - Supports polygon, line, and point exposure features
- Automatic CRS reprojection to metric coordinates for accurate area/length calculations
Bug Fixes
Core Calculations
- Fixed discrepancies between gridded and non-gridded approaches - both methods now produce consistent results
- Fixed
_convert_to_meters()- now correctly usespyproj.Geodfor accurate geodesic length calculations - Fixed
np.trapzdeprecation by updating tonp.trapezoid
Data Processing
- Fixed point geometry handling - proper dtype conversion for
valuesandcoveragecolumns - Fixed xarray DataArray detection to avoid calling
.to_dataarray()on already-converted data - Fixed buildings extraction from OSM to use multipolygons only (building points are POI markers, not footprints)
- Fixed invalid OSM geometry handling with
on_invalid="ignore" - Fixed parquet file reading in
VectorExposure
CRS Handling
- Added
_crs_is_meters()helper function for robust CRS unit detection - Fixed crashes when NetCDF files lack valid EPSG codes
- Improved CRS fallback to EPSG:4326 when undefined
Data Consistency
- Added
_ensure_list()helper to guarantee consistent list output forvaluesandcoveragecolumns - Fixed numpy array vs Python list inconsistency from exactextract
- Fixed
_convert_to_meters()to handle empty, None, and NaN coverage values
Other Fixes
- Fixed
object_colparameter not being passed through VectorScanner - Fixed asset_type filtering to only apply for OSM data (not user-provided vector files)
- Replaced bare
except:withexcept Exception:for proper error handling - Fixed FutureWarning for
rio.set_crs()→rio.write_crs()
Testing Infrastructure
Comprehensive Test Suite
- 137+ tests covering all major functionality
test_core.py- DamageScanner class, raster/vector/OSM workflowstest_raster.py- RasterScanner functionstest_vector.py- VectorScanner, VectorExposure, vector-vector overlaytest_utils.py- Utility functionstest_osm.py- OSM data extractiontest_download.py- Download functions (mocked)
Continuous Integration
- GitHub Actions workflow for automated testing on every push/PR
- Ruff formatting and linting checks
- Test markers for slow tests (
@pytest.mark.slow)
Documentation
Example Notebooks
Five new example notebooks demonstrating key workflows:
- Raster Damage Assessment - Basic flood damage with raster data
- Vector Damage Assessment - Vector exposure with raster hazard
- OSM Infrastructure Assessment - Roads, buildings, and critical infrastructure
- NetCDF Hazard Assessment - Climate data (windstorms, etc.)
- Risk Assessment - Expected Annual Damage from multiple return periods
Updated Documentation
- New GitHub Pages documentation site
- Updated README with CI badges (tests, docs, linting)
- Improved docstrings throughout the codebase
Breaking Changes
VectorExposurenow returns 5 values instead of 4 when using theis_osmflag (if you destructure the return value)- Default behavior for
return_fullmay affect downstream code expecting only exposed features
Contributors
- Elco Koks (@ElcoK)
- Jens de Bruijn (@jensdebruijn)
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 1 month ago
DamageScanner - v1.0.0b3
Climate Change - Natural Hazard and Storms
- Python
Published by jensdebruijn about 1 month ago
DamageScanner - 1.0.0b2
Climate Change - Natural Hazard and Storms
- Python
Published by jensdebruijn about 1 month ago
DamageScanner - v1.0.0b1
Climate Change - Natural Hazard and Storms
- Python
Published by jensdebruijn about 1 month ago
DamageScanner - v0.9-beta.25
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.22...v0.9beta.25
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 1 month ago
DamageScanner - v0.9beta.23
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.22...v0.9beta.23
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 7 months ago
DamageScanner - v0.9beta.22
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.21...v0.9beta.22
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 7 months ago
DamageScanner - v0.9beta.21
Climate Change - Natural Hazard and Storms
- Python
Published by jensdebruijn 9 months ago
DamageScanner - v0.9beta.20
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.19...v0.9beta.20
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 10 months ago
DamageScanner - v0.9beta.19
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.18...v0.9beta.19
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 10 months ago
DamageScanner - v0.9beta.18
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.17...v0.9beta.18
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 10 months ago
DamageScanner - v0.9beta.17
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.16...v0.9beta.17
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 11 months ago
DamageScanner - v0.9beta.16
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.15...v0.9beta.16
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 11 months ago
DamageScanner - v0.9beta.15
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9beta.14...v0.9beta.15
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK 11 months ago
DamageScanner - 0.9-beta.14
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.9-beta.13...v0.9beta.14
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 1 year ago
DamageScanner - 0.9-beta.13
Fix several small issues, including the download that did not work and the osm_ids missing.
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 1 year ago
DamageScanner - 0.9-beta.12
- rasterscanner was suddenly gone
- fix some internal dependencies
- fix that it tries to convert to meters if data is already provided in meters.
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 1 year ago
DamageScanner - 0.9-beta.11
-
Fixed gdal dependency in raster file.
-
fixed some osm infra type issues in the osm.py file.
-
Added config and download from osm-flex to also overcome gdal dependency issue
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 1 year ago
DamageScanner - 0.9-beta.10
Fully refactored the damagescanner, now uses exactextract and fully integrated OSM.
Full documentation will come at release v1.0
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 1 year ago
DamageScanner - 0.9-beta.9
Fully refactored the damagescanner, now uses exactextract and fully integrated OSM.
Full documentation will come at release v1.0
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 1 year ago
DamageScanner - 0.9-beta.8
Fully refactored the damagescanner, now uses exactextract and fully integrated OSM.
Full documentation will come at release v1.0
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 1 year ago
DamageScanner - 0.9-beta.7
Fully refactored the damagescanner, now uses exactextract and fully integrated OSM.
Full documentation will come at release v1.0
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 1 year ago
DamageScanner - 0.9-beta.5
Fully refactored the damagescanner, now uses exactextract and fully integrated OSM.
Full documentation will come at release v1.0
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 1 year ago
DamageScanner - 0.9-beta.4
Fully refactored the damagescanner, now uses exactextract and fully integrated OSM.
Full documentation will come at release v1.0
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 1 year ago
DamageScanner - 0.8-beta.1
Thus update uses the new Python bindings for exactextract to speed up and simplify the damage assessment of objects. For now this new object_scanner replaces only some functionality of the old VectorScanner. Over the next (few) beta release(s) we will re-integrate the old VectorScanner functionality using the new object_scanner
Climate Change - Natural Hazard and Storms
- Python
Published by jensdebruijn over 1 year ago
DamageScanner - DamageScanner v0.7.2
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 2 years ago
DamageScanner - DamageScanner v0.7.1
What's Changed
- Bump pygments from 2.12.0 to 2.15.0 in /doc by @dependabot in https://github.com/VU-IVM/DamageScanner/pull/31
- Bump certifi from 2022.12.7 to 2023.7.22 in /doc by @dependabot in https://github.com/VU-IVM/DamageScanner/pull/30
- Bump requests from 2.28.1 to 2.31.0 in /doc by @dependabot in https://github.com/VU-IVM/DamageScanner/pull/29
- Bump urllib3 from 1.26.9 to 1.26.18 in /doc by @dependabot in https://github.com/VU-IVM/DamageScanner/pull/28
Full Changelog: https://github.com/VU-IVM/DamageScanner/compare/v0.6.2...v0.7.1
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 2 years ago
DamageScanner - DamageScanner v0.7
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 2 years ago
DamageScanner - DamageScanner v0.7
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK over 2 years ago
DamageScanner - DamageScanner v0.6.2
Update everything to natural hazards
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 3 years ago
DamageScanner - DamageScanner0.6.1
- Compatible with Shapely 2.0
- Object-based calculation added
- Allows for reading hazard netcdf files
- hazard type should not matter anymore
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 3 years ago
DamageScanner - DamageScanner0.3.5
Improved extraction from OpenStreetMap
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK almost 6 years ago
DamageScanner - DamageScanner0.3.0
- Added support for risk calculations
- Better working VectorScanner
- Added plot capabilities
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 7 years ago
DamageScanner - DamageScanner0.2.1
Give it a DOI with Zenodo
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 7 years ago
DamageScanner - DamageScanner0.2
This new version of the DamageScanner includes support for vector-based damage assessments and a ReadTheDocs.
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 7 years ago
DamageScanner - DamageScanner0.1
First working version of the DamageScanner using as raster-based approach
Climate Change - Natural Hazard and Storms
- Python
Published by ElcoK about 7 years ago