-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.Rmd
120 lines (95 loc) · 3.08 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# rOstluft.import
<!-- badges: start -->
<!-- badges: end -->
Das Ziel von rOstluft.import ist es einene einfachen und einheitlichen Prozess für den regelmässigen Import von Daten in einen rOstluft Store zu definieren.
## Installation
Die aktuelle Version kann von github installiert werden.
```r
remotes::install_github("Ostluft/rOstluft.import")
```
## Voraussetzungen
Damit der Import erfolgreich ausgeführt werden kann müssen folgende Voraussetzungen erfüllt sein:
* Die Daten sind aufgeteilt in Tages-/Monatsdateien (fixes Interval)
* Lesefunktion mit Rückgabe der Daten im rolf Format
* Meta Dataframe im lokalen rOstluft rds Store
## Beispiel
```{r example}
library(rOstluft.import)
# packages uses a lgr Logger
lg <- lgr::get_logger("rOstluft.import")
lg$set_threshold("info")
config_file <- system.file("extdata", "config_mythenquai.yml", package = "rOstluft.import")
config <- yaml::read_yaml(config_file)
import(config)
```
```yaml
# Konfiguration Zeitraum:
# to = lubridate::floor_date(lubridate::now(tz), floor_now) - lubridate::period(to_offset)
# from = to - lubridate::period(period)
# dates = seq(from, to, by = interval)
tz: "GMT"
floor_now: "day"
to_offset: "1 day"
period: "6 days"
interval: "1 day"
# Konfiguration Quelle und Ablage
source_typ: "curl" # curl, copy
input_fn_tpl: "https://tecdottir.herokuapp.com/measurements/mythenquai?startDate={format(date - 1, '%Y-%m-%d')}&endDate=%Y-%m-%d"
cache_fn_tpl: "cache/seepolizei/mythenquai_%Y-%m-%d.json"
imported_fn_tpl: "imported/seepolizei/%Y/mythenquai_%Y-%m-%d.rds"
# verwendeter lokaler rOstluft Store
store_name: "rOstluft.import"
# Das Paket (Namespace), welches die Lesefunktion enthält muss aus R spezifischen
# Gründen separat angeben werden. Verwende NULL we
reading_function_ns: "rOstluft"
reading_function: "read_seepolizei_json"
# Allgemeines Verhalten
missing_files: "warn"
delete_cache: TRUE
# Curl Optionen. Mehr Infos unter folgenden Links:
# - https://jeroen.cran.dev/curl/reference/curl_options.html
# - https://curl.se/libcurl/c/curl_easy_setopt.html
# Beispiel für nltm Proxy + basic http auth
#curl_opts:
# proxy: "proxy.server.loc:8080"
# proxyauth: 8
# proxyuserpwd: ":"
# ssl_verifypeer: 0
# httpauth: 1
# userpwd: "user:password"
# Zusätzliche HTTP Headers wenn curl verwendet wird. Beispielsweise ein JWT
# Token zur Authorisation
#curl_headers:
# Authorization: "Bearer XXXXXXXXXXXXXXXXXX"
# Konfiguration der Normalisierung mit rOstluft::meta_apply
# Für jeden Eintrag unter Meta wird meta_apply einmal aufgerufen
meta_key: seepolizei
meta:
-
data_src: site
data_dest: site
meta_key: site_short
meta_val: site
-
data_src: parameter
data_dest: unit
meta_key: parameter_original
meta_val: unit
-
data_src: parameter
data_dest: parameter
meta_key: parameter_original
meta_val: parameter
```