GithubHelp home page GithubHelp logo

raghuramdr / nyuki Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 00krishna-tools/nyuki

0.0 1.0 0.0 241 KB

Nyuki geospatial toolkit for humans.

Makefile 5.04% Python 93.93% Batchfile 0.53% Shell 0.49%

nyuki's Introduction

docs/assets/animated-bee-illustration-png-clip-art.png

Nyuki: A Geospatial Toolkit for Humans

https://travis-ci.org/00krishna-tools/nyuki.svg?branch=master https://ci.appveyor.com/api/projects/status/akr8yxfous98dlrl?svg=true https://coveralls.io/repos/github/00krishna-tools/nyuki/badge.svg?branch=master Documentation Status

"Nyuki" translates to "bee" in Swahili, but is also the word used to refer to aerial drones. While working on a project using aerial drone imagery for flood damage assessment with DataKind and WeRobotics we found that using many common python geospatial libraries had a steep learning curve and were confusing to use. So we developed some simple command line tools and library functions to simplify common tasks and dramatically accelerate our development.

The other challenge with processing large aerial drone images was that most GIS software such as QGIS or ArcGIS often crashed while processing large images. Aerial drones can easily produce 50,000 x 50,000 pixel images or more. Because processing such large images is memory and processor intensive, some common GIS software can often fail during processing. With nyuki we rely on the command line which has a much lighter memory footprint and is easier to kill if something is taking too long.

Nyuki is developed for python 3.6 or greater and runs on Windows, MacOS, and Linux operating systems.

We also wanted to thank all of the developers who built the libraries that we use in nyuki. Writing geospatial libraries is hard work, and the folks developing these core libraries have done a really outstanding job.

๐Ÿ“ Table of Contents

๐Ÿง About

Nyuki is a command line tool that simplifies common and easy image processing tasks. The tools implemented so far include:

  • Reprojecting geotiff and vector files
  • Resampling geotiff files to higher or lower resolution
  • Compressing geotiff files to save space

๐Ÿ Getting Started

The "Installing" section below gives a brief sketch of how to install the nyuki package. More detailed instructions are included in the "Installation" second of the package documentation.

Learning to use nyuki assumes that the reader has a beginner level of understand of geospatial data including the difference between raster file and vector files, the basics of coordinate reference systems, and some familiarity with common GIS software such as QGIS or ESRI ArcGIS.

Learning nyuki is as simple as following the tutorial.

Installing

Nyuki relies on the open source Anaconda/Miniconda python distribution for scientific computing. Many of the python and C++ libraries that nyuki depends upon are difficult to install due to complicated dependencies between package or the need to compile C++ files. Hence we chose to use a more robust package manager: conda.

Once conda is installed from the following link , the user can create new virtual environments and install packages like nyuki into those environments. Conda packages are stored in different public or private channels, depending on whether the developer intends a package for public use, or for a limited group of users. Nyuki is currently located in krishnab75 Anaconda channel but will soon be added to the widely conda-forge channel.

Assuming that the user has successfully installed the Anaconda/miniconda python distribution on their computer, the user may install nyuki in a stand-alone environment using

conda create -n nyuki-env -c krishnab75 nyuki

This will create a new environment named nyuki-env into which the nyuki application will be installed. Follow the prompts for the install and answer "yes" at the install prompt. Nyuki will install a number of dependencies, so it may take a few minutes to complete the installation.

Once installation is complete, you can activate the environment and begin to use nyuki

conda activate nyuki-env

The user should now be in the nyuki-env python environment. To access nyuki's commands and tools, type

nyuki --help

๐Ÿ”ง Running the tests

Explain how to run the automated tests for this system.

Break down into end to end tests

Explain what these tests test and why

Give an example

And coding style tests

Explain what these tests test and why

Give an example

๐ŸŽˆ Usage

Add notes about how to use the system.

โ›๏ธ Built Using

  • Click - Command Line Interface
  • Rasterio - Geospatial Library for Rasters
  • Geopandas Geospatial Library for Vector data

โœ๏ธ Authors

See also the list of

nyuki's People

Contributors

00krishna avatar raghuramdr avatar

Watchers

 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.