Coder Social home page Coder Social logo

ciaran1981 / geospatial-learn Goto Github PK

View Code? Open in Web Editor NEW
25.0 7.0 5.0 22.27 MB

A python library for geo-spatial processing and machine learning

Home Page: https://ciaran1981.github.io/geospatial-learn/docs/html/index.html

License: GNU General Public License v3.0

Python 91.47% TeX 0.09% Jupyter Notebook 8.45%
remote-sensing geospatial-analysis geospatial-data geospatial-processing machine-learning

geospatial-learn's Introduction

image

geospatial-learn ============

Geospatial-learn is a Python lib for using scikit-learn, xgb and keras models with geo-spatial data. Some raster and vector manipulation is also included. The aim is to produce convenient, relatively minimal commands for putting together geo-spatial processing chains and using machine learning (ML) libs. The name is a play-on of scikit-learn, though I really ought to think of something better. The functions are mainly a collection resulting from my own research area of remote sensing and image processing; hence some of it may be esoteric but there are some fairly typical processing tasks too. Thought it better to have these up here in case they are of use.

  • There is a 'raster' module for (you guessed it) raster/image processing. This is not exaustive set of functions of course, just things that have been convenient and repeated such as I/O, masking, some filtering.
  • There is a 'shape' module for vector processing which is mainly based around extracting image properties and writing them to a vector format. Functions include zonal stats, glcm-based texture etc as well as further manipulation of lines and polygons using things like active contours.
  • The 'learning' module is for applying creating ML models and applying them to raster, vector and point cloud data. This is all based around sklearn, xgboost, keras and t-pot.
  • The 'handyplots' module contains a few simple functions that may be useful e.g. plot a classifcation report, confusion matrix etc.
  • The 'utils' module is full of stuff which is yet to be given a home that makes sense and may not all be doc'd - take a look...

Dependencies

geospatial-learn requires:

  • Python 3
  • Anaconda

User installation

  1. Installation uses the anaconda/miniconda system - please install this first if you don't have it already
  2. Clone the repository or download and unzip the tar
  3. cd into the folder and type the following

conda env create -f geolearn_env.yml

Alternatively, for a shorter wait (conda is quite slow these days), the mamba system is recommended, install this in your base conda then:

mamba env create -f geolearn_env.yml

  1. To activate - type

conda activate geospatial_learn

Docs

Documentation can be found here:

https://ciaran1981.github.io/geospatial-learn/docs/html/index.html

Citation

If you use geospatial-learn in a scientific publication, citations would be appreciated - click on the blue zenodo link at the top.

Robb, C. (2017). Ciaran1981/geospatial-learn: Geospatial-learn 0.3 release. Zenodo. https://doi.org/10.5281/ZENODO.3968431

A .bib file is available in the repo (geolearn.bib)

geospatial-learn's People

Contributors

ciaran1981 avatar jfr10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  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.