loe_tuumandmete_wfs_kihid.R 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #' Tuumandmete WFS kihtide lugemine
  2. #'
  3. #' See on Eesti topograafia andmekogu tuumandmete kaardikihte WFS allalaadimisteenuse kaardikihtide lugemine. \url{https://gsavalik.envir.ee/geoserver/etak/wfs?service=WFS&request=GetCapabilities}
  4. #'
  5. #' @return matrix
  6. #' @importFrom magrittr %>%
  7. #' @noRd
  8. #' @examples
  9. #' \dontrun{
  10. #'
  11. #' loe_tuumandmete_wfs_kihid()
  12. #' }
  13. #'
  14. loe_tuumandmete_wfs_kihid <- function() {
  15. # Andmeallikas
  16. url <-
  17. "https://teeregister-api.mnt.ee/teenus/wfs?request=GetCapabilities&service=WFS"
  18. data <- xml2::read_xml(url) %>% xml2::xml_contents()
  19. result <- data[[4]] %>% xml2::xml_children()
  20. list <- lapply(1:length(result), function(i) {
  21. layer <-
  22. (result[[i]] %>% xml2::xml_children() %>% xml2::xml_text())[1]
  23. title <-
  24. (result[[i]] %>% xml2::xml_children() %>% xml2::xml_text())[2]
  25. abstract <-
  26. gsub("\n",
  27. "",
  28. (result[[i]] %>% xml2::xml_children() %>% xml2::xml_text())[3])
  29. defaultCRS <-
  30. gsub("urn:ogc:def:crs:",
  31. "",
  32. (result[[i]] %>% xml2::xml_children() %>% xml2::xml_text())[4])
  33. bbox <-
  34. (result[[i]] %>% xml2::xml_children() %>% xml2::xml_text())[8]
  35. metadataURL <-
  36. (result[[i]] %>% xml2::xml_children())[9] %>% xml2::xml_attr("href")
  37. c(
  38. "layer" = layer,
  39. "title" = title,
  40. "abstract" = abstract,
  41. "defaultCRS" = defaultCRS,
  42. "bbox" = bbox,
  43. "metadataURL" = metadataURL
  44. )
  45. })
  46. do.call("rbind", list)
  47. }