Giter Site home page Giter Site logo

dpird-fsi / extractoz Goto Github PK

View Code? Open in Web Editor NEW
5.0 4.0 2.0 39.85 MB

{extractOz}: Get local attribute information from GPS points for Australian agricultural research

Home Page: https://dpird-fsi.github.io/extractOz/

License: GNU General Public License v3.0

R 100.00%
agriculture r-package agriculture-research agriculture-data australia soils-data weather-data agroecology weather soils

extractoz's Introduction

{extractOz}: A Unified Approach to Extracting Data About Australian Locations Using GPS Points

tic codecov Project Status: Active – The project has reached a stable, usable state and is being actively developed.

Extract the GRDC agroecological zone, major soil order and weather data from your GPS sampling points. Datasets for the GRDC agroecological zones and functions that automatically download modified data from the Digital Atlas of Australian Soils are included in this package for ease of use. You may also use your own geospatial vector format file to extract similar information using the generic function, extract_area().

Quick Start

You can install {extractOz} like so.

if (!require("remotes")) {
  install.packages("remotes")
}

remotes::install_github("DPIRD-FSI/extractOz", build_vignettes = TRUE)

Load the packages necessary to execute the examples that follow.

library(extractOz)
library(dplyr)
## 
## Attaching package: 'dplyr'

## The following objects are masked from 'package:stats':
## 
##     filter, lag

## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Create Locations in WA and NSW

locs <- list(
  "Merredin" = c(x = 118.28, y = -31.48),
  "Corrigin" = c(x = 117.87, y = -32.33),
  "Tamworth" = c(x = 150.84, y = -31.07)
)

Extract the GRDC AgroEcological Zones

See ?extract_ae_zone() for more help on how to use this function.

z <- extract_ae_zone(x = locs)

Extract the Soil Order

See ?extract_soil_order() for more help on how to use this function.

s <- extract_daas_soil_order(x = locs)
## Reading layer `soilAtlas2M_ASC_Conversion' from data source 
##   `/private/var/folders/gn/jsls6gwj7yj5svyykn8vvsfw0000gp/T/RtmpzHWczY/SoilAtlas2M_ASC_Conversion_v01' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 22584 features and 7 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 112.8959 ymin: -43.63287 xmax: 153.6362 ymax: -10.49096
## Geodetic CRS:  GDA94

Get Weather Data for These Locations in 2020

Using the previously used list of GPS points, fetch weather data from SILO for 2020. This is just a non-working example, replace your_api_key with your email address below. See ?extract_patched_point() for more help on how to use this function.

A Note on API Keys

The examples in this README assume that you have stored your API key in your .Renviron file. See Chapter 8 in “What They Forgot to Teach You About R” by Bryan et al. for more on storing details in your .Renviron if you are unfamiliar.

three_sites <-
  extract_patched_point(
    x = locs,
    start_date = "20200101",
    end_date = "20201231",
    api_key = Sys.getenv("SILO_API_KEY")
  )
## You have requested station observation data but some rows in this
## dataset have data codes for interpolated data.
## Check the 'data_source' columns and `get_patched_point()` or
## `get_data_drill()` documentation for further details on codes and
## references.
## 
## You have requested station observation data but some rows in this
## dataset have data codes for interpolated data.
## Check the 'data_source' columns and `get_patched_point()` or
## `get_data_drill()` documentation for further details on codes and
## references.

Join the Weather Data with AE Zone, Soil Order and Site Information

Now using dplyr::left_join(), create a single data.frame() of the location, GPS coordinates, agroecological zone and weather data.

left_join(z, three_sites, by = c(
  "location" = "location",
  "x" = "x",
  "y" = "y"
)) %>%
  left_join(s)
## Joining with `by = join_by(location, x, y)`

##       location      x      y       ae_zone station_code         station_name
##    1: Corrigin 117.87 -32.33    WA Central       010536             Corrigin
##    2: Corrigin 117.87 -32.33    WA Central       010536             Corrigin
##    3: Corrigin 117.87 -32.33    WA Central       010536             Corrigin
##    4: Corrigin 117.87 -32.33    WA Central       010536             Corrigin
##    5: Corrigin 117.87 -32.33    WA Central       010536             Corrigin
##   ---                                                                       
## 1094: Tamworth 150.84 -31.07 NSW NE/Qld SE       055325 Tamworth Airport AWS
## 1095: Tamworth 150.84 -31.07 NSW NE/Qld SE       055325 Tamworth Airport AWS
## 1096: Tamworth 150.84 -31.07 NSW NE/Qld SE       055325 Tamworth Airport AWS
## 1097: Tamworth 150.84 -31.07 NSW NE/Qld SE       055325 Tamworth Airport AWS
## 1098: Tamworth 150.84 -31.07 NSW NE/Qld SE       055325 Tamworth Airport AWS
##       year day       date air_tmax air_tmax_source air_tmin air_tmin_source
##    1: 2020   1 2020-01-01     37.4              25     15.3              25
##    2: 2020   2 2020-01-02     23.0               0     16.0              25
##    3: 2020   3 2020-01-03     26.0               0     12.5               0
##    4: 2020   4 2020-01-04     34.0               0      8.0               0
##    5: 2020   5 2020-01-05     38.0               0     12.0               0
##   ---                                                                      
## 1094: 2020  27 2020-12-27     29.8               0     15.0               0
## 1095: 2020  28 2020-12-28     26.8               0     18.3               0
## 1096: 2020  29 2020-12-29     28.9               0     17.5               0
## 1097: 2020  30 2020-12-30     29.4               0     14.9               0
## 1098: 2020  31 2020-12-31     30.0               0     16.1               0
##        elev_m et_morton_actual et_morton_actual_source et_morton_potential
##    1: 295.0 m              3.3                      26                11.0
##    2: 295.0 m              6.4                      26                 6.4
##    3: 295.0 m              3.4                      26                 7.3
##    4: 295.0 m              4.6                      26                 8.4
##    5: 295.0 m              7.4                      26                 8.8
##   ---                                                                     
## 1094: 394.9 m              5.5                      26                 6.9
## 1095: 394.9 m              4.1                      26                 4.9
## 1096: 394.9 m              2.6                      26                 5.3
## 1097: 394.9 m              6.6                      26                 6.6
## 1098: 394.9 m              6.2                      26                 8.1
##       et_morton_potential_source et_morton_wet et_morton_wet_source
##    1:                         26           7.2                   26
##    2:                         26           6.4                   26
##    3:                         26           5.4                   26
##    4:                         26           6.5                   26
##    5:                         26           8.1                   26
##   ---                                                              
## 1094:                         26           6.2                   26
## 1095:                         26           4.5                   26
## 1096:                         26           3.9                   26
## 1097:                         26           6.6                   26
## 1098:                         26           7.1                   26
##       et_short_crop et_short_crop_source et_tall_crop et_tall_crop_source
##    1:           8.0                   26         10.4                  26
##    2:           4.4                   26          4.7                  26
##    3:           5.4                   26          6.7                  26
##    4:           7.0                   26          8.9                  26
##    5:           7.3                   26          9.0                  26
##   ---                                                                    
## 1094:           5.3                   26          6.3                  26
## 1095:           3.5                   26          4.2                  26
## 1096:           3.8                   26          4.8                  26
## 1097:           5.2                   26          5.9                  26
## 1098:           6.0                   26          7.1                  26
##       evap_comb evap_comb_source evap_morton_lake evap_morton_lake_source
##    1:       9.5               25              8.1                      26
##    2:      10.4                0              6.6                      26
##    3:       8.0                0              6.2                      26
##    4:       8.0                0              7.5                      26
##    5:      10.6                0              8.4                      26
##   ---                                                                    
## 1094:       5.5               25              6.3                      26
## 1095:       3.6               25              4.5                      26
## 1096:       2.6               25              4.0                      26
## 1097:       4.3               25              6.8                      26
## 1098:       5.0               25              7.3                      26
##       evap_pan evap_pan_source evap_syn evap_syn_source  extracted
##    1:      9.5              25     11.1              26 2023-11-15
##    2:     10.4               0      7.2              26 2023-11-15
##    3:      8.0               0      8.3              26 2023-11-15
##    4:      8.0               0     10.1              26 2023-11-15
##    5:     10.6               0     10.4              26 2023-11-15
##   ---                                                             
## 1094:      5.5              25      6.7              26 2023-11-15
## 1095:      3.6              25      4.5              26 2023-11-15
## 1096:      2.6              25      5.1              26 2023-11-15
## 1097:      4.3              25      6.5              26 2023-11-15
## 1098:      5.0              25      7.5              26 2023-11-15
##       station_latitude station_longitude   mslp mslp_source radiation
##    1:         -32.3292          117.8733 1012.7          25      31.0
##    2:         -32.3292          117.8733 1010.8           0      27.1
##    3:         -32.3292          117.8733 1017.2           0      26.8
##    4:         -32.3292          117.8733 1020.9           0      30.9
##    5:         -32.3292          117.8733 1015.9           0      30.8
##   ---                                                                
## 1094:         -31.0742          150.8362 1015.7           0      24.9
## 1095:         -31.0742          150.8362 1012.7           0      15.7
## 1096:         -31.0742          150.8362 1011.4           0      14.0
## 1097:         -31.0742          150.8362 1014.2           0      26.4
## 1098:         -31.0742          150.8362 1015.8           0      28.7
##       radiation_source rainfall rainfall_source rh_tmax rh_tmax_source rh_tmin
##    1:               42      0.0               0    22.6             26    83.5
##    2:               42      0.0               0    71.2             26   100.0
##    3:               42      0.0               0    37.5             26    87.0
##    4:               42      0.0               0    26.3             26   100.0
##    5:               42      0.0               0    33.4             26   100.0
##   ---                                                                         
## 1094:               42      2.0               0    46.5             26   100.0
## 1095:               42     10.2               0    61.9             26   100.0
## 1096:               42      1.0               0    50.0             26    99.6
## 1097:               42     18.8               0    52.7             26   100.0
## 1098:               42      0.0               0    44.5             26   100.0
##       rh_tmin_source   vp vp_deficit vp_deficit_source vp_source
##    1:             26 14.5       32.7                26        25
##    2:             26 20.0        5.2                26         0
##    3:             26 12.6       14.9                26         0
##    4:             26 14.0       22.7                26         0
##    5:             26 22.1       24.1                26         0
##   ---                                                           
## 1094:             26 19.5       14.3                26         0
## 1095:             26 21.8        9.3                26         0
## 1096:             26 19.9       13.8                26         0
## 1097:             26 21.6       11.6                26         0
## 1098:             26 18.9       15.8                26         0
##       daas_soil_order
##    1:         Sodosol
##    2:         Sodosol
##    3:         Sodosol
##    4:         Sodosol
##    5:         Sodosol
##   ---                
## 1094:        Dermosol
## 1095:        Dermosol
## 1096:        Dermosol
## 1097:        Dermosol
## 1098:        Dermosol

Code of Conduct

Please note that the {extractOz} project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

extractoz's People

Contributors

adamhsparks avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

extractoz's Issues

Error running extract_patched_point

Hey Adam,
I tried running through the README, and when I reach extract_patched_point, I get an error:

Error in [.data.table(data.table::rbindlist(purrr::map(.x = silo_stations$station_code, :
Item 1 of j is 4 which is outside the column number range [1,ncol=0]

Haven't looked into the function yet so unsure of why this might be caused.

This is the code I used:

three_sites <-
extract_patched_point(
x = locs,
start_date = "2021-01-01",
end_date = "2021-01-31",
api_key = Sys.getenv("DPIRD_API_KEY")
)

This repository still uses my PATs

As I'm no longer the maintainer, I'd prefer it to not use my PATs for tic updates and other GH actions.

The tic updates will expire in 6 days.

This repository still uses my PATs

As I'm no longer the maintainer, I'd prefer it to not use my PATs for tic updates and other GH actions.

The tic updates will expire in 6 days, so I've deleted it. You will need to create a new token.

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.