Convert data.frame/SpatialPointsDataFrame to raster

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Convert data.frame/SpatialPointsDataFrame to raster

Miluji Sb
Dear all,

I have georeferenced dataset with multiple variables and years. The data is
at ~100 km (1° × 1°) spatial resolution. I would like to convert this into
a raster.

I have filtered the data for one year and one variable and did the
following;

try <- subset(df, year==2010)
try <- try[,c(1,2,4)]
try$lon <- round(try$lon)
try$lat <- round(try$lat)
r_imp <- rasterFromXYZ(try)

Two issues; is it possible to convert the original dataset with the
multiple variables and years to a raster? If not, how can I avoid rounding
the coordinates? Currently, I get this error "Error in rasterFromXYZ(try) :
x cell sizes are not regular" without rounding.

Any help will be greatly appreciated. Thank you!

Sincerely,

Shouro

## Data
df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
178.501097394651, 178.662722495847, 178.860599151485), lat =
c(-16.1529296875,
-16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
-16.561653799838, -16.6533087696649, -16.7741069281329, -16.914110607613,
-16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
"3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
"9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
2.16767864033646,
2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
c(2.63753852023063,
2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Convert data.frame/SpatialPointsDataFrame to raster

Vijay Lulla
?`rasterFromXYZ` states that "x and y represent spatial coordinates and
must be on a regular grid."  And, it appears to me that you might be losing
values by rounding lon/lat values.  The help file further suggests that
`rasterize` might be the function you're looking for.  List members will
(certainly I will) find it more helpful to propose other solutions if you
post a small reproducible example of your original georeferenced dataset so
that we get an idea of what data you're using.

Sorry, I cannot be of more help.

On Wed, Jul 31, 2019 at 10:45 AM Miluji Sb <[hidden email]> wrote:

> Dear all,
>
> I have georeferenced dataset with multiple variables and years. The data is
> at ~100 km (1° × 1°) spatial resolution. I would like to convert this into
> a raster.
>
> I have filtered the data for one year and one variable and did the
> following;
>
> try <- subset(df, year==2010)
> try <- try[,c(1,2,4)]
> try$lon <- round(try$lon)
> try$lat <- round(try$lat)
> r_imp <- rasterFromXYZ(try)
>
> Two issues; is it possible to convert the original dataset with the
> multiple variables and years to a raster? If not, how can I avoid rounding
> the coordinates? Currently, I get this error "Error in rasterFromXYZ(try) :
> x cell sizes are not regular" without rounding.
>
> Any help will be greatly appreciated. Thank you!
>
> Sincerely,
>
> Shouro
>
> ## Data
> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
> 179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
> 178.501097394651, 178.662722495847, 178.860599151485), lat =
> c(-16.1529296875,
> -16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
> -16.561653799838, -16.6533087696649, -16.7741069281329, -16.914110607613,
> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
> 2.16767864033646,
> 2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
> 2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
> 2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
> c(2.63753852023063,
> 2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
> 3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> [hidden email]
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Convert data.frame/SpatialPointsDataFrame to raster

Miluji Sb
Hello,

Thank you for your kind reply.  Here is a snapshot of the original data. I
had pasted it at the bottom of my first email but forgot to mention it.
Thanks again!

df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
178.501097394651, 178.662722495847, 178.860599151485), lat =
c(-16.1529296875,
-16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
-16.561653799838, -16.6533087696649, -16.7741069281329, -16.914110607613,
-16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
"3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
"9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
2.16767864033646,
2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
c(2.63753852023063,
2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")

Sincerely,

Milu

On Wed, Jul 31, 2019 at 9:20 PM Vijay Lulla <[hidden email]> wrote:

> ?`rasterFromXYZ` states that "x and y represent spatial coordinates and
> must be on a regular grid."  And, it appears to me that you might be losing
> values by rounding lon/lat values.  The help file further suggests that
> `rasterize` might be the function you're looking for.  List members will
> (certainly I will) find it more helpful to propose other solutions if you
> post a small reproducible example of your original georeferenced dataset so
> that we get an idea of what data you're using.
>
> Sorry, I cannot be of more help.
>
> On Wed, Jul 31, 2019 at 10:45 AM Miluji Sb <[hidden email]> wrote:
>
>> Dear all,
>>
>> I have georeferenced dataset with multiple variables and years. The data
>> is
>> at ~100 km (1° × 1°) spatial resolution. I would like to convert this into
>> a raster.
>>
>> I have filtered the data for one year and one variable and did the
>> following;
>>
>> try <- subset(df, year==2010)
>> try <- try[,c(1,2,4)]
>> try$lon <- round(try$lon)
>> try$lat <- round(try$lat)
>> r_imp <- rasterFromXYZ(try)
>>
>> Two issues; is it possible to convert the original dataset with the
>> multiple variables and years to a raster? If not, how can I avoid rounding
>> the coordinates? Currently, I get this error "Error in rasterFromXYZ(try)
>> :
>> x cell sizes are not regular" without rounding.
>>
>> Any help will be greatly appreciated. Thank you!
>>
>> Sincerely,
>>
>> Shouro
>>
>> ## Data
>> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
>> 179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
>> c(-16.1529296875,
>> -16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
>> -16.561653799838, -16.6533087696649, -16.7741069281329, -16.914110607613,
>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
>> 2.16767864033646,
>> 2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
>> 2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
>> 2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
>> c(2.63753852023063,
>> 2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
>> 3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")
>>
>>         [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> [hidden email]
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>
>
>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Convert data.frame/SpatialPointsDataFrame to raster

Vijay Lulla
Hmm...I had seen your data and thought that it was just some sample that
you'd shared.  If this is your whole data then I don't know how to create a
raster from just one row that is returned from subsetting the dataframe.

Sorry for the noise.

On Wed, Jul 31, 2019 at 4:16 PM Miluji Sb <[hidden email]> wrote:

> Hello,
>
> Thank you for your kind reply.  Here is a snapshot of the original data. I
> had pasted it at the bottom of my first email but forgot to mention it.
> Thanks again!
>
> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
> 179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
> 178.501097394651, 178.662722495847, 178.860599151485), lat =
> c(-16.1529296875,
> -16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
> -16.561653799838, -16.6533087696649, -16.7741069281329, -16.914110607613,
> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
> 2.16767864033646,
> 2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
> 2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
> 2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
> c(2.63753852023063,
> 2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
> 3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")
>
> Sincerely,
>
> Milu
>
> On Wed, Jul 31, 2019 at 9:20 PM Vijay Lulla <[hidden email]> wrote:
>
>> ?`rasterFromXYZ` states that "x and y represent spatial coordinates and
>> must be on a regular grid."  And, it appears to me that you might be losing
>> values by rounding lon/lat values.  The help file further suggests that
>> `rasterize` might be the function you're looking for.  List members will
>> (certainly I will) find it more helpful to propose other solutions if you
>> post a small reproducible example of your original georeferenced dataset so
>> that we get an idea of what data you're using.
>>
>> Sorry, I cannot be of more help.
>>
>> On Wed, Jul 31, 2019 at 10:45 AM Miluji Sb <[hidden email]> wrote:
>>
>>> Dear all,
>>>
>>> I have georeferenced dataset with multiple variables and years. The data
>>> is
>>> at ~100 km (1° × 1°) spatial resolution. I would like to convert this
>>> into
>>> a raster.
>>>
>>> I have filtered the data for one year and one variable and did the
>>> following;
>>>
>>> try <- subset(df, year==2010)
>>> try <- try[,c(1,2,4)]
>>> try$lon <- round(try$lon)
>>> try$lat <- round(try$lat)
>>> r_imp <- rasterFromXYZ(try)
>>>
>>> Two issues; is it possible to convert the original dataset with the
>>> multiple variables and years to a raster? If not, how can I avoid
>>> rounding
>>> the coordinates? Currently, I get this error "Error in
>>> rasterFromXYZ(try) :
>>> x cell sizes are not regular" without rounding.
>>>
>>> Any help will be greatly appreciated. Thank you!
>>>
>>> Sincerely,
>>>
>>> Shouro
>>>
>>> ## Data
>>> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
>>> 179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
>>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
>>> c(-16.1529296875,
>>> -16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
>>> -16.561653799838, -16.6533087696649, -16.7741069281329, -16.914110607613,
>>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
>>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
>>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
>>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
>>> 2.16767864033646,
>>> 2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
>>> 2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
>>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
>>> 2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
>>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
>>> c(2.63753852023063,
>>> 2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
>>> 3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
>>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
>>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")
>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-sig-Geo mailing list
>>> [hidden email]
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>
>>
>>
>>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Convert data.frame/SpatialPointsDataFrame to raster

Miluji Sb
Dear Vijay,

Thank you again for your reply. I tried attaching my data for two years and
two variables but the message was rejected. I have saved the data on a
Google Drive folder here
<https://drive.google.com/drive/folders/15LvLysXqIIua8ukkp8UNEnlJMSK6mA1K?usp=sharing>.
Hope this will work. Thanks again!

Sincerely,

Milu

On Thu, Aug 1, 2019 at 9:52 AM Miluji Sb <[hidden email]> wrote:

> Dear Vijay,
>
> Thank you again for your reply. I have attached my data for two years and
> two variables. Hope they will go through, otherwise the files are also
> available here
> <https://drive.google.com/drive/folders/15LvLysXqIIua8ukkp8UNEnlJMSK6mA1K?usp=sharing>.
> Thanks again!
>
> Sincerely,
>
> Milu
>
> On Wed, Jul 31, 2019 at 10:46 PM Vijay Lulla <[hidden email]> wrote:
>
>> Hmm...I had seen your data and thought that it was just some sample that
>> you'd shared.  If this is your whole data then I don't know how to create a
>> raster from just one row that is returned from subsetting the dataframe.
>>
>> Sorry for the noise.
>>
>> On Wed, Jul 31, 2019 at 4:16 PM Miluji Sb <[hidden email]> wrote:
>>
>>> Hello,
>>>
>>> Thank you for your kind reply.  Here is a snapshot of the original data.
>>> I had pasted it at the bottom of my first email but forgot to mention it.
>>> Thanks again!
>>>
>>> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
>>> 179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
>>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
>>> c(-16.1529296875,
>>> -16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
>>> -16.561653799838, -16.6533087696649, -16.7741069281329,
>>> -16.914110607613,
>>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
>>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
>>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
>>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
>>> 2.16767864033646,
>>> 2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
>>> 2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
>>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
>>> 2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
>>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
>>> c(2.63753852023063,
>>> 2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
>>> 3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
>>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
>>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")
>>>
>>> Sincerely,
>>>
>>> Milu
>>>
>>> On Wed, Jul 31, 2019 at 9:20 PM Vijay Lulla <[hidden email]>
>>> wrote:
>>>
>>>> ?`rasterFromXYZ` states that "x and y represent spatial coordinates and
>>>> must be on a regular grid."  And, it appears to me that you might be losing
>>>> values by rounding lon/lat values.  The help file further suggests that
>>>> `rasterize` might be the function you're looking for.  List members will
>>>> (certainly I will) find it more helpful to propose other solutions if you
>>>> post a small reproducible example of your original georeferenced dataset so
>>>> that we get an idea of what data you're using.
>>>>
>>>> Sorry, I cannot be of more help.
>>>>
>>>> On Wed, Jul 31, 2019 at 10:45 AM Miluji Sb <[hidden email]> wrote:
>>>>
>>>>> Dear all,
>>>>>
>>>>> I have georeferenced dataset with multiple variables and years. The
>>>>> data is
>>>>> at ~100 km (1° × 1°) spatial resolution. I would like to convert this
>>>>> into
>>>>> a raster.
>>>>>
>>>>> I have filtered the data for one year and one variable and did the
>>>>> following;
>>>>>
>>>>> try <- subset(df, year==2010)
>>>>> try <- try[,c(1,2,4)]
>>>>> try$lon <- round(try$lon)
>>>>> try$lat <- round(try$lat)
>>>>> r_imp <- rasterFromXYZ(try)
>>>>>
>>>>> Two issues; is it possible to convert the original dataset with the
>>>>> multiple variables and years to a raster? If not, how can I avoid
>>>>> rounding
>>>>> the coordinates? Currently, I get this error "Error in
>>>>> rasterFromXYZ(try) :
>>>>> x cell sizes are not regular" without rounding.
>>>>>
>>>>> Any help will be greatly appreciated. Thank you!
>>>>>
>>>>> Sincerely,
>>>>>
>>>>> Shouro
>>>>>
>>>>> ## Data
>>>>> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
>>>>> 179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
>>>>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
>>>>> c(-16.1529296875,
>>>>> -16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
>>>>> -16.561653799838, -16.6533087696649, -16.7741069281329,
>>>>> -16.914110607613,
>>>>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
>>>>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
>>>>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
>>>>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
>>>>> 2.16767864033646,
>>>>> 2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
>>>>> 2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
>>>>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
>>>>> 2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
>>>>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
>>>>> c(2.63753852023063,
>>>>> 2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
>>>>> 3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
>>>>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
>>>>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")
>>>>>
>>>>>         [[alternative HTML version deleted]]
>>>>>
>>>>> _______________________________________________
>>>>> R-sig-Geo mailing list
>>>>> [hidden email]
>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>>>
>>>>
>>>>
>>>>
>>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Convert data.frame/SpatialPointsDataFrame to raster

Hugo Costa
Dear Milu,

the best I can suggest is something like this.

library(raster)
df<-read.csv("path/to/data/downloaded/from/GoogleDrive")
try <- subset(df, year==2010)

sp<-SpatialPointsDataFrame(try[,1:2],data=try, proj4string =
CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"))

r<-rasterize(sp, y=raster(), field=try$TWL_5, fun=mean, background=NA)
plot(r)

Hope this helps somehow
Good luck
Hugo

Miluji Sb <[hidden email]> escreveu no dia quinta, 1/08/2019 à(s) 09:13:

> Dear Vijay,
>
> Thank you again for your reply. I tried attaching my data for two years and
> two variables but the message was rejected. I have saved the data on a
> Google Drive folder here
> <
> https://drive.google.com/drive/folders/15LvLysXqIIua8ukkp8UNEnlJMSK6mA1K?usp=sharing
> >.
> Hope this will work. Thanks again!
>
> Sincerely,
>
> Milu
>
> On Thu, Aug 1, 2019 at 9:52 AM Miluji Sb <[hidden email]> wrote:
>
> > Dear Vijay,
> >
> > Thank you again for your reply. I have attached my data for two years and
> > two variables. Hope they will go through, otherwise the files are also
> > available here
> > <
> https://drive.google.com/drive/folders/15LvLysXqIIua8ukkp8UNEnlJMSK6mA1K?usp=sharing
> >.
> > Thanks again!
> >
> > Sincerely,
> >
> > Milu
> >
> > On Wed, Jul 31, 2019 at 10:46 PM Vijay Lulla <[hidden email]>
> wrote:
> >
> >> Hmm...I had seen your data and thought that it was just some sample that
> >> you'd shared.  If this is your whole data then I don't know how to
> create a
> >> raster from just one row that is returned from subsetting the dataframe.
> >>
> >> Sorry for the noise.
> >>
> >> On Wed, Jul 31, 2019 at 4:16 PM Miluji Sb <[hidden email]> wrote:
> >>
> >>> Hello,
> >>>
> >>> Thank you for your kind reply.  Here is a snapshot of the original
> data.
> >>> I had pasted it at the bottom of my first email but forgot to mention
> it.
> >>> Thanks again!
> >>>
> >>> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
> >>> 179.311342656601, 179.067616041778, 178.851382109362, 178.648816406322,
> >>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
> >>> c(-16.1529296875,
> >>> -16.21659020822, -16.266117894201, -16.393550535614, -16.4457378034442,
> >>> -16.561653799838, -16.6533087696649, -16.7741069281329,
> >>> -16.914110607613,
> >>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
> >>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
> >>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
> >>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
> >>> 2.16767864033646,
> >>> 2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
> >>> 2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
> >>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
> >>> 2.53057109758284, 2.61391337469939, 2.71040967066483, 2.82546443373866,
> >>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
> >>> c(2.63753852023063,
> >>> 2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
> >>> 3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
> >>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
> >>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class = "data.frame")
> >>>
> >>> Sincerely,
> >>>
> >>> Milu
> >>>
> >>> On Wed, Jul 31, 2019 at 9:20 PM Vijay Lulla <[hidden email]>
> >>> wrote:
> >>>
> >>>> ?`rasterFromXYZ` states that "x and y represent spatial coordinates
> and
> >>>> must be on a regular grid."  And, it appears to me that you might be
> losing
> >>>> values by rounding lon/lat values.  The help file further suggests
> that
> >>>> `rasterize` might be the function you're looking for.  List members
> will
> >>>> (certainly I will) find it more helpful to propose other solutions if
> you
> >>>> post a small reproducible example of your original georeferenced
> dataset so
> >>>> that we get an idea of what data you're using.
> >>>>
> >>>> Sorry, I cannot be of more help.
> >>>>
> >>>> On Wed, Jul 31, 2019 at 10:45 AM Miluji Sb <[hidden email]>
> wrote:
> >>>>
> >>>>> Dear all,
> >>>>>
> >>>>> I have georeferenced dataset with multiple variables and years. The
> >>>>> data is
> >>>>> at ~100 km (1° × 1°) spatial resolution. I would like to convert this
> >>>>> into
> >>>>> a raster.
> >>>>>
> >>>>> I have filtered the data for one year and one variable and did the
> >>>>> following;
> >>>>>
> >>>>> try <- subset(df, year==2010)
> >>>>> try <- try[,c(1,2,4)]
> >>>>> try$lon <- round(try$lon)
> >>>>> try$lat <- round(try$lat)
> >>>>> r_imp <- rasterFromXYZ(try)
> >>>>>
> >>>>> Two issues; is it possible to convert the original dataset with the
> >>>>> multiple variables and years to a raster? If not, how can I avoid
> >>>>> rounding
> >>>>> the coordinates? Currently, I get this error "Error in
> >>>>> rasterFromXYZ(try) :
> >>>>> x cell sizes are not regular" without rounding.
> >>>>>
> >>>>> Any help will be greatly appreciated. Thank you!
> >>>>>
> >>>>> Sincerely,
> >>>>>
> >>>>> Shouro
> >>>>>
> >>>>> ## Data
> >>>>> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
> >>>>> 179.311342656601, 179.067616041778, 178.851382109362,
> 178.648816406322,
> >>>>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
> >>>>> c(-16.1529296875,
> >>>>> -16.21659020822, -16.266117894201, -16.393550535614,
> -16.4457378034442,
> >>>>> -16.561653799838, -16.6533087696649, -16.7741069281329,
> >>>>> -16.914110607613,
> >>>>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
> >>>>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
> >>>>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
> >>>>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
> >>>>> 2.16767864033646,
> >>>>> 2.16881240361846, 2.20727073247015, 2.27771608519709,
> 2.3649601141941,
> >>>>> 2.44210984856767, 2.52466349543977, 2.63982954290745,
> 2.71828906773926
> >>>>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
> >>>>> 2.53057109758284, 2.61391337469939, 2.71040967066483,
> 2.82546443373866,
> >>>>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
> >>>>> c(2.63753852023063,
> >>>>> 2.7080249053612, 2.75483681166049, 2.86893038433795,
> 2.97758282474101,
> >>>>> 3.14541928966618, 3.3986143008625, 3.68043269045659,
> 4.09571655859075,
> >>>>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
> >>>>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class =
> "data.frame")
> >>>>>
> >>>>>         [[alternative HTML version deleted]]
> >>>>>
> >>>>> _______________________________________________
> >>>>> R-sig-Geo mailing list
> >>>>> [hidden email]
> >>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >>>>>
> >>>>
> >>>>
> >>>>
> >>
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> [hidden email]
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Convert data.frame/SpatialPointsDataFrame to raster

Vijay Lulla
I second Hugo's suggestion.  IMO, since your points are not a regular grid
you will be unable to use `rasterXYZ`.  The only thing I would add to
Hugo's answers is that you can set the number of rows/cols that you wish in
your final raster by setting various args in the raster function.
example(rasterize) has some good examples.
HTH,
Vijay.

On Thu, Aug 1, 2019 at 4:44 AM Hugo Costa <[hidden email]> wrote:

> Dear Milu,
>
> the best I can suggest is something like this.
>
> library(raster)
> df<-read.csv("path/to/data/downloaded/from/GoogleDrive")
> try <- subset(df, year==2010)
>
> sp<-SpatialPointsDataFrame(try[,1:2],data=try, proj4string =
> CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"))
>
> r<-rasterize(sp, y=raster(), field=try$TWL_5, fun=mean, background=NA)
> plot(r)
>
> Hope this helps somehow
> Good luck
> Hugo
>
> Miluji Sb <[hidden email]> escreveu no dia quinta, 1/08/2019 à(s)
> 09:13:
>
>> Dear Vijay,
>>
>> Thank you again for your reply. I tried attaching my data for two years
>> and
>> two variables but the message was rejected. I have saved the data on a
>> Google Drive folder here
>> <
>> https://drive.google.com/drive/folders/15LvLysXqIIua8ukkp8UNEnlJMSK6mA1K?usp=sharing
>> >.
>> Hope this will work. Thanks again!
>>
>> Sincerely,
>>
>> Milu
>>
>> On Thu, Aug 1, 2019 at 9:52 AM Miluji Sb <[hidden email]> wrote:
>>
>> > Dear Vijay,
>> >
>> > Thank you again for your reply. I have attached my data for two years
>> and
>> > two variables. Hope they will go through, otherwise the files are also
>> > available here
>> > <
>> https://drive.google.com/drive/folders/15LvLysXqIIua8ukkp8UNEnlJMSK6mA1K?usp=sharing
>> >.
>> > Thanks again!
>> >
>> > Sincerely,
>> >
>> > Milu
>> >
>> > On Wed, Jul 31, 2019 at 10:46 PM Vijay Lulla <[hidden email]>
>> wrote:
>> >
>> >> Hmm...I had seen your data and thought that it was just some sample
>> that
>> >> you'd shared.  If this is your whole data then I don't know how to
>> create a
>> >> raster from just one row that is returned from subsetting the
>> dataframe.
>> >>
>> >> Sorry for the noise.
>> >>
>> >> On Wed, Jul 31, 2019 at 4:16 PM Miluji Sb <[hidden email]> wrote:
>> >>
>> >>> Hello,
>> >>>
>> >>> Thank you for your kind reply.  Here is a snapshot of the original
>> data.
>> >>> I had pasted it at the bottom of my first email but forgot to mention
>> it.
>> >>> Thanks again!
>> >>>
>> >>> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
>> >>> 179.311342656601, 179.067616041778, 178.851382109362,
>> 178.648816406322,
>> >>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
>> >>> c(-16.1529296875,
>> >>> -16.21659020822, -16.266117894201, -16.393550535614,
>> -16.4457378034442,
>> >>> -16.561653799838, -16.6533087696649, -16.7741069281329,
>> >>> -16.914110607613,
>> >>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
>> >>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
>> >>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
>> >>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
>> >>> 2.16767864033646,
>> >>> 2.16881240361846, 2.20727073247015, 2.27771608519709, 2.3649601141941,
>> >>> 2.44210984856767, 2.52466349543977, 2.63982954290745, 2.71828906773926
>> >>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
>> >>> 2.53057109758284, 2.61391337469939, 2.71040967066483,
>> 2.82546443373866,
>> >>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
>> >>> c(2.63753852023063,
>> >>> 2.7080249053612, 2.75483681166049, 2.86893038433795, 2.97758282474101,
>> >>> 3.14541928966618, 3.3986143008625, 3.68043269045659, 4.09571655859075,
>> >>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
>> >>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class =
>> "data.frame")
>> >>>
>> >>> Sincerely,
>> >>>
>> >>> Milu
>> >>>
>> >>> On Wed, Jul 31, 2019 at 9:20 PM Vijay Lulla <[hidden email]>
>> >>> wrote:
>> >>>
>> >>>> ?`rasterFromXYZ` states that "x and y represent spatial coordinates
>> and
>> >>>> must be on a regular grid."  And, it appears to me that you might be
>> losing
>> >>>> values by rounding lon/lat values.  The help file further suggests
>> that
>> >>>> `rasterize` might be the function you're looking for.  List members
>> will
>> >>>> (certainly I will) find it more helpful to propose other solutions
>> if you
>> >>>> post a small reproducible example of your original georeferenced
>> dataset so
>> >>>> that we get an idea of what data you're using.
>> >>>>
>> >>>> Sorry, I cannot be of more help.
>> >>>>
>> >>>> On Wed, Jul 31, 2019 at 10:45 AM Miluji Sb <[hidden email]>
>> wrote:
>> >>>>
>> >>>>> Dear all,
>> >>>>>
>> >>>>> I have georeferenced dataset with multiple variables and years. The
>> >>>>> data is
>> >>>>> at ~100 km (1° × 1°) spatial resolution. I would like to convert
>> this
>> >>>>> into
>> >>>>> a raster.
>> >>>>>
>> >>>>> I have filtered the data for one year and one variable and did the
>> >>>>> following;
>> >>>>>
>> >>>>> try <- subset(df, year==2010)
>> >>>>> try <- try[,c(1,2,4)]
>> >>>>> try$lon <- round(try$lon)
>> >>>>> try$lat <- round(try$lat)
>> >>>>> r_imp <- rasterFromXYZ(try)
>> >>>>>
>> >>>>> Two issues; is it possible to convert the original dataset with the
>> >>>>> multiple variables and years to a raster? If not, how can I avoid
>> >>>>> rounding
>> >>>>> the coordinates? Currently, I get this error "Error in
>> >>>>> rasterFromXYZ(try) :
>> >>>>> x cell sizes are not regular" without rounding.
>> >>>>>
>> >>>>> Any help will be greatly appreciated. Thank you!
>> >>>>>
>> >>>>> Sincerely,
>> >>>>>
>> >>>>> Shouro
>> >>>>>
>> >>>>> ## Data
>> >>>>> df <- structure(list(lon = c(180, 179.762810919291,
>> 179.523658017568,
>> >>>>> 179.311342656601, 179.067616041778, 178.851382109362,
>> 178.648816406322,
>> >>>>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
>> >>>>> c(-16.1529296875,
>> >>>>> -16.21659020822, -16.266117894201, -16.393550535614,
>> -16.4457378034442,
>> >>>>> -16.561653799838, -16.6533087696649, -16.7741069281329,
>> >>>>> -16.914110607613,
>> >>>>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
>> >>>>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
>> >>>>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
>> >>>>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
>> >>>>> 2.16767864033646,
>> >>>>> 2.16881240361846, 2.20727073247015, 2.27771608519709,
>> 2.3649601141941,
>> >>>>> 2.44210984856767, 2.52466349543977, 2.63982954290745,
>> 2.71828906773926
>> >>>>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
>> >>>>> 2.53057109758284, 2.61391337469939, 2.71040967066483,
>> 2.82546443373866,
>> >>>>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
>> >>>>> c(2.63753852023063,
>> >>>>> 2.7080249053612, 2.75483681166049, 2.86893038433795,
>> 2.97758282474101,
>> >>>>> 3.14541928966618, 3.3986143008625, 3.68043269045659,
>> 4.09571655859075,
>> >>>>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
>> >>>>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class =
>> "data.frame")
>> >>>>>
>> >>>>>         [[alternative HTML version deleted]]
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> R-sig-Geo mailing list
>> >>>>> [hidden email]
>> >>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>> >>>>>
>> >>>>
>> >>>>
>> >>>>
>> >>
>>
>>         [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> [hidden email]
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Convert data.frame/SpatialPointsDataFrame to raster

Miluji Sb
Dear Vijay and Hugo,

Thank you very much for your help. I will look into setting the number
row/cols!

Sincerely,

Milu

On Thu, Aug 1, 2019 at 5:12 PM Vijay Lulla <[hidden email]> wrote:

> I second Hugo's suggestion.  IMO, since your points are not a regular grid
> you will be unable to use `rasterXYZ`.  The only thing I would add to
> Hugo's answers is that you can set the number of rows/cols that you wish in
> your final raster by setting various args in the raster function.
> example(rasterize) has some good examples.
> HTH,
> Vijay.
>
> On Thu, Aug 1, 2019 at 4:44 AM Hugo Costa <[hidden email]> wrote:
>
>> Dear Milu,
>>
>> the best I can suggest is something like this.
>>
>> library(raster)
>> df<-read.csv("path/to/data/downloaded/from/GoogleDrive")
>> try <- subset(df, year==2010)
>>
>> sp<-SpatialPointsDataFrame(try[,1:2],data=try, proj4string =
>> CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"))
>>
>> r<-rasterize(sp, y=raster(), field=try$TWL_5, fun=mean, background=NA)
>> plot(r)
>>
>> Hope this helps somehow
>> Good luck
>> Hugo
>>
>> Miluji Sb <[hidden email]> escreveu no dia quinta, 1/08/2019 à(s)
>> 09:13:
>>
>>> Dear Vijay,
>>>
>>> Thank you again for your reply. I tried attaching my data for two years
>>> and
>>> two variables but the message was rejected. I have saved the data on a
>>> Google Drive folder here
>>> <
>>> https://drive.google.com/drive/folders/15LvLysXqIIua8ukkp8UNEnlJMSK6mA1K?usp=sharing
>>> >.
>>> Hope this will work. Thanks again!
>>>
>>> Sincerely,
>>>
>>> Milu
>>>
>>> On Thu, Aug 1, 2019 at 9:52 AM Miluji Sb <[hidden email]> wrote:
>>>
>>> > Dear Vijay,
>>> >
>>> > Thank you again for your reply. I have attached my data for two years
>>> and
>>> > two variables. Hope they will go through, otherwise the files are also
>>> > available here
>>> > <
>>> https://drive.google.com/drive/folders/15LvLysXqIIua8ukkp8UNEnlJMSK6mA1K?usp=sharing
>>> >.
>>> > Thanks again!
>>> >
>>> > Sincerely,
>>> >
>>> > Milu
>>> >
>>> > On Wed, Jul 31, 2019 at 10:46 PM Vijay Lulla <[hidden email]>
>>> wrote:
>>> >
>>> >> Hmm...I had seen your data and thought that it was just some sample
>>> that
>>> >> you'd shared.  If this is your whole data then I don't know how to
>>> create a
>>> >> raster from just one row that is returned from subsetting the
>>> dataframe.
>>> >>
>>> >> Sorry for the noise.
>>> >>
>>> >> On Wed, Jul 31, 2019 at 4:16 PM Miluji Sb <[hidden email]> wrote:
>>> >>
>>> >>> Hello,
>>> >>>
>>> >>> Thank you for your kind reply.  Here is a snapshot of the original
>>> data.
>>> >>> I had pasted it at the bottom of my first email but forgot to
>>> mention it.
>>> >>> Thanks again!
>>> >>>
>>> >>> df <- structure(list(lon = c(180, 179.762810919291, 179.523658017568,
>>> >>> 179.311342656601, 179.067616041778, 178.851382109362,
>>> 178.648816406322,
>>> >>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
>>> >>> c(-16.1529296875,
>>> >>> -16.21659020822, -16.266117894201, -16.393550535614,
>>> -16.4457378034442,
>>> >>> -16.561653799838, -16.6533087696649, -16.7741069281329,
>>> >>> -16.914110607613,
>>> >>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
>>> >>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
>>> >>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
>>> >>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
>>> >>> 2.16767864033646,
>>> >>> 2.16881240361846, 2.20727073247015, 2.27771608519709,
>>> 2.3649601141941,
>>> >>> 2.44210984856767, 2.52466349543977, 2.63982954290745,
>>> 2.71828906773926
>>> >>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
>>> >>> 2.53057109758284, 2.61391337469939, 2.71040967066483,
>>> 2.82546443373866,
>>> >>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
>>> >>> c(2.63753852023063,
>>> >>> 2.7080249053612, 2.75483681166049, 2.86893038433795,
>>> 2.97758282474101,
>>> >>> 3.14541928966618, 3.3986143008625, 3.68043269045659,
>>> 4.09571655859075,
>>> >>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
>>> >>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class =
>>> "data.frame")
>>> >>>
>>> >>> Sincerely,
>>> >>>
>>> >>> Milu
>>> >>>
>>> >>> On Wed, Jul 31, 2019 at 9:20 PM Vijay Lulla <[hidden email]>
>>> >>> wrote:
>>> >>>
>>> >>>> ?`rasterFromXYZ` states that "x and y represent spatial coordinates
>>> and
>>> >>>> must be on a regular grid."  And, it appears to me that you might
>>> be losing
>>> >>>> values by rounding lon/lat values.  The help file further suggests
>>> that
>>> >>>> `rasterize` might be the function you're looking for.  List members
>>> will
>>> >>>> (certainly I will) find it more helpful to propose other solutions
>>> if you
>>> >>>> post a small reproducible example of your original georeferenced
>>> dataset so
>>> >>>> that we get an idea of what data you're using.
>>> >>>>
>>> >>>> Sorry, I cannot be of more help.
>>> >>>>
>>> >>>> On Wed, Jul 31, 2019 at 10:45 AM Miluji Sb <[hidden email]>
>>> wrote:
>>> >>>>
>>> >>>>> Dear all,
>>> >>>>>
>>> >>>>> I have georeferenced dataset with multiple variables and years. The
>>> >>>>> data is
>>> >>>>> at ~100 km (1° × 1°) spatial resolution. I would like to convert
>>> this
>>> >>>>> into
>>> >>>>> a raster.
>>> >>>>>
>>> >>>>> I have filtered the data for one year and one variable and did the
>>> >>>>> following;
>>> >>>>>
>>> >>>>> try <- subset(df, year==2010)
>>> >>>>> try <- try[,c(1,2,4)]
>>> >>>>> try$lon <- round(try$lon)
>>> >>>>> try$lat <- round(try$lat)
>>> >>>>> r_imp <- rasterFromXYZ(try)
>>> >>>>>
>>> >>>>> Two issues; is it possible to convert the original dataset with the
>>> >>>>> multiple variables and years to a raster? If not, how can I avoid
>>> >>>>> rounding
>>> >>>>> the coordinates? Currently, I get this error "Error in
>>> >>>>> rasterFromXYZ(try) :
>>> >>>>> x cell sizes are not regular" without rounding.
>>> >>>>>
>>> >>>>> Any help will be greatly appreciated. Thank you!
>>> >>>>>
>>> >>>>> Sincerely,
>>> >>>>>
>>> >>>>> Shouro
>>> >>>>>
>>> >>>>> ## Data
>>> >>>>> df <- structure(list(lon = c(180, 179.762810919291,
>>> 179.523658017568,
>>> >>>>> 179.311342656601, 179.067616041778, 178.851382109362,
>>> 178.648816406322,
>>> >>>>> 178.501097394651, 178.662722495847, 178.860599151485), lat =
>>> >>>>> c(-16.1529296875,
>>> >>>>> -16.21659020822, -16.266117894201, -16.393550535614,
>>> -16.4457378034442,
>>> >>>>> -16.561653799838, -16.6533087696649, -16.7741069281329,
>>> >>>>> -16.914110607613,
>>> >>>>> -16.9049389730284), nsdec = structure(c(1L, 3L, 4L, 5L, 6L, 7L,
>>> >>>>> 8L, 9L, 10L, 2L), .Label = c("1 of 10", "10 of 10", "2 of 10",
>>> >>>>> "3 of 10", "4 of 10", "5 of 10", "6 of 10", "7 of 10", "8 of 10",
>>> >>>>> "9 of 10"), class = "factor"), TWL_5 = c(2.13810426616849,
>>> >>>>> 2.16767864033646,
>>> >>>>> 2.16881240361846, 2.20727073247015, 2.27771608519709,
>>> 2.3649601141941,
>>> >>>>> 2.44210984856767, 2.52466349543977, 2.63982954290745,
>>> 2.71828906773926
>>> >>>>> ), TWL_50 = c(2.38302354555823, 2.43142793944275, 2.45733044901087,
>>> >>>>> 2.53057109758284, 2.61391337469939, 2.71040967066483,
>>> 2.82546443373866,
>>> >>>>> 2.9709907727849, 3.1785797371187, 3.33227647990861), TWL_95 =
>>> >>>>> c(2.63753852023063,
>>> >>>>> 2.7080249053612, 2.75483681166049, 2.86893038433795,
>>> 2.97758282474101,
>>> >>>>> 3.14541928966618, 3.3986143008625, 3.68043269045659,
>>> 4.09571655859075,
>>> >>>>> 4.57299670034984), year = c(2010, 2020, 2030, 2040, 2050, 2060,
>>> >>>>> 2070, 2080, 2090, 2100)), row.names = c(NA, 10L), class =
>>> "data.frame")
>>> >>>>>
>>> >>>>>         [[alternative HTML version deleted]]
>>> >>>>>
>>> >>>>> _______________________________________________
>>> >>>>> R-sig-Geo mailing list
>>> >>>>> [hidden email]
>>> >>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>
>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-sig-Geo mailing list
>>> [hidden email]
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>
>>
>
>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo