Git Product home page Git Product logo

sdb_gui's Introduction

Satellite Derived Bathymetry (SDB) GUI

Mainly, there are two methods to create a bathymetric prediction using satellite imagery. Two of which are analytical method and empirical method. The former predict depth using water body properties and calculate depth using some formula and those properties as variable input. The latter predict depth using depth training samples and fit the sample into some model and predict the depth using the model based on the depth sample training.

This is a GUI to make a bathimetric prediction using satellite imagery and some depth samples corresponding to the imagery. If you wish to use the GUI, please download the latest release. Or if you want to run the source code (sdb_gui.py) instead, please install python 3.6.x and the following libraries first:

  1. Numpy
  2. Pandas
  3. Rasterio
  4. Scikit Learn
  5. PyQt5

Prepare your own data before using this SDB GUI. The required data are georeferenced and corrected imagery and tabular data consisting depth samples and corresponding raster values in the form of text file (e.g. CSV, TXT, or DAT file). If you don't have the second data, you could extract it from your depth sample and the first data using QGIS Plugin "Point Sampling Tool".

Open SDB GUI and load both data. Choose one of the methods and decide how much of the sample you're going to use as training data. If you push Make Prediction button right away, the software will use default hyperparameters. If you want to tweak the hyperparameters, push Options button and it will show you some changeable hyperparameters depends on which method is selected.

After the prediction complete, you can save it into georeferenced raster file or XYZ ASCII file containing coordinates of each center of pixel. The prediction will show you depth values even on land. So, you have to mask the prediction result in the end and extracting prediction result of only water body.

Workflow

Image below is the workflow of predicting bathymetric depth using SDB GUI.

workflow

Methods

I am using three methods to make the depth prediction at the time (this might be updated in the future), Multiple Linear Regression, Random Forest and Support Vector Machines.

Multiple Linear Regression

In Scikit Learn modules, this method called only with the name Linear Regression. The 'Multiple' implies that the Linear Regression is used on multiple features as input.

Random Forest

The adjustable hyperparameters for Random Forest method are the number of trees and the function to measure the quality of a split (criterion). The default values respectively are 300 and mse (Mean Square Error). The other value for the criterion is mae (Mean Absolute Error).

Support Vector Machines

The adjustable hyperparameters for SVM method are kernel type, kernel coefficient (gamma), and regularization parameter (C). The default hyperparameter values are rbf for kernel type, 0.1 for gamma, and 1.0 for C.

License

See LICENSE

sdb_gui's People

Contributors

rifqiharrys avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.