A scientific tool to extract and analyze urban spatiotemporal vulnerability.
Project description
VERUS
Vulnerability Evaluation for Resilient Urban Systems
Description
VERUS (Vulnerability Evaluation for Resilient Urban Systems) is a Python library for extracting points of interest from OpenStreetMap, clustering them based on spatial proximity and time-based vulnerability indices, and analyzing urban vulnerability patterns.
Documentation
Comprehensive documentation is available at https://les2feup.github.io/verus/
Publications
- Bittencourt, J. C. N., Costa, D. G., Portugal, P., Peixoto, M. L. M., & Vasques, F. (2025). On the spatiotemporal knowledge-driven vulnerability assessment of urban areas: A clustering-based approach. International Journal of Disaster Risk Reduction, 127, 105681. https://doi.org/10.1016/j.ijdrr.2025.105681
Installation
pip install verus
Reproducing Results
To reproduce the results from the latest article, run the following Jupyter Notebooks:
Basic Usage
from verus import VERUS
from verus.data import DataExtractor, TimeWindowGenerator
from verus.grid import HexagonGridGenerator
# Extract default urban data from OpenStreetMap
extractor = DataExtractor(region="Porto, Portugal")
poi_data = extractor.run()
# Define default time-based vulnerability scenarios
twg = TimeWindowGenerator(reference_date="2023-11-06")
time_windows = twg.generate_from_schedule()
# Generate analysis grid
grid = HexagonGridGenerator(region="Porto, Portugal", edge_length=250)
hex_grid = grid.run()
# Run vulnerability assessment
assessor = VERUS(place_name="Porto")
# Load extracted data
assessor.load(
potis_df=poi_data,
time_windows_dict=time_windows,
zones_gdf=hex_grid,
)
# Perform assessment and get results
evaluation_time = tw_gen.to_unix_epoch("2023-11-06 17:30:00")
results = assessor.run(evaluation_time=evaluation_time)
# Visualize results
map_obj = assessor.visualize()
# Save results to file
assessor.save("./results/porto/")
Features
- Extract points of interest from OpenStreetMap for any city
- Create hexagonal grid systems for spatial analysis
- Implement OPTICS density-based clustering for identifying urban patterns
- Apply K-means clustering with Haversine distance for geographic data
- Generate time-dependent vulnerability assessments
- Create interactive maps for visualization with folium
- Export results in various formats (GeoJSON, CSV, HTML)
Contributions
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a pull request
Please make sure to update tests and documentation as appropriate.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Research developed at the Laboratory of Emerging Smart Systems (LES2) at the Faculty of Engineering of University of Porto
- This work was supported by the Associate Laboratory Advanced Production and Intelligent Systems – ARISE LA/P/0112/2020 (DOI 10.54499/LA/P/0112/2020), by the Base Funding (UIDB/00147/2020) and Programmatic Funding (UIDP/00147/2020) of the R&D Unit Center for Systems and Technologies -- SYSTEC, and by the Fundação para a Ciência e a Tecnologia (FCT) through the PhD scholarship (2024.02446.BD).
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file verus-1.1.0.tar.gz.
File metadata
- Download URL: verus-1.1.0.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4da8ee8c61ffcfe3744737cb9f2ce7ffa26c13f22b40d695b89c5847161ec6c
|
|
| MD5 |
ef2c0d916b142038dafe7d6150a13c59
|
|
| BLAKE2b-256 |
920bf91eb13c1144059543452956b8455a7c30fbc9359d596925d25707248c50
|
File details
Details for the file verus-1.1.0-py3-none-any.whl.
File metadata
- Download URL: verus-1.1.0-py3-none-any.whl
- Upload date:
- Size: 581.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46ca0b9496ed96f8fc6289c12c21344c3d40a3a40e6672a35ed0bb3a834d1577
|
|
| MD5 |
8716c4f3962e725b3536e0de87a985c3
|
|
| BLAKE2b-256 |
5993069bcfe5e93ff3da0ab5b46a51de94f7e07bad02ac90e7d084878cf6a4fc
|