Skip to content

Commit

Permalink
add GetSDLValue function
Browse files Browse the repository at this point in the history
  • Loading branch information
XiaodanLyu committed Feb 5, 2019
1 parent 39e2e1e commit 94f280f
Show file tree
Hide file tree
Showing 7 changed files with 131 additions and 2 deletions.
1 change: 1 addition & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
^LICENSE\.md$
^.*\.Rproj$
^\.Rproj\.user$
4 changes: 2 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ Version: 0.1.0
Authors@R: person("Xiaodan", "Lyu", email = "[email protected]", role = c("aut", "cre"))
Description: This package embed a shiny app to visualize soil survey data and cropland data layer. Some functions to fetch CDL file and values are also provided.
Depends: R (>= 3.1.0)
License: GPL-3
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Imports: raster, sp, XML, glue, dplyr, utils, methods, dismo, RCurl, magrittr, rgeos, soilDB (>= 2.0-1), leaflet (>= 2.0.0), leaflet.extras (>= 1.0.0), plotly (>= 4.8.0), DT, shiny (>= 1.1.0), shinycssloaders, shinydashboard, shinyWidgets
RoxygenNote: 6.1.0
RoxygenNote: 6.1.1
Suggests: knitr,
rmarkdown
VignetteBuilder: knitr
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

export(GetCDLFile)
export(GetCDLValue)
export(GetSDLValue)
export(TileinPoly)
export(cdlpal)
export(runTool)
Expand Down
30 changes: 30 additions & 0 deletions R/GetCDL.r
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,33 @@ GetCDLValue <- function(year, lon, lat){

return(list(value = value, category = category, color = color))
}

#' Get SDL point
#'
#' Get soil point information by longitude and latitude in WGS84.
#'
#' @param lon longitude in WGS84
#' @param lat latitude in WGS84
#' @return A list with the soil musym, mukey, muname, muacres
#' @examples
#' ## not run
#' # GetSDLValue(-93.65, 42.03)
#' @export
#' @seealso \code\link{GetCDLValue}
GetSDLValue <- function(lon, lat){
## lon, lat: longitude and latitude in WGS84
pt <- matrix(c(lon, lat), nc = 2, byrow = T)
circ <- dismo::circles(pt, d = .1, lonlat = TRUE)
p <- rgeos::writeWKT(circ@polygons)
q <- paste0("SELECT musym, mukey, muname, muacres
FROM mapunit
WHERE mukey IN (
SELECT * from SDA_Get_Mukey_from_intersection_with_WktWgs84('", p, "')
)")
qres <- soilDB::SDA_query(q)
if(nrow(qres)>1) {
warning(sprintf("%.0f soil mapunits are found, choose the first one", nrow(qres)))
qres <- qres[1,]
}
qres
}
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@ help(GetCDLFile)
help(GetCDLValue)
```

- To fetch SDL data by pointwise coordinate

```r
help(GetSDLValue)
```

- CDL color scheme and palette:

```r
Expand Down
26 changes: 26 additions & 0 deletions man/GetSDLValue.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

65 changes: 65 additions & 0 deletions vignettes/introduction.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: "Visualize soil and crop data and their overlay"
author: "Xiaodan Lyu"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Vignette Title}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```

Vignettes are long form documentation commonly included in packages. Because they are part of the distribution of the package, they need to be as compact as possible. The `html_vignette` output type provides a custom style sheet (and tweaks some options) to ensure that the resulting html is as small as possible. The `html_vignette` format:

- Never uses retina figures
- Has a smaller default figure size
- Uses a custom CSS stylesheet instead of the default Twitter Bootstrap style

## Vignette Info

Note the various macros within the `vignette` section of the metadata block above. These are required in order to instruct R how to build the vignette. Note that you should change the `title` field and the `\VignetteIndexEntry` to match the title of your vignette.

## Styles

The `html_vignette` template includes a basic CSS theme. To override this theme you can specify your own CSS in the document metadata as follows:

output:
rmarkdown::html_vignette:
css: mystyles.css

## Figures

The figure sizes have been customised so that you can easily put two images side-by-side.

```{r, fig.show='hold'}
plot(1:10)
plot(10:1)
```

You can enable figure captions by `fig_caption: yes` in YAML:

output:
rmarkdown::html_vignette:
fig_caption: yes

Then you can use the chunk option `fig.cap = "Your figure caption."` in **knitr**.

## More Examples

You can write math expressions, e.g. $Y = X\beta + \epsilon$, footnotes^[A footnote here.], and tables, e.g. using `knitr::kable()`.

```{r, echo=FALSE, results='asis'}
knitr::kable(head(mtcars, 10))
```

Also a quote using `>`:

> "He who gives up [code] safety for [code] speed deserves neither."
([via](https://twitter.com/hadleywickham/status/504368538874703872))

0 comments on commit 94f280f

Please sign in to comment.