--- title: "Migration to the Open Data Platform" output: rmarkdown::html_vignette date: "`r Sys.Date()`" vignette: > %\VignetteIndexEntry{Migration to the Open Data Platform} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} eval_check <- all(VicmapR::check_geoserver(quiet = TRUE), !testthat:::on_cran(), sf::sf_extSoftVersion()[["GDAL"]] > 3) knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = eval_check ) ``` # About From `VicmapR` version `0.2.0`, the default platform data is retrieved from is different. The Enterprise Spatial Services (ESS) Transformation Program from the Department of Energy, Environment and Climate Action (DEECA) has determined that DELWP’s WMS and WFS Open Data services will be hosted in AWS Cloud. This will cause a change of URLs when accessing these services. This migration of services essentially requires the `VicmapR` package to restructure where and how it obtains data. We have updated package code to by default use the new Amazon AWS cloud platform as the default source for data moving forward. The legacy platforms and services will be turned off by the 27 March 2023. Meaning that users will no longer be able to access data from these sources from this date. We have made an effort to update `VicmapR` in such a way to make existing code work by translating layer names from the legacy names to the new names. However, not all data may be available; or even if data is available there may be changes to formats and structures. However, the new platform is expected to be more scalable (with likely addition of more data moving forward). Some key changes to the data structure are: + Layer names now have a prefix of 'open-data-platform:' instead of 'datavic:' + Layer names are now lowercase + Attributes (columns) are now in lowercase + There are no different layers for subsets of data (e.g. there is only one layer for 2005 modelled EVCs: nv2005_evcbcs, whereas previously there were lots of layer subsets for the different EVC groups) + The default chunk limit is 5000 (previously varied between 1500 and 70000 depending on the dataset) In order to view how old layer names relate to new layer names users can view the exported data.frame (`name_conversions`). # Comparison of old and new code Below we show how you might have queried a a layer in the legacy system and in the new system ```{r setup, eval = eval_check} library(VicmapR) library(kableExtra) ``` ```{r old_code, eval = eval_check} # Old code for obtaining freshwater wetlands in glenelg plain evc_18_1_old <- vicmap_query("datavic:FLORAFAUNA1_NV2005_EVCBCS_18_1") %>% filter(BIOREGION == "Glenelg Plain" & X_EVCNAME %in% c("Deep Freshwater Marsh", "Aquatic Herbland")) %>% select(X_EVCNAME) %>% head(10) collect(evc_18_1_old) %>% kbl() %>% kable_styling() ``` ```{r new_code, eval = eval_check} # New code for obtaining freshwater wetlands in glenelg plain evc_18_1_new <- vicmap_query("open-data-platform:nv2005_evcbcs") %>% filter(x_subgroupname == "Freshwater" & bioregion == "Glenelg Plain" & x_evcname %in% c("Deep Freshwater Marsh", "Aquatic Herbland")) %>% select(x_evcname) %>% head(10) collect(evc_18_1_new) %>% kbl() %>% kable_styling() ``` As we can see, both code chucks now produce the same data due to VicmapR's in-built translations as part of the update. To check the queries are the same we can compare them: ```{r compare_queries, eval = eval_check} cat("Old query (translated):\n") show_query(evc_18_1_old) cat("New query:\n") show_query(evc_18_1_new) ``` # Old data that is no longer available Some data layers are not available on the new platform (at least not yet). At time of writing, the swooping birds data is not available. If you try and retrieve a data layer that is no longer available, you will receive the following error: ```{r, eval = eval_check} try({ vicmap_query(layer = "datavic:FLORAFUANA1_SWOOPING_BIRD") }) ```