Skip to content

WikiWatershed/rapid-watershed-delineation

 
 

Repository files navigation

rapid-watershed-delineation

A docker image and fork of @nazmussazib's Rapid Watershed Delineation project, for use in Model My Watershed.

Docker Repository on GitHub Container Registry Apache V2 License

Quick Start

docker run --rm -ti ghcr.io/wikiwatershed/rwd

Getting started

  • Define environment variables (see below)
  • Run ./scripts/update.sh
  • Run ./scripts/server.sh

Linux & Docker for Mac on macOS

  • Run curl http://localhost:5000/rwd/39.892986/-75.276639

Docker Machine on macOS

  • Find the IP of the default VM using docker-machine ip default
  • Run curl http://<default_vm_ip>:5000/rwd/39.892986/-75.276639

Environment Variables

Name Description Example
RWD_DATA Path to RWD data /media/passport/rwd-nhd

RWD Data

Folder structure:

> tree -L 2 /media/passport/rwd-nhd/
|-- drb
|   |-- Main_Watershed
|   `-- Subwatershed_ALL
`-- nhd
    |-- Main_Watershed
    |-- Subwatershed_ALL

Running inside Model My Watershed

To run RWD inside the MMW application during development, follow these instructions.

In the MMW project:

# Change the rwd_host setting to 10.0.2.2
vim deployment/ansible/roles/model-my-watershed.rwd/defaults/main.yml
vagrant reload worker --provision

Note that 10.0.2.2 should point to your host. Verify this by running route -n inside the worker VM. It should be the default gateway. For Mac OS X, this IP should be the result of docker-machine ip.

Then in this project, run:

./scripts/server.sh

Deployments

To create a new release, use the following git commands:

$ git flow release start 0.1.0
$ vim CHANGELOG.md
$ vim setup.py
$ git commit -m "0.1.0"
$ git flow release finish -p 0.1.0

Afterward, push your develop and master branches to remote using:

$ git push origin develop:develop
$ git push origin master:master

RWD API

Request

Name Method Description
/rwd/lat/lng GET Run RWD for DRB for client-supplied <lat> & <lng> coordinates.
/rwd-nhd/lat/lng GET Run RWD for NHD for client-supplied <lat> & <lng> coordinates.

Parameters

Name Type Required/Optional Description
simplify number optional Simplify tolerance for response GeoJSON. Request unsimplified shape with simplify=0. Defaults to 0.0001 for DRB and is derived from the shape's area for NHD when not supplied.
maximum_snap_distance number optional Maximum distance to snap input point. Defaults to 10000 when not supplied.

About

Rapid Watershed Delineation Code for MMW2

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 91.5%
  • R 3.6%
  • Shell 2.1%
  • Batchfile 1.6%
  • Other 1.2%