Λήψη και Ανάλυση Κλιματικών Δεδομένων

Η κλιματική αλλαγή τις τελευταίες δεκαετίες είχε εκτεταμένη επίδραση τόσο στα φυσικά όσο και στα ανθρώπινα συστήματα, κάτι που έχει παρατηρηθεί σε όλες τις ηπείρους. Τα οικολογικά και περιβαλλοντικά μοντέλα που χρησιμοποιούν κλιματικά δεδομένα βασίζονται συχνά σε πλέγματα δεδομένων, όπως το WorldClim.

Το WorldClim είναι ένα σύνολο παγκόσμιων κλιματικών δεδομένων (πλέγμα δεδομένων κλίματος σε μορφή GeoTiff) που μπορούν να χρησιμοποιηθούν για χαρτογράφηση και χωρική μοντελοποίηση. Το WordlClim έκδοση 2 περιέχει μέσα μηνιαία κλιματικά πλέγματα για την περίοδο 1970-2000 με διαφορετικές χωρικές αναλύσεις, από 30 δευτερόλεπτα (~1 km2) έως 10 λεπτά της μοίρας (~340 km2). Το σύνολο δεδομένων περιλαμβάνει τις κύριες κλιματικές μεταβλητές (μηνιαία ελάχιστη, μέση και μέγιστη θερμοκρασία, βροχόπτωση, ηλιακή ακτινοβολία, ταχύτητα ανέμου και πίεση υδρατμών).

Παρέχει επίσης 19 παραγόμενες βιοκλιματικές μεταβλητές (ετήσια μέση θερμοκρασία, μέσο ημερήσιο εύρος, ισοθερμικότητα, εποχικότητα θερμοκρασίας, μέγιστη θερμοκρασία θερμότερου μήνα, ελάχιστη θερμοκρασία ψυχρότερου μήνα, ετήσιο εύρος θερμοκρασίας, μέση θερμοκρασία υγρότερου τριμήνου, μέση θερμοκρασία πιο ξηρού τριμήνου, μέση θερμοκρασία θερμότερου τριμήνου, μέση θερμοκρασία του πιο ζεστού τριμήνου, μέση θερμοκρασία του πιο κρύου τριμήνου, μέση θερμοκρασία του πιο κρύου τριμήνου, βροχόπτωσης, ετήσιας θερμοκρασίας ο ξηρότερος μήνας, η εποχικότητα των βροχοπτώσεων (συντελεστής διακύμανσης), η βροχόπτωση του πιο υγρού τριμήνου, η βροχόπτωση του πιο ξηρού τριμήνου, η βροχόπτωση του θερμότερου τριμήνου, η βροχόπτωση του πιο κρύου τριμήνου). Αυτά τα στρώματα (δεδομένα πλέγματος) καλύπτουν τις παγκόσμιες χερσαίες περιοχές εκτός από την Ανταρκτική. Βρίσκονται στο σύστημα αναφοράς συντεταγμένων γεωγραφικού πλάτους/μήκους (δεν προβάλλονται) και το δεδομένο είναι WGS84.

Για να είναι εύκολη η πρόσβαση και η λήψη, αναπτύχθηκε η συνάρτηση getData δεδομένων ράστερ που είναι αφιερωμένη στη λήψη αυτών των δεδομένων απευθείας στην R. Στόχος αυτού του μαθήματος είναι να δείξει πώς μπορούμε να πάρουμε αυτά τα δεδομένα με την R και να χρησιμοποιήσουμε τη δύναμη της γλώσσας για στατιστικές, μοντελοποίηση και γραφικές παραστάσεις.

Αρχικά θα φορτώσουμε τα εξωτερικά πακέτα της R. Για να εγκαταστήσετε το πακέτο rgdal πρέπει να γράψετε: url <- “https://download.r-forge.r-project.org/bin/windows/contrib/4.4/rgdal_1.6-7.zip” install.packages(url, type=“source”, repos=NULL)

Λάβετε υπόψη ότι τα δεδομένα θερμοκρασίας είναι σε °C * 10. Αυτό σημαίνει ότι η τιμή 231 αντιπροσωπεύει 23,1 °C. Αυτό οδηγεί σε κάποια σύγχυση, αλλά επιτρέπει πολύ μειωμένα μεγέθη αρχείων, κάτι που είναι σημαντικό, καθώς για πολλούς η λήψη μεγάλων αρχείων παραμένει δύσκολη. Η μονάδα που χρησιμοποιείται για τα δεδομένα βροχόπτωσης είναι mm (χιλιοστά).

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.3
## Warning: package 'ggplot2' was built under R version 4.4.2
## Warning: package 'tidyr' was built under R version 4.4.2
## Warning: package 'dplyr' was built under R version 4.4.2
## Warning: package 'lubridate' was built under R version 4.4.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(sf)
## Warning: package 'sf' was built under R version 4.4.3
## Linking to GEOS 3.13.0, GDAL 3.10.1, PROJ 9.5.1; sf_use_s2() is TRUE
library(raster)
## Warning: package 'raster' was built under R version 4.4.2
## Loading required package: sp
## Warning: package 'sp' was built under R version 4.4.2
## 
## Attaching package: 'raster'
## 
## The following object is masked from 'package:dplyr':
## 
##     select
library(rasterVis)
## Warning: package 'rasterVis' was built under R version 4.4.3
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 4.4.3
library(rgdal)
## Please note that rgdal will be retired during October 2023,
## plan transition to sf/stars/terra functions using GDAL and PROJ
## at your earliest convenience.
## See https://r-spatial.org/r/2023/05/15/evolution4.html and https://github.com/r-spatial/evolution
## rgdal: version: 1.6-7, (SVN revision (unknown))
## Geospatial Data Abstraction Library extensions to R successfully loaded
## Loaded GDAL runtime: GDAL 3.6.2, released 2023/01/02
## Path to GDAL shared files: C:/Users/gsyla/AppData/Local/R/win-library/4.4/rgdal/gdal
##  GDAL does not use iconv for recoding strings.
## GDAL binary built with GEOS: TRUE 
## Loaded PROJ runtime: Rel. 9.2.0, March 1st, 2023, [PJ_VERSION: 920]
## Path to PROJ shared files: C:/Users/gsyla/AppData/Local/R/win-library/4.4/rgdal/proj
## PROJ CDN enabled: FALSE
## Linking to sp version:1.6-0
## To mute warnings of possible GDAL/OSR exportToProj4() degradation,
## use options("rgdal_show_exportToProj4_warnings"="none") before loading sp or rgdal.
library(leaflet)
## Warning: package 'leaflet' was built under R version 4.4.3
library(geodata)
## Warning: package 'geodata' was built under R version 4.4.3
## Loading required package: terra
## Warning: package 'terra' was built under R version 4.4.2
## terra 1.8.15
## 
## Attaching package: 'terra'
## 
## The following object is masked from 'package:rgdal':
## 
##     project
## 
## The following object is masked from 'package:tidyr':
## 
##     extract
library(rts)
## Warning: package 'rts' was built under R version 4.4.3
## Loading required package: xts
## Warning: package 'xts' was built under R version 4.4.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.4.2
## 
## Attaching package: 'zoo'
## 
## The following object is masked from 'package:terra':
## 
##     time<-
## 
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## 
## ######################### Warning from 'xts' package ##########################
## #                                                                             #
## # The dplyr lag() function breaks how base R's lag() function is supposed to  #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
## # source() into this session won't work correctly.                            #
## #                                                                             #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
## # dplyr from breaking base R's lag() function.                                #
## #                                                                             #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
## #                                                                             #
## ###############################################################################
## 
## Attaching package: 'xts'
## 
## The following object is masked from 'package:leaflet':
## 
##     addLegend
## 
## The following objects are masked from 'package:dplyr':
## 
##     first, last
## 
## rts 1.1-14 (2023-10-01)
library(terra)

Ιστορικά Δεδομένα για το Κλίμα

Εφόσον θέλουμε ιστορικά δεδομένα από το worldclim, πρέπει να παρέχουμε ορίσματα για την μεταβλητή var και την ανάλυση res. Τα έγκυρα ονόματα μεταβλητών είναι “tmin”, “tmax”, “prec”, “wind”, “vapr” και “bio”. Οι παράμεττροι έχουν τις εξής μονάδες: α) Ελάχιστη, μέση και μέγιστη θερμοκρασία σε βαθμούς Κελσίου, β) βροχόπτωση σε χλστ, γ) ηλιακή ακτινοβολία σε (kJ m-2 day-1), δ) ταχύτητα ανέμου σε (m/s), και ε) πίεση υδρατμών ατμόσφαιρας (kPa).

Οι έγκυρες αναλύσεις είναι 0,5, 2,5, 5 και 10 (λεπτά της μοίρας). Στην περίπτωση του res=0,5, πρέπει επίσης να δώσετε ένα όρισμα lon και lat για τις συντεταγμένες. Για τις χαμηλότερες αναλύσεις θα γίνει λήψη καθολικών δεδομένων. Σε όλες τις περιπτώσεις υπάρχουν 12 (μηνιαία) αρχεία για κάθε μεταβλητή, εκτός από το «bio» που περιέχει 19 αρχεία.

Άλλα ορισμάτα που απαιτεί η συνάρτηση worldclim_global() είναι: α) το path, κείμενο που δίνει σε εισαγωγικά την θέση αποθήκευσης των δεδομένων, β) το country, κείμενο με το όνομα ή τον κωδικό της χώρας, γ) τα lon, lat, αριθμητικά δεδομένα γεωγραφικού μήκους και γεωγραφικού πλάτους.

Άλλες παρόμοιες συναρτήσεις είναι: worldclim_country(country, var, path, version=“2.1”, …) worldclim_tile(var, lon, lat, path, version=“2.1”, …)

Μέγιστη Θερμοκρασία

Για να κατεβάσουμε δεδομένα μέσης θερμοκρασίας αέρα γράφουμε

Tavg <- worldclim_global("tavg", res=10 ,path="C:/Users/gsyla/OneDrive/Notes/Xanthi/R/Markdown")

Ελέγχουμε την κλάση του συνόλου δεδομένων με τη συνάρτηση class.

class(Tavg)
## [1] "SpatRaster"
## attr(,"package")
## [1] "terra"

Λαμβάνουμε την πληροφορία ότι έχουμε ένα rasterStack, δηλ. μια συλλογή στρωμάτων δεδομένων raster με την ίδια χωρική έκταση και την ίδια χωρική ανάλυση. Μπορούμε να χρησιμοποιήσουμε την συνάρτηση dim για να μάθουμε τον αριθμό στρωμάτων που περιέχει το rasterstack.

dim(Tavg)
## [1] 1080 2160   12

Βλέπουμε ότι υπάρχουν δώδεκα στρώματα - κάθε στρώμα αντιπροσωπεύει μια μηνιαία κλιματολογική τιμή της μέγιστης θερμοκρασίας από τον Ιανουάριο έως τον Δεκέμβριο.

Tavg
## class       : SpatRaster 
## dimensions  : 1080, 2160, 12  (nrow, ncol, nlyr)
## resolution  : 0.1666667, 0.1666667  (x, y)
## extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## sources     : wc2.1_10m_tavg_01.tif  
##               wc2.1_10m_tavg_02.tif  
##               wc2.1_10m_tavg_03.tif  
##               ... and 9 more sources
## names       : wc2.1~vg_01, wc2.1~vg_02, wc2.1~vg_03, wc2.1~vg_04, wc2.1~vg_05, wc2.1~vg_06, ... 
## min values  :    -45.8840,   -44.80000,   -57.92575,   -64.19250,   -64.81150,   -64.35825, ... 
## max values  :     34.0095,    32.82425,    32.90950,    34.19375,    36.25325,    38.35550, ...

Παρατηρούμε τα εξής: dimensions: είναι ο αριθμός των pixels (αριθμός γραμμών, στηλών και στρωμάτων του RasterStack) ncells: ο συνολικός αριθμός pixels ή κελιών του raster. resolution: το μέγεθος κάθε pixel (σε μοίρες). extent: η χωρική κάλυψη του raster. Δίνεται σε μοίρες και γενικά στις ίδιες μονάδες όπως το προβολικό σύστημα του raster. coord ref: το προβολικό σύστημα του raster. Αυτό το raster δίνεται σε γεωγραφικό μήκος και πλάτος στο προβολικό σύστημα WGS84.

Παρατηρήσαμε ότι τα ονόματα των επιπέδων δεν είναι περιγραφικά, γνωρίζουμε από την εμπειρία μας ότι τα επίπεδα αντιπροσωπεύουν μήνες, ξεκινώντας από τον Ιανουάριο μέχρι τον Δεκέμβριο. Επομένως, πρέπει να αλλάξουμε το όνομα των επιπέδων σε πιο περιγραφικά ονόματα μεταβλητών.

names(Tavg) = c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
Tavg
## class       : SpatRaster 
## dimensions  : 1080, 2160, 12  (nrow, ncol, nlyr)
## resolution  : 0.1666667, 0.1666667  (x, y)
## extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## sources     : wc2.1_10m_tavg_01.tif  
##               wc2.1_10m_tavg_02.tif  
##               wc2.1_10m_tavg_03.tif  
##               ... and 9 more sources
## names       :      Jan,       Feb,       Mar,       Apr,       May,       Jun, ... 
## min values  : -45.8840, -44.80000, -57.92575, -64.19250, -64.81150, -64.35825, ... 
## max values  :  34.0095,  32.82425,  32.90950,  34.19375,  36.25325,  38.35550, ...

Παρατηρούμε ότι οι τιμές θερμοκρασίας είναι υψηλότερες ή κάτω από το εύρος της θερμοκρασίας που γνωρίζουμε. Αυτό συμβαίνει επειδή οι τιμές πολλαπλασιάστηκαν επί 10 για να μειωθεί το μέγεθος του αρχείου, επομένως, πρέπει να αφαιρέσουμε τον παράγοντα κλίμακας διαιρώντας με το δέκα.

Tavg = Tavg/10

Κατόπιν θα μάθουμε τις ελάχιστες και μέγιστες τιμές που έχει η περιοχή μελέτης ανά μήνα.

Tavg <- setMinMax(Tavg)
Tavg
## class       : SpatRaster 
## dimensions  : 1080, 2160, 12  (nrow, ncol, nlyr)
## resolution  : 0.1666667, 0.1666667  (x, y)
## extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## names       :      Jan,       Feb,       Mar,       Apr,       May,       Jun, ... 
## min values  : -4.58840, -4.480000, -5.792575, -6.419250, -6.481150, -6.435825, ... 
## max values  :  3.40095,  3.282425,  3.290950,  3.419375,  3.625325,  3.835550, ...

Στη συνέχεια χρησιμοποιούμε μια συνάρτηση γραφικής παράστασης από το πακέτο raster για να οπτικοποιήσουμε τα δεδομένα του στρώματος.

plot(Tavg) 

Για να πλοτάρουμε τον χάρτη μέσης θερμοκρασίας του Μαρτίου

plot(Tavg$Mar, main="Μέση Θερμοκρασία Μαρτίου, βαθμοί Κελσίου") 

Μπορούμε να αλλάξουμε την χρωματική κλίμακα και να ορίσουμε τα διαστήματα της κλίμακας στη μπάρα.

# add a color map with 5 colors
col <- terrain.colors(5)
# add breaks to the colormap (6 breaks = 5 segments)
brk <- c(0, 10, 20, 30, 40, 50)

plot(Tavg$Jul, 
      main="Μέση Θερμοκρασία Ιουλίου, βαθμοί Κελσίου", 
      col=col,
      breaks = brk)

Ωστόσο, η συνάρτηση plot() έχει ένα ορισμένο όριο για τον αριθμό των pixels που μπορεί να πλοτάρει. Καλύτερη είναι η συνάρτηση image().

image(Tavg$Jul, main="Μέση Θερμοκρασία Ιουλίου, βαθμοί Κελσίου") 

Μπορούμε να πλοτάρουμε μόνο pixels με συγκεκριμένο όριο θερμοκρασιών.

image(Tavg$Jul, 
      zlim=c(20,30),
      main="Μέση Θερμοκρασία Ιουλίου, βαθμοί Κελσίου") 

Aποκοπή Δεδομένων στην Περιοχή Μελέτης

Θα χρησιμοποιήσουμε την συνάρτηση αποκοπής crop.

Tavg_cropped <- crop(Tavg,extent(-23.5,26.5,40.2,41.8))

Aποθήκευση Αρχείου

Μόλις είμαστε ευχαριστημένοι με τα δεδομένα που έχουμε κατεβάσει και καθαρίσει, μπορούμε τώρα να τα αποθηκεύσουμε στον κατάλογό μας για μελλοντική χρήση. Το κάνουμε αυτό χρησιμοποιώντας ένα writeRaster από το πακέτο raster και καθορίζουμε το αντικείμενο αρχείου και το όνομα αρχείου ως επισήμανση τμημάτων.

Tavg_cropped %>% 
  raster::writeRaster(filename = "Tavg_hist.tif", overwrite=TRUE)

Λήψη Δεδομένων Ελάχιστης Θερμοκρασίας και Βροχόπτωσης

Tmin <- worldclim_global("tmin", res=10, path="C:/Users/gsyla/OneDrive/Notes/Xanthi/R/Markdown")

Prec <- worldclim_global("prec", res=10, path="C:/Users/gsyla/OneDrive/Notes/Xanthi/R/Markdown")

Βιοκλιματικές Παράμετροι

Οι βιοκλιματικές παράμετροι προέρχονται από τις μηνιαίες τιμές θερμοκρασίας και βροχοπτώσεων προκειμένου να δημιουργηθούν πιο βιολογικά σημαντικές μεταβλητές. Αυτές χρησιμοποιούνται συχνά στη μοντελοποίηση κατανομής ειδών και σε σχετικές τεχνικές οικολογικής μοντελοποίησης. Οι βιοκλιματικές μεταβλητές αντιπροσωπεύουν τις ετήσιες τάσεις (π.χ. μέση ετήσια θερμοκρασία, ετήσια βροχόπτωση), εποχικότητα (π.χ. ετήσιο εύρος θερμοκρασίας και βροχόπτωσης) και ακραίους ή περιοριστικούς περιβαλλοντικούς παράγοντες (π.χ. θερμοκρασία του ψυχρότερου και θερμότερου μήνα και βροχόπτωση του υγρού και ξηρού τριμήνου). Ο κατάλογος όλων των παραγόμενων βιοκλιματικών μεταβλητών φαίνεται στον πίνακα 1.

Πίνακας 1: Βιοκλιματικές μεταβλητές Κωδικός Περιγραφή BIO1 Ετήσια μέση θερμοκρασία BIO2 Μέσο ημερήσιο εύρος (Μέση μηνιαία (μέγιστη θερμοκρασία - ελάχιστη θερμοκρασία)) BIO3 Ισοθερμικότητα (BIO2/BIO7) BIO4 Εποχικότητα θερμοκρασίας BIO5 Μέγιστη θερμοκρασία του θερμότερου μήνα BIO6 Ελάχιστη θερμοκρασία του ψυχρότερου μήνα BIO7 Ετήσιο εύρος θερμοκρασίας (BIO5-BIO6) BIO8 Μέση θερμοκρασία του υγρότερου τετάρτου BIO9 Μέση θερμοκρασία του ξηρότερου τετάρτου BIO10 Μέση θερμοκρασία του θερμότερου τετάρτου BIO11 Μέση θερμοκρασία του ψυχρότερου τετάρτου BIO12 Ετήσιες βροχοπτώσεις BIO13 Κατακρήμνιση του Υγρότερου Μήνα BIO14 Κατακρήμνιση του πιο ξηρού μήνα BIO15 Εποχικότητα βροχοπτώσεων (Συντελεστής Διακύμανσης) BIO16 Κατακρήμνιση του υγρότερου τετάρτου BIO17 Κατακρήμνιση του ξηρότερου τετάρτου BIO18 Κατακρήμνιση θερμότερου τριμήνου BIO19 Κατακρήμνιση του ψυχρότερου τετάρτου

bio <- worldclim_country("Greece", var = "bio", path = "C:/Users/gsyla/OneDrive/Notes/Xanthi/R/Markdown")

bio[[3]] %>% raster::plot(main = "Isothermality ")

bio %>% 
  raster::writeRaster(filename = "bio_hist.tif", overwrite = TRUE)

Ανάλυση Θερμοκρασίας σε συγκεκριμένη περιοχή

Για να κατεβάσουμε δεδομένα μέσης θερμοκρασίας αέρα γράφουμε

Tavg <- worldclim_country("Greece", var = "tavg", res=0.5, path="C:/Users/gsyla/OneDrive/Notes/Xanthi/R/Markdown")
#Tavg = Tavg/10
names(Tavg) = c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
plot(Tavg) 

Tavg_cropped <- crop(Tavg,extent(23.8221,25.9768,
                                 40.5411,41.1708))
TavgBrick_cropped <- brick(Tavg_cropped)

#plot(Tavg_cropped)

x <- c(25.618992, 25.642143, 25.631485, 25.661093, 25.632297, 25.602798, 25.630190, 25.655813)
y <- c(40.953344, 40.950312, 40.923040, 40.905149, 40.895719, 40.892445, 40.877474, 40.861180)
xy <- cbind(x,y)
extract(TavgBrick_cropped[[12]], xy)
## [1] 6.1 6.0 6.1 6.0 6.3 6.3 6.6 6.8
#d = as.yearmon(seq(1,12,by=1))
#rt <- rts(Tavg_cropped,d)
#x_axis = names(Tavg)
#t <- rt[236]
#plot(t, x_axis)

Ανάλυση Προσπίπτουσας Ηλιακής Ακτινοβολίαςσε συγκεκριμένη περιοχή

Για να κατέβάσουμε δεδομένα προσπίπτουσας Ηλιακής ακτινοβολίας γράφουμε

Srad <- worldclim_global("srad", res=10,                 path="C:/Users/gsyla/OneDrive/Notes/Xanthi/R/Markdown")

Srad <- worldclim_country("Greece", var = "srad", 
                          res=0.5,                          path="C:/Users/gsyla/OneDrive/Notes/Xanthi/R/Markdown")

names(Srad) = c("Jan", "Feb", "Mar", "Apr", "May", 
                "Jun", "Jul", "Aug", "Sep", "Oct", 
                "Nov", "Dec")

Θα μετασχηματίσουμε τα δεδομένα από (kJ m-2 day-1) σε W/m2

#Transform data from (kJ m-2 day-1) to W/m2
Srad = Srad/86400*1000 

plot(Srad) 

Κατόπιν θα αποκόψουμε τα δεδομένα στην περιοχή ενδιαφέροντος.

Srad_cropped <- crop(Srad,extent(23.8221,25.9768,
                               40.5411,41.1708))
SradBrick_cropped <- brick(Srad_cropped)

x <- c(25.618992, 25.642143, 25.631485, 25.661093, 25.632297, 25.602798, 25.630190, 25.655813)
y <- c(40.953344, 40.950312, 40.923040, 40.905149, 40.895719, 40.892445, 40.877474, 40.861180)
xy <- cbind(x,y)
extract(SradBrick_cropped[[2]], xy)
## [1] 101.9213 101.8634 102.2454 102.6157 102.3148 102.5000 102.5347 102.5463