Giter Site home page Giter Site logo

lakemorpho's Introduction

R build status

F1000Research

DOI

RStudio_CRAN_Downloads

lakemorpho

The purpose of lakemorpho is to provide a suite of tools that can be used to calculate basic lake morphometry metrics from an input SpatialPolygonsDataframe of a lake and a digital elevation model, as a RasterLayer, for the terrain surrounding that lake. These tools are being used to calculate lake morphometry metrics for all "lakepond" waterbodies in the NHDPlus V2.

For a detailed description of the package and its use, see:

Hollister J and Stachelek J. lakemorpho: Calculating lake morphometry metrics in R [version 1; referees: 2 approved]. F1000Research 2017, 6:1718 (doi: 10.12688/f1000research.12512.1)

Metrics Included

lakemorpho calculates the following metrics

  • Surface Area
  • Shoreline Length
  • Shoreline Development
  • Maximum Depth
  • Mean Depth
  • Lake Volume
  • Maximum Lake Length
  • Mean Lake Width
  • Maximum Lake Width
  • Major and Minor Axis
  • Fetch from a specified bearing

To install

Install version 1.1.0 of lakemorpho from CRAN:

install.packages("lakemorpho")
require(lakemorpho)

Install development version of lakemorpho from GitHub:

install.packages("devtools")
require(devtools)
install_github("USEPA/lakemorpho")
require(lakemorpho)

EPA Disclaimer

The United States Environmental Protection Agency (EPA) GitHub project code is provided on an "as is" basis and the user assumes responsibility for its use. EPA has relinquished control of the information and no longer has responsibility to protect the integrity, confidentiality, or availability of the information. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by EPA. The EPA seal and logo shall not be used in any manner to imply endorsement of any commercial product or activity by EPA or the United States Government.

lakemorpho's People

Contributors

jbousquin avatar jhollist avatar jsta avatar katrinleinweber 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lakemorpho's Issues

Out of memory with large rasters/lakes

Reports of out of error memories on larger lakes and larger rasters.

Need to figure out why this is happening and see if I can hack a solution that allows larger datasets with out issue.

Sample data coming from rich

calc metrics without a raster

I think it would be useful to be able to calcLakeMetrics without supplying a raster. I was only interested in width and length in a recent analysis so I used the following non-ideal solution:

lake_outline_sp <- as(spark_outline, "Spatial")
r <- rasterize(lake_outline_sp, raster(lake_outline_sp))

lake_outline_sp <- spTransform(lake_outline_sp, CRS("+proj=utm +zone=10 +datum=WGS84"))
r <- projectRaster(r, crs = "+proj=utm +zone=10 +datum=WGS84")

lake_lm <- lakeSurroundTopo(lake_outline_sp, r)

calcLakeMetrics(lake_lm, bearing = 45, pointDens = 250)

lakeFetch

update lakeFetch so that it can take any numeric bearing.

Return value

Need more detail on the return values in the documentation. Need to indicate type, units, etc.

plot.lakeMorpho

Need to add examples and make sure default is working (right parameters and ...)

revist poitndens - use all points in poly as starting point

pointdens is currently required and samples along the polygon boundary. This is nice because it allows you to control the time it takes to calc the lines. Also a problem becuase it impacts the accuracy of the resultant line if an insufficeint number of points are used. A default value of all points that make up the polygon would be acceptable.

Might be better to switch this to a percentage sample of the polygon points instead of using spsample along the boundary.

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.