This is a wrapper function around maptools::solarpos, adapted for accepting location as a Spatial* layer or a Raster. The function calculates layer centroid, transforms it to lon-lat, then calls maptools::solarpos to calculate solar position(s) for that point at the given time(s)
solarpos2(location, time)
| location | A |
|---|---|
| time | A |
A matrix with two columns representing sun position(s); first column is the solar azimuth (in decimal degrees from North), second column is sun elevation (in decimal degrees); rows represent different times corresponding to time
time = as.POSIXct("2004-12-24 13:30:00", tz = "Asia/Jerusalem") proj4string(build) = CRS("+init=epsg:32636") solarpos2(build, time)#> [,1] [,2] #> [1,] 208.7333 28.79944