Skip to main content

BRAILS++: Building Regional Asset Inventories for Large Scale Simulation

Project description

BRAILS++: Building Regional Asset Inventories for Large Scale Simulation

Tests DOI PyPi version PyPI download month

What is it?

BRAILS++ is an object-oriented framework for building applications that focus on generating asset inventories for large geographic regions.

BRAILS++ provides modular workflows for generating inventories by integrating diverse data sources, including public datasets, features extracted from imagery, and ruleset-based inference models.

Brails Workflow

In BRAILS++, an asset inventory consists of geographically referenced points, line-strings, or polygons, each annotated with key attributes. To build these inventories, the data scrapers in BRAILS++ interact with web servers to create an inventory blueprint suitable as a starting point for regional-scale analysis. Example datasets accessed through BRAILS++ include FEMA’s USA Structures (FEMA, 2022), Microsoft Footprints (Microsoft, 2022), Overture Maps (Overture Maps Foundation, 2023), OpenStreetMap (OpenStreetMap contributors, 2017), the U.S. Army Corps of Engineer’s NSI, TIGER/Line roadway data (U.S. Census Bureau, 2024), FHWA’s National Bridge and Tunnel Inventories (FHWA, 2023; FHWA, 2024), ASCE REST services for design loads (ASCE, 2025), and HIFLD infrastructure data (U.S. Department of Homeland Security, 2024).

Despite their value, these datasets often contain incomplete or inconsistent information, requiring further enhancement to address the corresponding uncertainties. BRAILS++ incorporates methods for handling missing data and enhancing the available datasets through modules that enable: 1) feature extraction from publicly available images, e.g. Google Street View; 2) inventory merging to integrate metadata from various sources and resolve inconsisties, such as differening metadata values or spatial issues e.g. misaligned footprints ; 3) statistical imputation to generate pluasable inventories with all features defined for all assets given some assets will have missing features and finally 4) data inference to add asset attributes for which no information exists in the inventory, e.g. building codes applicable at the time of construction can be used to infer typical connection details (Kijewski-Correa et al., 2022) such as roof-to-wall connections for wind vulnerability assessments.

How is the repo laid out?

  • brails: A directory containing the classes
    • brails/types: directory containing useful datatypes, e.g., ImageSet and AssetInventory
    • brails/processors: directory containing classes that do image_processing to make predictions, e.g. RoofShape
    • brails/scrapers: directory containing classes that do internet downloads, e.g., footprint and image scrapers.
    • brails/filters: directory containing image filters, e.g., classes that take images and revise or filter out unnecessary portions of images.
    • brails/aggregators: directory containing classes for doing merge, join and allocation operations, e.g., combining data from different datasets (inventories or other) to create a single inventory.
    • brails/imputers: directory containing classes that fill in missing AssetInventory datasets, i.e., filling in features that are missing in certain Assets of the AssetInventory.
    • brails/inferers: directory containing classes that infer new asset features based on existing features in the Assets of AssetInventory.
    • brails/utils: directory containing misc classes that do useful things, e.g. geometric conversions
  • examples: A directory containing example scripts and Jupyter notebooks
  • tests: A directory containing unit tests. The directory structure follows that of brails

Quick Links

Installation

pip install brails

Note
To install the package from GitHub, run:

pip install git+https://github.com/NHERI-SimCenter/BrailsPlusPlus

If it's already installed and you want to update:

pip install --upgrade git+https://github.com/NHERI-SimCenter/BrailsPlusPlus

Acknowledgments

This work is based on material supported by the National Science Foundation under grants CMMI 1612843 and CMMI 2131111.

Contributors

Want to see who made this possible? Check out the full list of contributors here.

Contact

NHERI-SimCenter nheri-simcenter@berkeley.edu

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brails-4.3.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brails-4.3.0-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file brails-4.3.0.tar.gz.

File metadata

  • Download URL: brails-4.3.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for brails-4.3.0.tar.gz
Algorithm Hash digest
SHA256 9472f6818244d6cb06ef1ef9de0b47f33b9b0d030eead807ab2363a5c68cd3f6
MD5 9c2b4f422e2bc36dfe3ed6c9c6f4089b
BLAKE2b-256 1342ea4d12c7b3c7ea103ffe004fa3f57a2544d5b675b2af78e4b2358bea1628

See more details on using hashes here.

File details

Details for the file brails-4.3.0-py3-none-any.whl.

File metadata

  • Download URL: brails-4.3.0-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for brails-4.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 284d93867a3983ef3cdca38e5789e19a004dfc8d39da30ae381ba58ffb757395
MD5 0a08ab086a534fd2872a17c716f285a0
BLAKE2b-256 9f600959ac7eb6801bd8bb8787507da49fd98b853df8f7728f13323ba4274ab1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page