Geometric Feature-Based Method Example

This method is based on using 2D landslide polygon shape properties for classification. This method calculates various geometric properties of landslide polygon and based on these geometric properties it classify triggers of landslide.

Import geometric features based module functions from Landsifier library

import geom_based_model
from geom_based_model import read_shapefiles
from geom_based_model import latlon_to_eastnorth
from geom_based_model import get_geometric_properties_landslide
from geom_based_model import classify_inventory_rf
from geom_based_model import plot_geometric_results
import numpy as np

In this example, we are using six landslide inventories spread over Japan archipaelogo. Out of six-inventories, three inventories are earthquake-triggered and rest three inventories are rainfall-induced inventories.

  • Earthquake-triggered inventories (Hokkaido, Iwata and Niigata region)

  • Rainfall-induced inventories (Kumamoto, Fukuoka and Saka region)

Import Shapefiles of Earthquake and Rainfall triggered landslide Inventories

  • Earthquake triggered inventories

earth_hokkaido_shapefile = read_shapefiles("E:/Germany Visit/Landslide Datasets/Japan Inventory/Earthquake_hokkaido_polygons.shp")
earth_iwata_shapefile = read_shapefiles("E:/Germany Visit/Landslide Datasets/Japan Inventory/Earthquake_iwata_polygons.shp")
earth_niigata_shapefile =read_shapefiles("E:/Germany Visit/Landslide Datasets/Japan Inventory/Earthquake_niigata_polygons.shp")
  • Rainfall triggered inventories

rain_kumamoto_shapefile = read_shapefiles("E:/Germany Visit/Landslide Datasets/Japan Inventory/Rainfall_kumamoto_polygons.shp")
rain_fukuoka_shapefile = read_shapefiles("E:/Germany Visit/Landslide Datasets/Japan Inventory/Rainfall_fukuoka_polygons.shp")
rain_saka_shapefile = read_shapefiles("E:/Germany Visit/Landslide Datasets/Japan Inventory/Rainfall_saka_polygons.shp")

Calculate Geometric Propeties of Earthqake and Rainfall induced inventories

  • Earthquake triggered inventories

features_earth_hokkaido=get_geometric_properties_landslide(earth_hokkaido_shapefile)
features_earth_iwata=get_geometric_properties_landslide(earth_iwata_shapefile)
features_earth_niigata = get_geometric_properties_landslide(earth_niigata_shapefile)
  • Rainfall triggered inventories

features_rain_kumamoto = get_geometric_properties_landslide(rain_kumamoto_shapefile)
features_rain_fukuoka = get_geometric_properties_landslide(rain_fukuoka_shapefile)
features_rain_saka = get_geometric_properties_landslide(rain_saka_shapefile)

Taking one of the landslide inventory as the Testing inventory

  • Case 1: Hokkaido (Earthquake -triggerd) is a testing inventory

Training the algorithm on rest five inventories and test it on Hokkaido inventory.

earthquake_inventory_features=np.vstack((features_earth_iwata,features_earth_niigata))
rainfall_inventory_features=np.vstack((features_rain_kumamoto,features_rain_fukuoka,features_rain_saka))
test_inventory_features=  features_earth_hokkaido
predict_probability_hokkaido=classify_inventory_rf(earthquake_inventory_features,rainfall_inventory_features,test_inventory_features)

Visualization of the classification results

plot_geometric_results(predict_probability_hokkaido)
_images/hokkaido_geom.png
  • Case 2: Iwata (Earthquake -triggerd) is a testing inventory

Training the algorithm on rest five inventories and test it on Iwata inventory.

earthquake_inventory_features=np.vstack((features_earth_hokkaido,features_earth_niigata))
rainfall_inventory_features=np.vstack((features_rain_kumamoto,features_rain_fukuoka,features_rain_saka))
test_inventory_features=  features_earth_iwata
predict_probability_iwata=classify_inventory_rf(earthquake_inventory_features,rainfall_inventory_features,test_inventory_features)

Visualization of the classification results

plot_geometric_results(predict_probability_iwata)
_images/iwata_geom.png
  • Case 3: Niigata (Earthquake -triggerd) is a testing inventory

Training the algorithm on rest five inventories and test it on Iwata inventory.

earthquake_inventory_features=np.vstack((features_earth_hokkaido,features_earth_iwata))
rainfall_inventory_features=np.vstack((features_rain_kumamoto,features_rain_fukuoka,features_rain_saka))
test_inventory_features=features_earth_niigata
predict_probability_niigata=classify_inventory_rf(earthquake_inventory_features,rainfall_inventory_features,test_inventory_features)
plot_geometric_results(predict_probability_niigata)

Visualization of the classification results

plot_geometric_results(predict_probability_niigata)
_images/niigata_geom.png
  • Case 4: Kumamoto (Rainfall -triggerd) is a testing inventory

Training the algorithm on rest five inventories and test it on Kumamoto inventory.

earthquake_inventory_features=np.vstack((features_earth_hokkaido,features_earth_iwata,features_earth_niigata))
rainfall_inventory_features=np.vstack((features_rain_fukuoka,features_rain_saka))
test_inventory_features=features_rain_kumamoto
predict_probability_kumamoto=classify_inventory_rf(earthquake_inventory_features,rainfall_inventory_features,test_inventory_features)

Visualization of the classification results

plot_geometric_results(predict_probability_kumamoto)
_images/kumamoto_geom.png
  • Case 5: Fukuoka (Rainfall -triggerd) is a testing inventory

Training the algorithm on rest five inventories and test it on Kumamoto inventory.

earthquake_inventory_features=np.vstack((features_earth_hokkaido,features_earth_iwata,features_earth_niigata))
rainfall_inventory_features=np.vstack((features_rain_kumamoto,features_rain_saka))
test_inventory_features=features_rain_fukuoka
predict_probability_fukuoka=classify_inventory_rf(earthquake_inventory_features,rainfall_inventory_features,test_inventory_features)

Visualization of the classification results

plot_geometric_results(predict_probability_fukuoka)
_images/fukuoka_geom.png
  • Case 6: Saka (Rainfall -triggerd) is a testing inventory

Training the algorithm on rest five inventories and test it on Saka inventory.

earthquake_inventory_features=np.vstack((features_earth_hokkaido,features_earth_iwata,features_earth_niigata))
rainfall_inventory_features=np.vstack((features_rain_kumamoto,features_rain_fukuoka))
test_inventory_features=features_rain_saka
predict_probability_saka=classify_inventory_rf(earthquake_inventory_features,rainfall_inventory_features,test_inventory_features)

Visualization of the classification results

plot_geometric_results(predict_probability_saka)
_images/saka_geom.png