A landslide occurs when masses of rock, debris, or earth move down a slope. It is a type of "mass wasting," referring to the downward movement of soil and rock due to gravity. Landslides are categorized into five movement types: falls, topples, slides, spreads, and flows, which can involve different geological materials such as bedrock, debris, or soil. Common examples include debris flows (often called mudslides) and rockfalls.
Landslides are a significant geological hazard affecting nearly every state in the United States. As populations expand into hilly or mountainous areas, understanding the risks posed by landslide hazards becomes crucial. It enables cities, towns, and counties to plan land use and design new construction and infrastructure to minimize the impact and reduce costs associated with living in landslide-prone areas.
While many physical causes of landslides cannot be eliminated, proper geologic investigations, sound engineering practices, and enforcing land-use management regulations can help mitigate these risks. Studying landslides also provides valuable insights into their causes, movement patterns, soil characteristics, associated geology, and the locations most susceptible to these events.
This project aims to develop a logistic regression classifier for predicting landslide risks using historical environmental data and real-time inputs. The model incorporates critical features such as rainfall levels, soil moisture, slope gradients, and seismic activity to classify areas into low-risk or high-risk zones.
By leveraging API-fed real-time environmental data, the classifier adapts dynamically, enabling semi-real-time predictions for disaster preparedness and risk assessment.
- Build a logistic regression classifier to predict landslide risks.
- Integrate real-time environmental data using APIs from sources like NASA GPM and USGS.
- Develop a dashboard for visualizing predictions and environmental conditions.
- Provide an open-source framework for landslide risk forecasting.
- Utilizes static datasets (e.g., landslide occurrences, terrain features) for model training.
- Features include rainfall intensity, soil saturation, slope gradient, and seismic activity.
- Fetches live environmental data from APIs:
- NASA GPM: Precipitation data.
- USGS: Seismic activity updates.
- NOAA: Wind-driven rainfall metrics.
- A machine learning model trained to classify landslide risk.
- Includes dynamic threshold tuning based on real-time updates.
Logistic regression works well for classifying landslide risk based on historical patterns and static environmental conditions (e.g., precipitation, slope gradient, soil type). It helps identify high-risk zones but lacks the ability to adjust dynamically based on real-time data.
To overcome this limitation, NASAβs LHASA system and the MERRA-2 dataset can be integrated to provide the model with real-time meteorological inputs:
- Global Precipitation Measurement (GPM): Provides live rainfall data.
- Wind-Driven Rainfall (WDR): Helps determine terrain-specific impacts.
- DEM (Digital Elevation Model) Data: Allows slope aspect calculations.
- Antecedent Soil Moisture: Enhances predictions by considering how much water is retained in soil.
- Trained on historical landslide occurrences, terrain slope, soil type, and past rainfall data.
- Produces baseline probability estimates for landslide susceptibility.
- Uses GPM, MERRA-2, and terrain elevation data to update rainfall intensity, wind direction, and soil saturation levels.
- Computes dynamic probability adjustments based on live environmental changes.
- Logistic regression provides the core classification.
- Live data dynamically refines thresholds, adjusting real-time risks based on rainfall severity.
This hybrid approach creates a semi-real-time landslide prediction system, making it more actionable for disaster response and early warning systems.
- Visualizes live landslide predictions.
- Displays real-time rainfall and hazard indicators for specific regions.
π natural-hazards-classifier βββ π assets # Static resources βββ π data # Historical and real-time datasets βββ π src # Scripts for preprocessing, training, and API calls βββ π notebooks # Jupyter notebooks for exploration and testing βββ π README.md # Project overview βββ π requirements.txt # Python libraries and dependencies βββ π main.py # Main script for classification and dashboard updates
- Historical Landslide Occurrences:
- Terrain Features:
- Soil Type:
- Past Rainfall Data:
- Real-Time Geospatial Data:
- Meteorological Inputs:
- Seismic Activity:
- Data Visualization and Subsetting:
- Programming Language: Python
- Machine Learning Library: scikit-learn
- Data Manipulation: pandas, NumPy
- Visualization Tools: Matplotlib, Streamlit, Dash, HoloViz
- API Integration: requests
- Dashboard Development: Streamlit, Dash, or HoloViz (tbd)
- Interactive Development Environments: Jupyter Notebooks, Google Colab
- Clone the repository:
git clone https://github.com/username/natural-hazards-classifier.git
- Navigate to the project directory:
cd natural-hazards-classifier
- Install dependencies:
pip install -r requirements.txt
- Train the Model Run the training script to prepare the logistic regression classifier:
python src/train_model.py
- Fetch Real-Time Data Integrate real-time environmental data:
python src/fetch_real_time_data.py
- Visualize Predictions Launch the dashboard to view hazard risk predictions:
streamlit run main.py # Replace with `panel serve` or `dash-app.py` if using HoloViz or Dash
- Expand the model to include other natural hazards like floods and wildfires.
- Incorporate a deep learning approach for improved real-time predictions.
- Develop a GIS-based visualization tool for interactive hazard mapping.
Contributions are welcome! Please open an issue or submit a pull request for any bug fixes, feature additions, or improvements.
This project is licensed under the MIT License.