Skip to content

Commit

Permalink
Merge pull request #10 from chrbknudsen/main
Browse files Browse the repository at this point in the history
resolves #5
  • Loading branch information
chrbknudsen authored Sep 10, 2024
2 parents 0b3e018 + 3065d5a commit 5c9040d
Show file tree
Hide file tree
Showing 14 changed files with 201 additions and 45 deletions.
2 changes: 2 additions & 0 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ Suggests:
testthat (>= 3.0.0)
Config/testthat/edition: 3
URL: https://kubdatalab.github.io/KBAPI/
Imports:
httr2
5 changes: 4 additions & 1 deletion NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Generated by roxygen2: do not edit by hand

export(get_arial)
export(get_aerial)
importFrom(httr2,req_perform)
importFrom(httr2,req_url_query)
importFrom(httr2,request)
9 changes: 9 additions & 0 deletions R/KBapi-package.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#' @keywords internal
"_PACKAGE"

## usethis namespace: start
#' @importFrom httr2 req_perform
#' @importFrom httr2 req_url_query
#' @importFrom httr2 request
## usethis namespace: end
NULL
45 changes: 45 additions & 0 deletions R/get_aerial.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#' Søg luftfotos
#'
#' En kort beskrivelse af hvad funktionen gør.
#'
#' @param lat Beskrivelse af første parameter.
#' @param lon Beskrivelse af anden parameter.
#' @param format formatet output kommer i. vælg mellem kml, rss, atom og mods
#' @return Beskrivelse af returværdien.
#' @examples
#' # Eksempel på brug af funktionen
#' get_aerial(lat = 1, lon = 2)
#' @export


get_aerial <- function(lat=56.007514636317666, lon=12.228840190005485, format = "kml"){
# tjek input
api_url <- "http://www.kb.dk/cop/syndication/images/luftfo/2011/maj/luftfoto/subject203/"
formatted_lat <- sprintf("%.16f", lat)
formatted_lon <- sprintf("%.16f", lon)
query_params <- list(
bbo = "10.395490670074423,55.22227193719089,10.296785378326376,55.18994697228769",
zoom = 14,
lat = formatted_lat,
lng = formatted_lon,
page = 1,
q_fritekst = "",
q_stednavn = "",
q_bygningsnavn = "",
q_person = "",
q_adresse = "",
notBefore = "1920",
notAfter = "1970",
category = "subject203",
itemType = "all",
thumbnailSize = "",
format = format,
itemsPerPage = 3
)
response <- httr2::request(api_url) |>
httr2::req_url_query(!!!query_params) |>
httr2::req_perform()
# Her bør der nok være noget tjek af om ting gik godt.
response
}

14 changes: 0 additions & 14 deletions R/get_arial.R

This file was deleted.

17 changes: 15 additions & 2 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,33 @@ knitr::opts_chunk$set(
)
```

# KBapi
# KBapi <a href="https://kubdatalab.github.io/KBAPI/"><img src="man/figures/logo.png" align="right" height="139" alt="KBapi website" /></a>

<!-- badges: start -->
[![R-CMD-check](https://github.com/KUBDatalab/KBAPI/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/KUBDatalab/KBAPI/actions/workflows/R-CMD-check.yaml)
<!-- badges: end -->




The goal of KBapi is to ...

## Installation

You can install the development version of KBapi like so:

``` r
# FILL THIS IN! HOW CAN PEOPLE INSTALL YOUR DEV PACKAGE?
options(repos = c(
kubdatalab = '',
CRAN = 'httpos://cloud.r-project.org')
)

install.packages('KBAPI')
```

Or directly from github:
``` r
devtools::install_github('KUBDatalab/KBAPI')
```

## Example
Expand Down
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

<!-- README.md is generated from README.Rmd. Please edit that file -->

# KBapi
# KBapi <a href="https://kubdatalab.github.io/KBAPI/"><img src="man/figures/logo.png" align="right" height="139" alt="KBapi website" /></a>

<!-- badges: start -->

Expand All @@ -15,7 +15,18 @@ The goal of KBapi is to …
You can install the development version of KBapi like so:

``` r
# FILL THIS IN! HOW CAN PEOPLE INSTALL YOUR DEV PACKAGE?
options(repos = c(
kubdatalab = '',
CRAN = 'httpos://cloud.r-project.org')
)

install.packages('KBAPI')
```

Or directly from github:

``` r
devtools::install_github('KUBDatalab/KBAPI')
```

## Example
Expand Down
24 changes: 24 additions & 0 deletions man/KBapi-package.Rd

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

Binary file added man/figures/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions man/get_aerial.Rd

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

23 changes: 0 additions & 23 deletions man/get_arial.Rd

This file was deleted.

6 changes: 3 additions & 3 deletions skrammel/R/luftfotos.R
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ query_params <- list(
q_person = "",
q_adresse = "",
notBefore = 1920,
notAfter = 1970,
notAfter = 1990,
category = "subject203",
itemType = "all",
thumbnailSize = "",
format = "xml"
format = "kml"
)

# Send GET-anmodningen med parametre som query string
Expand All @@ -33,4 +33,4 @@ response <- request(api_url) %>%
req_perform()

response

request(api_url) %>% req_perform()
51 changes: 51 additions & 0 deletions skrammel/ekstrationstests.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
library(xml2)
library(jsonlite)
library(tidyverse)
test <- get_aerial(format = "kml")
noget <- test %>%
resp_body_xml()
# %>%
# toJSON(pretty = TRUE, auto_unbox = TRUE) %>%
# jsonlite::fromJSON()
# noget$kml$Document
noget %>% class()
noget$Document$Placemark


extract_all_nodes <- function(node) {
# Find alle børn af noden
children <- xml_children(node)

# Hvis noden har børn, anvend funktionen rekursivt på hvert barn
if (length(children) > 0) {
# For hver child node, rekursivt udtræk data
return(map(children, extract_all_nodes))
} else {
# Hvis noden ikke har børn, returner nodens navn og værdi
return(set_names(xml_text(node), xml_name(node)))
}
}

# Funktion til at flade listen og håndtere noder med flere lag
flatten_xml_data <- function(xml_list) {
# Hvis det er en liste med lister, flad dem ud
if (is.list(xml_list) && !is.null(names(xml_list))) {
return(map(xml_list, flatten_xml_data))
} else if (is.list(xml_list)) {
return(unlist(xml_list))
} else {
return(xml_list)
}
}

extracted_data <- extract_all_nodes(noget)

# Flad dataene ud og konverter til tibble
flattened_data <- map_dfr(extracted_data, flatten_xml_data)

# Konverter det fladede data til en tibble
kml_tibble <- as_tibble(flattened_data)
kml_tibble %>%
select(-text,
-startIndex,
-Query)
12 changes: 12 additions & 0 deletions skrammel/logo-script.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
sticker(
"c:/Users/cbk/Desktop/kblogo.jpg",
package = "KBAPI",
h_fill = "black",
h_color = "black",
bg = NA,
p_size = 20,
p_y = 1.6,
s_x = 1, s_y = 1, # Justering af billedets placering
s_width = 0.6, # Størrelsen på baggrundsbilledet
filename = "man/figures/logo.png" # Outputstien og filnavnet for hexstickeren
)

0 comments on commit 5c9040d

Please sign in to comment.