[R-sig-Geo] Mapping Pacific centered map for Spatial analysis
Micha Silver
t@v|b@r @end|ng |rom gm@||@com
Sun Mar 13 16:37:59 CET 2022
Hi:
I've prepared an alternative to your code, with some ideas that might
help. Following Roger's comment, I transformed the spatial layers to
EPSG:3460. The code is attached.
I also have a few comments. Inline, below:
On 13/03/2022 11:26, sownal chand wrote:
> Hello Micha,
>
> Thank you for your prompt response. I am attaching my codes and sample
> data for your reference.
> As I mentioned earlier, I am trying to interpolate climate data using
> IDW and visualize the Climate change that is happening in My country
> from the past 55years till date (2021).
> Moving forward, I am new to spatial interpolation using R and would
> like to write codes in R so that it is easy to notice the changes in
> the average temperature, Max, Min temperature, rainfall and
> other climate variables.
>
First, you're using some older packages (rgdal and rgeos). Today it
makes sense to switch to the newer sf without those dependencies.
>
> # import libraries
> library(raster)
> library(ggmap)
> library(RgoogleMaps)
> library(rgdal)
> library(ggplot2)
> library(rnaturalearth)
> library(dplyr)
> library(tidyr)
> library(gstat)
> library(rgeos)
> library(scales)
> options(stringsAsFactors = FALSE)
>
> # Fiji geo data & study Area
> # download
> #Draft map of Fiji
> Fiji_studyarea <- readOGR("../input/fijishp/FJI_adm2.shp")
> extent(Fiji_studyarea)
>
> # import climate data - netcdf format
> Temp <- read.csv("../input/TempData/53YearsTemper.csv")
> Temp
> str(Temp)
>
This data file is in "wide" format. In the example I show how to make it
"tidy" for further plotting and analysis.
> # check out our one years data
> Temp$Year.3
>
> # remove NA values
> Temp <- Temp %>%
> drop_na()
> Temp
>
> # create spatial points object
> Temp_sp <- Temp
> class(Temp_sp)
>
> # convert the data into spatial coordinates
> coordinates(Temp_sp) <- ~long + lat
> class(Temp_sp)
>
> # view spatial points
> plot(Temp_sp$Year,
> main = "Average Temperature for year 1965")
>
Next, you have data from only a few, widely spaced stations, and IDW
might not be the best interpolation method. But that's for you to decide.
> ##### IDW interpolation ##### From here the code gives errors as the
> interpolation area is very small.
> # establish an extent within which you want to interpolate
> x_range <- as.numeric(c(290.00, 360.00)) # min/max longitude of the
> interpolation area
> y_range <- as.numeric(c(-23.00, -17.00)) # min/max latitude of the
> interpolation area
>
With gstat you can now use a stars object as target grid. See my example.
> # create an empty grid of values ranging from the xmin-xmax, ymin-ymax
> grd <- expand.grid(x = seq(from = x_range[1],
> to = x_range[2],
> by = 0.1),
> y = seq(from = y_range[1], to = y_range[2],
> by = 0.1)) # expand points to grid
> class(grd)
>
> # crs = 3832, # https://epsg.io/3832 Pacific centered CRS
>
> # interpolate the data
> idwTemp_pow1 <- idw(formula = Temp$Year ~ 1,
> locations = Temp_sp,
> newdata = grd,
> idp = 1)
>
> # plot the data
> plot(idw_pow1,
> col = terrain.colors(55))
>
>
> Please can you assist in correcting these errors. and the shapefile
> does not show on the map. OR you can give a better option of codes to
> follow doing this.
>
> Really appreciate your assistance and thanking you in advance
>
>
Final comment. You mentioned a time series analysis to follow climate
change. You'll have to decide how you want to go about this. Are you
going to prepare interpolations for each year, then do a pixel by pixel
change detection? In my example I show a simple time series plot of
temperature data, by station.
HTH
Regards, Micha
>
>
>
>
> On Sun, 13 Mar 2022 at 20:45, Micha Silver <tsvibar using gmail.com> wrote:
>
>
> On 13/03/2022 01:41, sownal chand wrote:
> > Hello Sir/Madam,
> >
> > I am Sownal Chand, from Fiji Islands and am currently working on
> a project
> > which involves spatial analysis of climate data (Temperature,
> rainfall,
> > etc). I have been able to write codes in R for Point
> interpolations of
> > these parameters but I require some assistance in mapping these
> raster
> > files on the southwest pacific maps. For example, a map of Fiji
> Islands (
> > https://www.pinterest.com/pin/740982944911004875 ) and I am
> facing some
> > difficulties in making these plots.
> >
> > I hope that some expert would be willing to help me with this
> and the map's
> > CRS setting is a bit confusing and I am a beginner in this area
> ( i. e,
> > spatial analysis using R). I have been looking at tutorials and
> codes to
>
>
> There are tons of online resources. You could, for example, refer to:
>
> https://geocompr.robinlovelace.net/
>
>
> > crop country boundaries and shapefiles and still found lots of
> errors in my
> > codes.
>
>
> You have raised a few different questions. Would you mind to post
> what
> you have done so far, and point out the errors and difficulties?
>
>
> > Hoping to find solutions to my problems and learn from this.
> >
> > yours sincerely
> > sownalc
> > Contact: sownalchand using gmail.com
> > PH +679 2960779
> >
> > [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > R-sig-Geo mailing list
> > R-sig-Geo using r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
> --
> Micha Silver
> Ben Gurion Univ.
> Sde Boker, Remote Sensing Lab
> cell: +972-523-665918
>
--
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fiji_temp.R
Type: text/x-r-source
Size: 2572 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-sig-geo/attachments/20220313/a0d67759/attachment.bin>
More information about the R-sig-Geo
mailing list