Awards & Nominations
PKL (PKL Knows Landslide) has received the following awards and nominations. Way to go!

PKL (PKL Knows Landslide) has received the following awards and nominations. Way to go!
Have you ever thought of getting to know anything before it actually happens? Well, now thanks to Data Science and Machine Learning it has been possible to predict things. Landslides are a serious issue, particularly in nations like Nepal, which has extensive Himalayas but no substantial technical developments. PKL (PKL Knows Landslide) is a Machine Learning-based project that lets you anticipate Landslides in advance. It is essentially an app that utilizes NASA data to forecast landslides and displays the most dangerous areas nearby. Furthermore, individuals may report a landslide near them, the data from which can be utilized to improve the model.
We have created a machine learning model that was trained on previous landslide data and weather variables during the landslide, such as precipitation, pressure, relative humidity, temperature, and wind speed. We've built the model into an app that anybody can use to receive risk predictions for any location. There are also useful visualizations that show the hazardous districts of Nepal as well as the meteorological conditions that are likely to cause landslides. The "High-Risk Districts" section of the app identifies the hazardous locations in the country and points them into google maps with risk percentages. In addition, representations of previous data from NASA's Global Landslide Catalog and danger zones projected by NASA's LHASA model are accessible. Last but not least, the app features a report landslide part where individuals may report landslides in their area as well as locations that appear to be in danger.

The model is trained using meteorological data from previous landslides. We compiled a list of landslides in Nepal using data from the Global Landslide Catalog. We acquired data for the weather conditions from the “District Wise Climate Data for Nepal” collection from Open Data Nepal, which was compiled by NASA Langley Research Center (LaRC) POWER Project. We combined the two datasets to create one with landslide and meteorological conditions. We labeled the data as ‘True,' indicating that landslides are likely under these conditions. We chose random data from the climate data that was not in the landslide catalog for the bogus labels. The final dataset lacked sufficient data to train a model. So, we used TabGAN to generate more data. Then, we trained three models, namely: XGBoost, Logistic Regression, and Random Forest, and used its ensemble to get predictions.

Visualizations are the most effective way for humans to comprehend data. We attempted to make the most of the data available in order to produce useful visuals. The visualizations accessible in our app are shown below:



It is our end product, built with flutter through which we can access our models and visualizations. All the aforementioned visualizations and models are presented in user-friendly UI in the app.

In addition to the models and visualizations. The app houses another key component without which any project would be incomplete, that is public participation. Our app has a feature for reporting landslides, where any user may report landslides in their area. This decentralizes the data gathering process, which formerly relied solely on government records, and places it in the hands of local residents. We believe that this approach will lead to more successful data collecting on a broader scale because locals know more information that may be missed when gathering records.

While tackling such a complicated problem as landslides, relying on just a few models might not be enough. The areas which local people believe are at risk can also be reported through the report landslide section. This can help to propagate information about risky areas more quickly to the local government. As you send feedback we get notified with it and will be helpful to provide immediate information related to that location’s landslide.

It is difficult to avert or prevent disasters. However, the loss it causes can be mitigated via the application of technology. That is exactly what our app does. It aids in identifying dangerous regions and implementing safety measures before a landslide occurs. The danger is detected using two ML models: one that we built and is trained on data from Nepal alone, and the other that is trained on worldwide data from NASA. Furthermore, risk identification is done by reports from locals who think their community is at risk.
So, our app includes threefold methods for identifying dangerous locations and providing data to the local government so that safety measures may be taken ahead of time. Highways that run beside rivers, for example, are one of the areas in Nepal where landslides occur often (Mugling-Narayanghat Highway). Our program can anticipate days when there is a high danger of landslides on the roadway, allowing movement to be suspended for the day.
In addition, our app encourages local people to document/report landslides in their areas. So, we will be able to cover a wide range of areas, which would have been difficult for the government to document. This data thus can be used to further polish the model.
Between 1972 and 2016 a total of 5,190 people lost their lives in 3,419 landslide events on record. This data shows how deadly landslides can be. If landslides can be known beforehand, the fatalities and loss can be greatly reduced.
Data shows that landslides cause huge casualties and losses in rural areas where people have a hard time making ends meet. In such a situation, relocating to a less risky area will be almost impossible for them. Our app helps to identify areas at risk and through local demographics, identify such households and help them relocate to safer areas with aid from the local government.
As mentioned above, the app can also be used to reduce landslide-induced road accidents.
Through these steps, we hope to tackle landslides by looking at the risks and solutions from the local level to achieve our goal of catching people before a landslide does.
Languages: Html, js, python, dart
Technologies: Flutter, Flask
APIs: Mapbox GL JS
Machine Learning: Generative Adversarial Networks, XGBoost, Logistic Regression, Random Forest
Data Visualization: Pandas, Matplotlib, Seaborn
We used the data from the Global Landslide catalog to get a list of landslides in Nepal. For the weather conditions, we obtained data from the “District Wise Climate Data for Nepal” dataset by Open Data Nepal which was accumulated from NASA Langley Research Center (LaRC) POWER Project. We merged the two datasets to obtain a dataset with landslide and weather conditions. For the false labels, we sampled random data from the district-wise climate dataset which is not present in the Landslide Catalog. There was not enough data to train the model. So, we used TabGAN to generate more data. Finally, we trained the data on shallow XGBoost, Logistic Regression, and RandomForest and used their ensemble to get the final prediction. We have also used polygons from NASA’s LHASA models to show a visualization of risky areas. Furthermore, we used the Global Landslide Catalog to show visualizations of the past data on a map. In addition, we used the merged data to create charts of landslide size count, district-wise landslide count, landslide count based on a range of weather conditions like precipitation, temperature, humidity, wind speed.
Our team intended to solve problems faced by Nepalese communities. We were looking for a challenge for which we could prepare an app that can be used by all people. Also, we were looking forward to using our knowledge in ML to do some good for our community. This challenge was just the right one to use our skills and meet our goals, so we began to work on it.
The first step was to build the main part of the app, a Landslide prediction model. We had a lot racing through our minds about what to use. CNN on satellite image? Prediction using tabular data? RNN’s? It had to be something we could implement in two days’ time and good enough to predict landslides. Also, something with enough data. So, we began to search for data. Going through the resources, and after enough googling, we decided to use tabular data. NASA’s Global Landslide Catalog was easy to find. However, what was not easy to find in the “needed” amount was the weather data. There were large chunks of hundreds of gigabytes of files on NASA’s site which would take centuries to download on our internet speed. Finally, after exhausting enough search keywords on Google, we came across the OpenNepals site, where they had collected Nepal’s weather data from NASA Langley Research Center (LaRC) POWER project.
After merging the two datasets with thousands of data, we ended up with hundreds of data, which was not really enough to train the model. As a result, we employed data augmentation to expand the amount of data by hallucinating more data with GAN. The new dataset had about enough data to train the model but was still at the risk of overfitting. So, instead of complex models we used 3 shallow models XgBoost, Logistic Regression, and Random Forest with few parameters and regularization, and ensembled them.
After the model was done, we quickly developed a flask API and tested it. Then we worked on visualizations, trying every bit of information out of the data. As a result, we got 10 useful graphs that paint a clear picture of the condition of landslides in Nepal.
Going through the resources, we found out about the LHASA model, which can highlight risky areas all around the globe. A perfect match to go with our model! Our model predicts based on Nepal’s context and LHASA predicts based on global context. So, we decided to implement it in our app. Going through the documentation, we found out that it can be done through ArcGIS. We wrote the code exactly as described in the documentation, but it would not work! We looked at the NASAs implementation using ArcGIS JS in the site (ArcGIS API for JavaScript: NRT/landslide_nowcast (nasa.gov)). It wasn’t working there either! So, we decided to drop the plan of adding the visualizations from the LHASA model. Then, we opened the 2021 space apps challenge website, and behold, our solution was there staring at us from the very beginning. A big world map with “Mapbox” written at the top right. We got the geojson from the gpm site and implemented it on MapBoxGl js. It worked like a charm. Furthermore, we added visualizations from the Global Landslide Catalogue.
The next section of our app “Report a Landslide” was motivated by the challenge description. We would like to thank the challenge creator for it. We realized how important it is to include local people in this project and how impactful it will be. So, we created a form to be used by the local people. And, that was it, the end of our project.
Almost none of what we had planned went smoothly, there was always one thing after another, but in the end, we managed to pull everything together. The key to it was persistence. No matter what happened, we kept on looking for the answers and we found it, and sometimes the answer found us! This challenge taught us about the importance of setbacks. Though intimidating, setbacks compel us to look for different solutions and learn much more. Had the project been completed without any setbacks, we would not have learned anything new. It is because of the setbacks that we learned about TabGAN, Mapboxgl, and many more. Furthermore, this challenge made us realize the importance of data collection and cleaning, which is emphasized so much in the ML community but rarely faced in most competitions where clean data is provided. Overall, this challenge was really really fun to complete.
Data/Resources:
[1] Global Landslide Nowcast, Precipitation & Applications Viewer | NASA Global Precipitation Measurement Mission
[2] Nasa Global Landslide Catalog, NASA Global Landslide Catalog Points (CSV)
[3] NASA Langley Research Center (LaRC) POWER, POWER | Data Access Viewer (nasa.gov)
[4] District Wise Climate Data for Nepal, District Wise Climate Data for Nepal - Datasets - Open Data Nepal
[5] Mapbox GL JS, API Reference | Mapbox GL JS | Mapbox
[6] Google Maps Flutter API, google_maps_flutter | Flutter Package (pub.dev)
#AI #NASA #TeamPKL #PredictingLandslides #SpaceApps
This project has been submitted for consideration during the Judging process.
Landslides often interfere with the economic development of rural communities. Your challenge is to develop a tool that uses data from NASA satellites and ground-based sources to determine the risk of landslides in rural communities and share the results with local communities and governments.
