Re: [R-sig-Geo] BIG DATABASE

2018-05-25 Thread Javier Moreira
Thanks so much!

El vie., 25 may. 2018 9:51, Roger Bivand  escribió:

> On Fri, 25 May 2018, Javier Moreira wrote:
>
> > Can I use this answer to ask exactly for what it's mentioned.
> > R and Postgis mostly for Easter files.
> > Can you point books, online courses, tutorials, GitHub pages, anything,
> to
> > better understand this?
> > I had been struggling to find info.
>
> For rpostgis, see:
>
> https://journal.r-project.org/archive/2018/RJ-2018-025/index.html
>
> and the supplementary material linked there to replicate the results in
> the online article (should be in the 2018-1 issue).
>
> Roger
>
> >
> > Thanks!
> >
> > El vie., 25 may. 2018 1:35, Tom Philippi 
> escribió:
> >
> >> What Roger said (as always).
> >>
> >> Note that if you use tidyverse and magrittr, dplyr and tidyverse tools
> work
> >> well with databases via DBI.  sqldf also works with multiple SQL
> database
> >> backends if you're an ol dog like me and don't use tidyverse much.
> >>
> >> Also, since this is r-sig-*GEO*, note that postgreSQL has postGIS for
> >> spatial data, which does far more than the automatic tiling of large
> >> rasters in package raster.  I'm seeing wonderful performance working
> with a
> >> 340M observation >100GB dataset of bird observation data in R via
> postGIS,
> >> even with "only" 32GB RAM and constrained to running win7, not
> linux/unix.
> >>
> >> One alternative is that if your database is running on massive hardware
> >> (tons of memory, many cores, etc.), it is possible to run R within both
> >> postgreSQL and now MS SQL Server, the first free, the second an
> additional
> >> cost add-on, and both usually at the cost of painful negotiations with
> DA
> >> administrators for permissions to run your ad hoc R code on their SQL
> >> server.  If you have the hardware, you can even run R with hadoop,
> although
> >> I've never done that with spatial data.
> >>
> >> Tom 0
> >>
> >>
> >> On Thu, May 24, 2018 at 5:04 AM, Roger Bivand 
> wrote:
> >>
> >>> On Thu, 24 May 2018, Yaya Bamba wrote:
> >>>
> >>> Thanks to all of you. I will try with the package  RMySQL and see.
> 
> >>>
> >>> Maybe look more generally through the packages depending on and
> importing
> >>> from DBI (https://cran.r-project.org/package=DBI) to see what is
> >>> available - there are many more than RMySQL.
> >>>
> >>> and use the Official Statistics and HPC Task Views:
> >>>
> >>> https://cran.r-project.org/view=OfficialStatistics
> >>>
> >>> https://cran.r-project.org/view=HighPerformanceComputing
> >>>
> >>> to see how typical workflows (not necessarily DB-based) can be handled.
> >>> The HPC TV has a section on large memory and out-of-memory approaches.
> If
> >>> your data are spatial in raster format, the raster package provides
> some
> >>> out-of-memory functionality. In sf, spatial vector data may be read
> from
> >>> databases too.
> >>>
> >>> Roger
> >>>
> >>>
> >>>
>  2018-05-24 11:33 GMT+00:00 Andres Diaz Loaiza :
> 
>  Hello Yaya,
> >
> > Many years ago I work with a database in MySQL connected to R through
> >> the
> > package RMySQL​. The data was stored in the MySQL and I was
> connecting
> > and
> > using the data from R
> >
> > you should have a look in:
> >
> > https://cran.r-project.org/web/packages/RMySQL/index.html
> >
> > Cheers,
> >
> > Andres
> >
> >
> 
> 
> 
> 
> >>> --
> >>> Roger Bivand
> >>> Department of Economics, Norwegian School of Economics,
> >>> Helleveien 30, N-5045 Bergen, Norway.
> >>> voice: +47 55 95 93 55; e-mail: roger.biv...@nhh.no
> >>> http://orcid.org/-0003-2392-6140
> >>> https://scholar.google.no/citations?user=AWeghB0J=en
> >>> ___
> >>> R-sig-Geo mailing list
> >>> R-sig-Geo@r-project.org
> >>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >>>
> >>>
> >>
> >> [[alternative HTML version deleted]]
> >>
> >> ___
> >> R-sig-Geo mailing list
> >> R-sig-Geo@r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >>
> >
> >   [[alternative HTML version deleted]]
> >
> > ___
> > R-sig-Geo mailing list
> > R-sig-Geo@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
>
> --
> Roger Bivand
> Department of Economics, Norwegian School of Economics,
> Helleveien 30, N-5045 Bergen, Norway.
> voice: +47 55 95 93 55; e-mail: roger.biv...@nhh.no
> http://orcid.org/-0003-2392-6140
> https://scholar.google.no/citations?user=AWeghB0J=en

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] raster::clump not working?

2018-05-25 Thread João Carreiras
Dear Mike,

great and many thanks as this is exactly what I was after.

Cheers
Joao

On 25 May 2018 at 12:58, Michael Sumner  wrote:
> Joao, this is what you are after I think.  It's important to use
> sf/fasterize otherwise any holes filled by other patches won't be identified
> (and it's faster). It won't scale well given rasterToPolygons, but there
> might be other options using sf related tricks.
>
> library(raster)
> r <- raster(volcano) %/% 20
> ## p has six distinct values (multipolygons)
> p <- rasterToPolygons(r, dissolve = TRUE)
> ## pp has ten distinct patches
> pp <- disaggregate(p)
> pp$patch <- seq_len(nrow(pp))
>
> ## back to raster
> #rr <- rasterize(pp, r, field = pp$patch)
> # or faster with sf/fasterize (also this gets the holes filled correctly)
> rr <- fasterize::fasterize(sf::st_as_sf(pp), r, field = "patch")
> unique(values(rr))
>
> Cheers, Mike.
>
>
> On Fri, 25 May 2018 at 21:15 João Carreiras  wrote:
>>
>> Dear Ben,
>>
>> Thank you for your prompt reply.
>>
>> Now I see what clump does. I just thought clump would give the same
>> result as ArcGIS "Region Group". I need some command to assign a
>> different value to each patch. And by patch I mean contiguous pixels
>> having the same value, so that in this (absurd) example I would get
>> 648 patches.
>>
>> Take care
>> Joao
>>
>> On 25 May 2018 at 11:35, Ben Tupper  wrote:
>> > Hi,
>> >
>> > I think it is actually correct - there is only one 'clump' of connected
>> > cells.  In raster clumps are separated from other clumps by backgound (0
>> > or
>> > NA).  In your example there is no background anywhere so there is just
>> > one
>> > clump.
>> >
>> > You can see the difference if you divide x in to halves with a row of
>> > NAs.
>> > Note that limited spatial extent so the clumping doesn't wrap around the
>> > globe which it will for [-180, 180].
>> >
>> > r <- raster(ncols=36, nrows=18, xmn = 0, xmx = 36, ymn = 0, ymx = 18)
>> > x <- init(r, fun='cell')
>> >
>> > x[9,1:36] <- NA
>> > y <- clump(x)
>> > y
>> > # class   : RasterLayer
>> > # dimensions  : 18, 36, 648  (nrow, ncol, ncell)
>> > # resolution  : 1, 1  (x, y)
>> > # extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
>> > # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
>> > # data source : in memory
>> > # names   : clumps
>> > # values  : 1, 2  (min, max)
>> >
>> > x[1:18, 18] <- NA
>> > y
>> > # class   : RasterLayer
>> > # dimensions  : 18, 36, 648  (nrow, ncol, ncell)
>> > # resolution  : 1, 1  (x, y)
>> > # extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
>> > # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
>> > # data source : in memory
>> > # names   : clumps
>> > # values  : 1, 4  (min, max)
>> >
>> >
>> > Cheers,
>> > Ben
>> >
>> >
>> > On May 25, 2018, at 6:00 AM, João Carreiras 
>> > wrote:
>> >
>> > Hi!
>> >
>> > I've been trying to run the clump command but the output is consistently
>> > a
>> > raster with values == 1. Please find below an example.
>> >
>> > I'm sure I'm doing something stupid. However, the command is really
>> > straightforward and I can't seem to identify what the problem might be.
>> >
>> > Any help really appreciated.
>> > Thanks
>> > Joao
>> >
>> > r <- raster(ncols=36, nrows=18)
>> > x <- init(r, fun='cell')
>> > x
>> > class   : RasterLayer
>> > dimensions  : 18, 36, 648  (nrow, ncol, ncell)
>> > resolution  : 10, 10  (x, y)
>> > extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
>> > coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
>> > data source : in memory
>> > names   : layer
>> > values  : 1, 648  (min, max)
>> > a <- clump(x)
>> > a
>> > class   : RasterLayer
>> > dimensions  : 18, 36, 648  (nrow, ncol, ncell)
>> > resolution  : 10, 10  (x, y)
>> > extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
>> > coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
>> > data source : in memory
>> > names   : clumps
>> > values  : 1, 1  (min, max)
>> >
>> > ___
>> > R-sig-Geo mailing list
>> > R-sig-Geo@r-project.org
>> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>> >
>> >
>> > Ben Tupper
>> > Bigelow Laboratory for Ocean Sciences
>> > 60 Bigelow Drive, P.O. Box 380
>> > East Boothbay, Maine 04544
>> > http://www.bigelow.org
>> >
>> > Ecological Forecasting: https://eco.bigelow.org/
>> >
>> >
>> >
>> >
>> >
>>
>> ___
>> R-sig-Geo mailing list
>> R-sig-Geo@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
> --
> Dr. Michael Sumner
> Software and Database Engineer
> Australian Antarctic Division
> 203 Channel Highway
> Kingston Tasmania 7050 Australia
>

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org

Re: [R-sig-Geo] BIG DATABASE

2018-05-25 Thread Roger Bivand

On Fri, 25 May 2018, Javier Moreira wrote:


Can I use this answer to ask exactly for what it's mentioned.
R and Postgis mostly for Easter files.
Can you point books, online courses, tutorials, GitHub pages, anything, to
better understand this?
I had been struggling to find info.


For rpostgis, see:

https://journal.r-project.org/archive/2018/RJ-2018-025/index.html

and the supplementary material linked there to replicate the results in 
the online article (should be in the 2018-1 issue).


Roger



Thanks!

El vie., 25 may. 2018 1:35, Tom Philippi  escribió:


What Roger said (as always).

Note that if you use tidyverse and magrittr, dplyr and tidyverse tools work
well with databases via DBI.  sqldf also works with multiple SQL database
backends if you're an ol dog like me and don't use tidyverse much.

Also, since this is r-sig-*GEO*, note that postgreSQL has postGIS for
spatial data, which does far more than the automatic tiling of large
rasters in package raster.  I'm seeing wonderful performance working with a
340M observation >100GB dataset of bird observation data in R via postGIS,
even with "only" 32GB RAM and constrained to running win7, not linux/unix.

One alternative is that if your database is running on massive hardware
(tons of memory, many cores, etc.), it is possible to run R within both
postgreSQL and now MS SQL Server, the first free, the second an additional
cost add-on, and both usually at the cost of painful negotiations with DA
administrators for permissions to run your ad hoc R code on their SQL
server.  If you have the hardware, you can even run R with hadoop, although
I've never done that with spatial data.

Tom 0


On Thu, May 24, 2018 at 5:04 AM, Roger Bivand  wrote:


On Thu, 24 May 2018, Yaya Bamba wrote:

Thanks to all of you. I will try with the package  RMySQL and see.




Maybe look more generally through the packages depending on and importing
from DBI (https://cran.r-project.org/package=DBI) to see what is
available - there are many more than RMySQL.

and use the Official Statistics and HPC Task Views:

https://cran.r-project.org/view=OfficialStatistics

https://cran.r-project.org/view=HighPerformanceComputing

to see how typical workflows (not necessarily DB-based) can be handled.
The HPC TV has a section on large memory and out-of-memory approaches. If
your data are spatial in raster format, the raster package provides some
out-of-memory functionality. In sf, spatial vector data may be read from
databases too.

Roger




2018-05-24 11:33 GMT+00:00 Andres Diaz Loaiza :

Hello Yaya,


Many years ago I work with a database in MySQL connected to R through

the

package RMySQL​. The data was stored in the MySQL and I was connecting
and
using the data from R

you should have a look in:

https://cran.r-project.org/web/packages/RMySQL/index.html

Cheers,

Andres








--
Roger Bivand
Department of Economics, Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; e-mail: roger.biv...@nhh.no
http://orcid.org/-0003-2392-6140
https://scholar.google.no/citations?user=AWeghB0J=en
___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo




[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo



[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo



--
Roger Bivand
Department of Economics, Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; e-mail: roger.biv...@nhh.no
http://orcid.org/-0003-2392-6140
https://scholar.google.no/citations?user=AWeghB0J=en___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] BIG DATABASE

2018-05-25 Thread Javier Moreira
Can I use this answer to ask exactly for what it's mentioned.
R and Postgis mostly for Easter files.
Can you point books, online courses, tutorials, GitHub pages, anything, to
better understand this?
I had been struggling to find info.

Thanks!

El vie., 25 may. 2018 1:35, Tom Philippi  escribió:

> What Roger said (as always).
>
> Note that if you use tidyverse and magrittr, dplyr and tidyverse tools work
> well with databases via DBI.  sqldf also works with multiple SQL database
> backends if you're an ol dog like me and don't use tidyverse much.
>
> Also, since this is r-sig-*GEO*, note that postgreSQL has postGIS for
> spatial data, which does far more than the automatic tiling of large
> rasters in package raster.  I'm seeing wonderful performance working with a
> 340M observation >100GB dataset of bird observation data in R via postGIS,
> even with "only" 32GB RAM and constrained to running win7, not linux/unix.
>
> One alternative is that if your database is running on massive hardware
> (tons of memory, many cores, etc.), it is possible to run R within both
> postgreSQL and now MS SQL Server, the first free, the second an additional
> cost add-on, and both usually at the cost of painful negotiations with DA
> administrators for permissions to run your ad hoc R code on their SQL
> server.  If you have the hardware, you can even run R with hadoop, although
> I've never done that with spatial data.
>
> Tom 0
>
>
> On Thu, May 24, 2018 at 5:04 AM, Roger Bivand  wrote:
>
> > On Thu, 24 May 2018, Yaya Bamba wrote:
> >
> > Thanks to all of you. I will try with the package  RMySQL and see.
> >>
> >
> > Maybe look more generally through the packages depending on and importing
> > from DBI (https://cran.r-project.org/package=DBI) to see what is
> > available - there are many more than RMySQL.
> >
> > and use the Official Statistics and HPC Task Views:
> >
> > https://cran.r-project.org/view=OfficialStatistics
> >
> > https://cran.r-project.org/view=HighPerformanceComputing
> >
> > to see how typical workflows (not necessarily DB-based) can be handled.
> > The HPC TV has a section on large memory and out-of-memory approaches. If
> > your data are spatial in raster format, the raster package provides some
> > out-of-memory functionality. In sf, spatial vector data may be read from
> > databases too.
> >
> > Roger
> >
> >
> >
> >> 2018-05-24 11:33 GMT+00:00 Andres Diaz Loaiza :
> >>
> >> Hello Yaya,
> >>>
> >>> Many years ago I work with a database in MySQL connected to R through
> the
> >>> package RMySQL​. The data was stored in the MySQL and I was connecting
> >>> and
> >>> using the data from R
> >>>
> >>> you should have a look in:
> >>>
> >>> https://cran.r-project.org/web/packages/RMySQL/index.html
> >>>
> >>> Cheers,
> >>>
> >>> Andres
> >>>
> >>>
> >>
> >>
> >>
> >>
> > --
> > Roger Bivand
> > Department of Economics, Norwegian School of Economics,
> > Helleveien 30, N-5045 Bergen, Norway.
> > voice: +47 55 95 93 55; e-mail: roger.biv...@nhh.no
> > http://orcid.org/-0003-2392-6140
> > https://scholar.google.no/citations?user=AWeghB0J=en
> > ___
> > R-sig-Geo mailing list
> > R-sig-Geo@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
> >
>
> [[alternative HTML version deleted]]
>
> ___
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] raster::clump not working?

2018-05-25 Thread Michael Treglia
Check out SDMTools::ConnCompLabel
I think that will get you what you're after.

Hope that helps!
Mike


Please pardon any typos, this message was sent from a mobile device.

On Fri, May 25, 2018, 7:15 AM João Carreiras  wrote:

> Dear Ben,
>
> Thank you for your prompt reply.
>
> Now I see what clump does. I just thought clump would give the same
> result as ArcGIS "Region Group". I need some command to assign a
> different value to each patch. And by patch I mean contiguous pixels
> having the same value, so that in this (absurd) example I would get
> 648 patches.
>
> Take care
> Joao
>
> On 25 May 2018 at 11:35, Ben Tupper  wrote:
> > Hi,
> >
> > I think it is actually correct - there is only one 'clump' of connected
> > cells.  In raster clumps are separated from other clumps by backgound (0
> or
> > NA).  In your example there is no background anywhere so there is just
> one
> > clump.
> >
> > You can see the difference if you divide x in to halves with a row of
> NAs.
> > Note that limited spatial extent so the clumping doesn't wrap around the
> > globe which it will for [-180, 180].
> >
> > r <- raster(ncols=36, nrows=18, xmn = 0, xmx = 36, ymn = 0, ymx = 18)
> > x <- init(r, fun='cell')
> >
> > x[9,1:36] <- NA
> > y <- clump(x)
> > y
> > # class   : RasterLayer
> > # dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> > # resolution  : 1, 1  (x, y)
> > # extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
> > # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> > # data source : in memory
> > # names   : clumps
> > # values  : 1, 2  (min, max)
> >
> > x[1:18, 18] <- NA
> > y
> > # class   : RasterLayer
> > # dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> > # resolution  : 1, 1  (x, y)
> > # extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
> > # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> > # data source : in memory
> > # names   : clumps
> > # values  : 1, 4  (min, max)
> >
> >
> > Cheers,
> > Ben
> >
> >
> > On May 25, 2018, at 6:00 AM, João Carreiras 
> wrote:
> >
> > Hi!
> >
> > I've been trying to run the clump command but the output is consistently
> a
> > raster with values == 1. Please find below an example.
> >
> > I'm sure I'm doing something stupid. However, the command is really
> > straightforward and I can't seem to identify what the problem might be.
> >
> > Any help really appreciated.
> > Thanks
> > Joao
> >
> > r <- raster(ncols=36, nrows=18)
> > x <- init(r, fun='cell')
> > x
> > class   : RasterLayer
> > dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> > resolution  : 10, 10  (x, y)
> > extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> > coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> > data source : in memory
> > names   : layer
> > values  : 1, 648  (min, max)
> > a <- clump(x)
> > a
> > class   : RasterLayer
> > dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> > resolution  : 10, 10  (x, y)
> > extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> > coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> > data source : in memory
> > names   : clumps
> > values  : 1, 1  (min, max)
> >
> > ___
> > R-sig-Geo mailing list
> > R-sig-Geo@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
> >
> > Ben Tupper
> > Bigelow Laboratory for Ocean Sciences
> > 60 Bigelow Drive, P.O. Box 380
> > East Boothbay, Maine 04544
> > http://www.bigelow.org
> >
> > Ecological Forecasting: https://eco.bigelow.org/
> >
> >
> >
> >
> >
>
> ___
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] raster::clump not working?

2018-05-25 Thread Michael Sumner
Joao, this is what you are after I think.  It's important to use
sf/fasterize otherwise any holes filled by other patches won't be
identified (and it's faster). It won't scale well given rasterToPolygons,
but there might be other options using sf related tricks.

library(raster)
r <- raster(volcano) %/% 20
## p has six distinct values (multipolygons)
p <- rasterToPolygons(r, dissolve = TRUE)
## pp has ten distinct patches
pp <- disaggregate(p)
pp$patch <- seq_len(nrow(pp))

## back to raster
#rr <- rasterize(pp, r, field = pp$patch)
# or faster with sf/fasterize (also this gets the holes filled correctly)
rr <- fasterize::fasterize(sf::st_as_sf(pp), r, field = "patch")
unique(values(rr))

Cheers, Mike.


On Fri, 25 May 2018 at 21:15 João Carreiras  wrote:

> Dear Ben,
>
> Thank you for your prompt reply.
>
> Now I see what clump does. I just thought clump would give the same
> result as ArcGIS "Region Group". I need some command to assign a
> different value to each patch. And by patch I mean contiguous pixels
> having the same value, so that in this (absurd) example I would get
> 648 patches.
>
> Take care
> Joao
>
> On 25 May 2018 at 11:35, Ben Tupper  wrote:
> > Hi,
> >
> > I think it is actually correct - there is only one 'clump' of connected
> > cells.  In raster clumps are separated from other clumps by backgound (0
> or
> > NA).  In your example there is no background anywhere so there is just
> one
> > clump.
> >
> > You can see the difference if you divide x in to halves with a row of
> NAs.
> > Note that limited spatial extent so the clumping doesn't wrap around the
> > globe which it will for [-180, 180].
> >
> > r <- raster(ncols=36, nrows=18, xmn = 0, xmx = 36, ymn = 0, ymx = 18)
> > x <- init(r, fun='cell')
> >
> > x[9,1:36] <- NA
> > y <- clump(x)
> > y
> > # class   : RasterLayer
> > # dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> > # resolution  : 1, 1  (x, y)
> > # extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
> > # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> > # data source : in memory
> > # names   : clumps
> > # values  : 1, 2  (min, max)
> >
> > x[1:18, 18] <- NA
> > y
> > # class   : RasterLayer
> > # dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> > # resolution  : 1, 1  (x, y)
> > # extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
> > # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> > # data source : in memory
> > # names   : clumps
> > # values  : 1, 4  (min, max)
> >
> >
> > Cheers,
> > Ben
> >
> >
> > On May 25, 2018, at 6:00 AM, João Carreiras 
> wrote:
> >
> > Hi!
> >
> > I've been trying to run the clump command but the output is consistently
> a
> > raster with values == 1. Please find below an example.
> >
> > I'm sure I'm doing something stupid. However, the command is really
> > straightforward and I can't seem to identify what the problem might be.
> >
> > Any help really appreciated.
> > Thanks
> > Joao
> >
> > r <- raster(ncols=36, nrows=18)
> > x <- init(r, fun='cell')
> > x
> > class   : RasterLayer
> > dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> > resolution  : 10, 10  (x, y)
> > extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> > coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> > data source : in memory
> > names   : layer
> > values  : 1, 648  (min, max)
> > a <- clump(x)
> > a
> > class   : RasterLayer
> > dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> > resolution  : 10, 10  (x, y)
> > extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> > coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> > data source : in memory
> > names   : clumps
> > values  : 1, 1  (min, max)
> >
> > ___
> > R-sig-Geo mailing list
> > R-sig-Geo@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
> >
> > Ben Tupper
> > Bigelow Laboratory for Ocean Sciences
> > 60 Bigelow Drive, P.O. Box 380
> > East Boothbay, Maine 04544
> > http://www.bigelow.org
> >
> > Ecological Forecasting: https://eco.bigelow.org/
> >
> >
> >
> >
> >
>
> ___
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
-- 
Dr. Michael Sumner
Software and Database Engineer
Australian Antarctic Division
203 Channel Highway
Kingston Tasmania 7050 Australia

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] raster::clump not working?

2018-05-25 Thread João Carreiras
Dear Ben,

Thank you for your prompt reply.

Now I see what clump does. I just thought clump would give the same
result as ArcGIS "Region Group". I need some command to assign a
different value to each patch. And by patch I mean contiguous pixels
having the same value, so that in this (absurd) example I would get
648 patches.

Take care
Joao

On 25 May 2018 at 11:35, Ben Tupper  wrote:
> Hi,
>
> I think it is actually correct - there is only one 'clump' of connected
> cells.  In raster clumps are separated from other clumps by backgound (0 or
> NA).  In your example there is no background anywhere so there is just one
> clump.
>
> You can see the difference if you divide x in to halves with a row of NAs.
> Note that limited spatial extent so the clumping doesn't wrap around the
> globe which it will for [-180, 180].
>
> r <- raster(ncols=36, nrows=18, xmn = 0, xmx = 36, ymn = 0, ymx = 18)
> x <- init(r, fun='cell')
>
> x[9,1:36] <- NA
> y <- clump(x)
> y
> # class   : RasterLayer
> # dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> # resolution  : 1, 1  (x, y)
> # extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
> # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> # data source : in memory
> # names   : clumps
> # values  : 1, 2  (min, max)
>
> x[1:18, 18] <- NA
> y
> # class   : RasterLayer
> # dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> # resolution  : 1, 1  (x, y)
> # extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
> # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> # data source : in memory
> # names   : clumps
> # values  : 1, 4  (min, max)
>
>
> Cheers,
> Ben
>
>
> On May 25, 2018, at 6:00 AM, João Carreiras  wrote:
>
> Hi!
>
> I've been trying to run the clump command but the output is consistently a
> raster with values == 1. Please find below an example.
>
> I'm sure I'm doing something stupid. However, the command is really
> straightforward and I can't seem to identify what the problem might be.
>
> Any help really appreciated.
> Thanks
> Joao
>
> r <- raster(ncols=36, nrows=18)
> x <- init(r, fun='cell')
> x
> class   : RasterLayer
> dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> resolution  : 10, 10  (x, y)
> extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> data source : in memory
> names   : layer
> values  : 1, 648  (min, max)
> a <- clump(x)
> a
> class   : RasterLayer
> dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> resolution  : 10, 10  (x, y)
> extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> data source : in memory
> names   : clumps
> values  : 1, 1  (min, max)
>
> ___
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
>
> Ben Tupper
> Bigelow Laboratory for Ocean Sciences
> 60 Bigelow Drive, P.O. Box 380
> East Boothbay, Maine 04544
> http://www.bigelow.org
>
> Ecological Forecasting: https://eco.bigelow.org/
>
>
>
>
>

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] raster::clump not working?

2018-05-25 Thread Bede-Fazekas Ákos

Dear Joao,
I think function clump() works as it should be. A toy example:
x <- raster(matrix(sample(x = c(NA, NA, NA, 1), size = 36*18, replace = 
TRUE), ncol=36, nrow=18))

plot(x)
plot(clump(x))

Maybe you are searching for a function that aggregate those cells that 
have the same value?
In this case it would do what you want (I'm sure there is a more 
straightforward way...):

r <- raster(ncols=36, nrows=18)
x <- init(r, fun='cell')
y <- layerize(x)
ids <- calc(x = y, fun = function(layers) 
{return(which(as.logical(layers))[1])})

plot(ids)

HTH,
Ákos Bede-Fazekas
Hungarian Academy of Sciences


2018.05.25. 12:00 keltezéssel, João Carreiras írta:

Hi!

I've been trying to run the clump command but the output is consistently a
raster with values == 1. Please find below an example.

I'm sure I'm doing something stupid. However, the command is really
straightforward and I can't seem to identify what the problem might be.

Any help really appreciated.
Thanks
Joao

r <- raster(ncols=36, nrows=18)
x <- init(r, fun='cell')
x
class   : RasterLayer
dimensions  : 18, 36, 648  (nrow, ncol, ncell)
resolution  : 10, 10  (x, y)
extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names   : layer
values  : 1, 648  (min, max)
a <- clump(x)
a
class   : RasterLayer
dimensions  : 18, 36, 648  (nrow, ncol, ncell)
resolution  : 10, 10  (x, y)
extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names   : clumps
values  : 1, 1  (min, max)

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo



___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] raster::clump not working?

2018-05-25 Thread Ben Tupper
Hi,

I think it is actually correct - there is only one 'clump' of connected cells.  
In raster clumps are separated from other clumps by backgound (0 or NA).  In 
your example there is no background anywhere so there is just one clump. 

You can see the difference if you divide x in to halves with a row of NAs.  
Note that limited spatial extent so the clumping doesn't wrap around the globe 
which it will for [-180, 180].

r <- raster(ncols=36, nrows=18, xmn = 0, xmx = 36, ymn = 0, ymx = 18)
x <- init(r, fun='cell')
 
x[9,1:36] <- NA
y <- clump(x)
y
# class   : RasterLayer 
# dimensions  : 18, 36, 648  (nrow, ncol, ncell)
# resolution  : 1, 1  (x, y)
# extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
# data source : in memory
# names   : clumps 
# values  : 1, 2  (min, max)

x[1:18, 18] <- NA
y
# class   : RasterLayer 
# dimensions  : 18, 36, 648  (nrow, ncol, ncell)
# resolution  : 1, 1  (x, y)
# extent  : 0, 36, 0, 18  (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
# data source : in memory
# names   : clumps 
# values  : 1, 4  (min, max)


Cheers,
Ben


> On May 25, 2018, at 6:00 AM, João Carreiras  wrote:
> 
> Hi!
> 
> I've been trying to run the clump command but the output is consistently a
> raster with values == 1. Please find below an example.
> 
> I'm sure I'm doing something stupid. However, the command is really
> straightforward and I can't seem to identify what the problem might be.
> 
> Any help really appreciated.
> Thanks
> Joao
> 
> r <- raster(ncols=36, nrows=18)
> x <- init(r, fun='cell')
> x
> class   : RasterLayer
> dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> resolution  : 10, 10  (x, y)
> extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> data source : in memory
> names   : layer
> values  : 1, 648  (min, max)
> a <- clump(x)
> a
> class   : RasterLayer
> dimensions  : 18, 36, 648  (nrow, ncol, ncell)
> resolution  : 10, 10  (x, y)
> extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> data source : in memory
> names   : clumps
> values  : 1, 1  (min, max)
> 
> ___
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> 

Ben Tupper
Bigelow Laboratory for Ocean Sciences
60 Bigelow Drive, P.O. Box 380
East Boothbay, Maine 04544
http://www.bigelow.org

Ecological Forecasting: https://eco.bigelow.org/






[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] raster::clump not working?

2018-05-25 Thread João Carreiras
Hi!

I've been trying to run the clump command but the output is consistently a
raster with values == 1. Please find below an example.

I'm sure I'm doing something stupid. However, the command is really
straightforward and I can't seem to identify what the problem might be.

Any help really appreciated.
Thanks
Joao

r <- raster(ncols=36, nrows=18)
x <- init(r, fun='cell')
x
class   : RasterLayer
dimensions  : 18, 36, 648  (nrow, ncol, ncell)
resolution  : 10, 10  (x, y)
extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names   : layer
values  : 1, 648  (min, max)
a <- clump(x)
a
class   : RasterLayer
dimensions  : 18, 36, 648  (nrow, ncol, ncell)
resolution  : 10, 10  (x, y)
extent  : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names   : clumps
values  : 1, 1  (min, max)

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo