Skip to content
Back to formatted view

Raw Message

Message-ID: <70f711d6-5964-52bb-3ec1-77c382a577db@gmail.com>
Date: 2022-03-13T15:37:59Z
From: Micha Silver
Subject: Mapping Pacific centered map for Spatial analysis
In-Reply-To: <CAH5tCz0YT-8WfVQKxUUO_Zma-4CrgKMazzYM+ML22p7ArvRAdg@mail.gmail.com>

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 at 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 at gmail.com
>     > PH +679 2960779
>     >
>     >? ? ? ?[[alternative HTML version deleted]]
>     >
>     > _______________________________________________
>     > R-sig-Geo mailing list
>     > R-sig-Geo at 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>