Tutorial 2: Simple Mineral Prospectivity Maps with Kalpa#

In this tutorial, we will use Kalpa to build a mineral prospectivity map. The process utilizes three types of datasets:

  • Geophysical data (e.g., Bouguer Gravity Anomaly, Magnetic Anomaly)

  • Geological data (e.g., geological age, folds, faults, lineaments)

  • Satellite data (e.g., ASTER, SRTM, and LANDSAT)

The goal is to create prospectivity maps for copper deposits based on the known occurrences of 96 mineral deposits in the study region.

We will sample various datasets at the locations of known copper occurrences, create an unlabeled dataset for contrast, and use Random Forest (RF) classifier and regressor to label and map prospectivity.

Dataset Overview#

The dataset can be downloaded here.

Geophysical Data#

Gravity Data:

  • Observed Gravity

  • Theoretical Gravity

  • Bouguer Anomaly

  • Upward Continued Bouguer Anomaly

  • Directional Derivatives of Bouguer Anomaly

Magnetic Data:

  • Observed Magnetism

  • IGRF

  • Magnetic Anomaly

  • Upward Continued Magnetic Anomaly

  • Directional Derivatives of Magnetic Anomaly

Geological Data#

  • Tectonic Age

  • Folds

  • Faults

  • Lineaments

Satellite Data#

LANDSAT8 Bands:

  • Multispectral bands (3 to 8) as NetCDF files

SRTM Elevation Data:

  • Elevation values from the Shuttle Radar Topography Mission (SRTM)

ASTER Data:

  • Multispectral bands (1 to 14) as NetCDF files

Mineral Occurrences:

  • The dataset includes 96 known occurrences of mineral deposits. For this tutorial, we focus on copper deposits.

Workflow#

Step 1: Loading Data and Visualization#

  1. Start Kalpa and choose Cartesian coordinates as the working coordinate system.

  2. Create a new folder named MineralProspectivity to save the dataset, figures, etc.

Import Vector Data:

  • Navigate to: File -> Import -> Vector

  • Load the following files:

    • ShapeFiles/Fault_Tectonic.shp

    • ShapeFiles/Fold_Tectonic.shp

    • ShapeFiles/Lineament_Tectonic.shp

    • ShapeFiles/Tectonic_Framework.shp

    • Deposits/Deposits.shp

  • Adjust colormap, feature width, and range as needed.

    Welcome Window

Import Raster Data:

  • Navigate to: File -> Import -> Raster

  • Load the following files:

    • GeophysicalProcessed/Raster/BOUGUER_AN_Kriging.nc

    • GeophysicalProcessed/Raster/MAGNETIC_A_Kriging.nc

    • GeophysicalProcessed/Raster/Grad_Gravity/*

    • GeophysicalProcessed/Raster/Grad_Magnetic/*

    • GeophysicalProcessed/Raster/UC_Gravity/*

    • GeophysicalProcessed/Raster/UC_Magnetic/*

    • SatelliteData/SRTM/SRTM_Raj_India.nc

    • SatelliteData/LANDSAT/Band_3_LANDSAT.nc to Band_8_LANDSAT.nc

      Welcome Window

Step 2: Feature Generation#

  1. Generate Positive Labels from Known Deposits:

    • Go to: Plugins -> MPM -> Feature Generation

    • AOI/ROI: Deposits

    • Select all layers except Tectonic Framework and Deposits

    Layer Config:

    • Euclidean Distance for vectors: - Fault_Tectonic - Fold_Tectonic - Lineament_Tectonic

    • Band Value for rasters: - BOUGUER_AN_Kriging.nc - MAGNETIC_A_Kriging.nc - Grad_Gravity/* - Grad_Magnetic/* - UC_Gravity/* - UC_Magnetic/*

    • Sampling method: regular with 100 seed points

    Welcome Window Welcome Window
    • Click Generate → Save as: deposit_sampled.gpkg

    Welcome Window
  2. Generate Label Column:

    • Go to: Tools -> Vector Calculator

    • Layer: deposit_sampled

    • Condition: == 1

    • New column: Label
      Welcome Window
    • Click Apply → Save as: deposit_positive_label.gpkg

    Welcome Window
  3. Create Bounding Box:

    • From Create Bounding Box, choose layer: BOUGUER_AN_Kriging

    Welcome Window
    • Click Create → Save as: bounding_box.gpkg

    Welcome Window
  4. Generate Unlabelled (Random) Features:

    • AOI: bounding_box

    • Method: Random, 1000 seed points

    Layer Config:

    • Euclidean Distance for: - Fault_Tectonic - Fold_Tectonic - Lineament_Tectonic

    • Band Value for: - BOUGUER_AN_Kriging.nc - MAGNETIC_A_Kriging.nc - Grad_Gravity/* - Grad_Magnetic/* - UC_Gravity/* - UC_Magnetic/*

    Welcome Window Welcome Window Welcome Window
    • Click Generate → Save as: randomly_sampled.gpkg

    Welcome Window

This workflow now generates randomly sampled data which in this workflow, the width is set to 1 for visualisation and positive samples as thicker dots with width 3

Welcome Window
  1. Label Random Features as 0:

    • Go to: Vector Calculator

    • Layer: randomly_sampled

    • Condition: == 0

    • Column name: Label

    • Save as: deposits_unlabelled.gpkg

    Welcome Window
  2. Merge Positive and Unlabelled Datasets:

    • Remove deposit_sampled and randomly_sampled layers (optional)

    • Go to: Merge Layers
      Welcome Window
    • Merge: deposits_positive_label + deposits_unlabelled

    • Save as: training_data.gpkg

    • Visualization tip: Set positive samples (label = 1) with width 3, others with width 1

Now you can see that the positive (1) are in green color and unlabelled in brown. You may edit this in cmap

Welcome Window

Step 3: Create PU Bagging Model#

  1. Go to: Plugins -> MPM -> Models -> PU Bagging -> Create New Model

    Welcome Window
  2. Training data: training_data.gpkg
    Welcome Window
  3. (Optional) Generate correlation report to examine feature correlation
    Welcome Window

    Click close

  4. Target feature: Label

  5. Select all other features as training features (except Label)
    Welcome Window Welcome Window
  6. Enable: scaled probabilities

  7. Click Start Training

  8. Save model as: PU Model
    Welcome Window
  9. Go to: Plugins -> MPM -> Feature Generation -> Bounding Box
    Welcome Window Welcome Window
  10. Select all layers except:

    • Tectonic Framework

    • Deposit

    • deposits_positive_label

    • bounding_box

    • deposits_unlabelled

    • training_data

      Welcome Window
  11. Repeat selection of Band Value for rasters and Euclidean Distance for vectors

  12. Set resolution to: 0.005 degrees. This may be of your choice

  13. Click Generate → Save as: predicted_dataset.gpkg. This may take a while depending on resolution and hardware specs.
    Welcome Window Welcome Window
  14. Go to: Plugins -> MPM -> Models -> PU Bagging -> Existing Model

  15. Choose: predicted_dataset.gpkg as prediction input
    Welcome Window
  16. Click Predict

Voila! You now have your PU Bagging prediction.
Welcome Window

Final Step: Select a colormap of your choice for visualizing predictions.

Welcome Window Welcome Window Welcome Window