Releases: NHERI-SimCenter/BrailsPlusPlus
Version 4.2.0
Major New Features
- Housing Unit Allocation (brails.aggregators.housing_units): PyncodaHousingUnitAllocator: New housing allocation model to assign households to building inventories. Pyncoda an open-source package maintained and developed by Nathanael Rosenheim (Texas A&M) https://github.com/npr99/intersect-community-data. Python and Jupyter Notebooks available in the examples/housing_units/ directories.
- Methods for merging AssetInventories and Spatial aggregation of Point based features to AssetInventories. (brails.aggregators.points_to_polygons)
- Methods to read AssetInventory from existing geoJSON file
Other Changes
- Miscellaneous Improvements to GeoTools, AssetInventory, and ImageSet/Fixes to NBI and NTI Scrapers. Example notebooks for the two scrapers.
- Inventory: Added get_all_asset_features method to AssetInventory to simplify data retrieval.
- Robustness: Improved error handling in the NSI scraper and added multi-geometry support to get_geojson.
- Python 3.9+: Updated type hinting across types, scrapers, and aggregators to use modern Python 3.9 syntax (e.g., built-in collection types).
- Formatting: Applied ruff format to selected files to improve code style consistency.
- CI/CD: Deprecated the legacy runTests workflow in favor of the modern tests workflow and modernized project imports.
Specific Pull Requests
- Correcting minor typos by @bacetiner in #135
- Miscellaneous Improvements to GeoTools, AssetInventory, and ImageSet/Fixes to NBI and NTI Scrapers by @bacetiner in #136
- Fix: GeoJSON Attribute extraction in read_from_geojson and MultiPolygon handling in extract_aerial_imagery by @bacetiner in #137
- Introduce Household Inventory module and conflict-resolving merge architecture by @zsarnoczay in #138
- Introduce Household Assignment Test Suite & Enhance Project Configuration by @zsarnoczay in #139
- feat: Housing Unit Allocation, Spatial Aggregation updates, and Modernization by @zsarnoczay in #140
This work is based on material supported by the National Science Foundation under grants CMMI 1612843 and 2131111
v4.1.4
v4.1.3
This release introduces significant improvements to USGS elevation data integration, Overture Maps scraping, RAPID-UW data processing, geometry handling, and visualization tools, along with substantial improvements to documentation, testing, and overall code stability. Alongside these feature additions, the release improves code stability, utilities, and the overall developer experience through refined documentation, examples, and testing. Below is a summary of the specific enhancements included in this release.
Core Features & Enhancements
- USGS Elevation Service added to scrapers with improved data handling
- RAPIDTools functionality integrated into BRAILS++
- Overture Maps enhancements, including footprint scrapers and server fixes
- New
ImageSetplotting method and Jupyter notebook examples for image downloads - Orthomosaic data support: examples for extracting aerial imagery
- Added centroid calculation for Asset objects
- Added
bbox2polymethod and Shapely-to-BRAILS++ geometry conversion utilities - Power network inventory support with new sample data
Utilities & Stability Improvements
- Corrected NTI API endpoint
- Utility class improvements for computer vision models
- Added
rasterioto setup requirements - Refactored constants & unit defaults, with added precision options
- Improved stability of
ImageSet.set_directory - Updates to
remove_featuresmethods for better flexibility - Debugging and improvements in geometry validators and plan area unit conversion
Documentation & Developer Experience
- Extensive docstring improvements for Sphinx compatibility
- Added doctest examples and improved example organization
- Added import instructions for several modules, including
AssetInventory - Updated Sphinx settings, RST files, and Autosummary references
- Improved commentary and examples across footprint workflows
- Updated Colab and Lightning links
v4.1.1
v4.1.0
This release introduces expanded functionality across scraping and inference modules, along with performance improvements, better typing support, and updated examples. In brief these enhancements are:
- New Scrapers:
- ASCE Hazard Data Scraper
- OSM Power Network Inventory Scraper
- Overture Maps Footprint Scraper
- Multi-Hazard Inference:
- Enhanced support for hurricane wind, flood, and earthquake feature inference
- Street-Level Damage Detection:
- Introduced an image-based module for assessing structural damage from panoramic imagery
- Flexible Spatial Join Methods:
- Added new join strategies to support inventory creation from diverse geospatial sources
- Updated & New Example Notebooks:
- Image classifiers: roof shape, year built, foundation elevation
- GPT and VLM-based classifiers
- ChimneyDetector and FacadeParser
- Street-level damage detection workflows
- Inventory creation pipelines
- Typing and Code Quality:
- Added PEP 561 compliance for enhanced static type checking
- Improved consistency of internal data structures