Thanks for all the inputs I've got. I've
tried the following solution, but the steps
with as.SpatialPolygons.GridTopology() and
unionSpatialPolygons() take too long a time, had to abort the
second one after 1h, so
the procedure does not seem to be a really working
solution (note than I'm using the landcover map of a tiny country as example)
#Data from http://www.diva-gis.org/data/cov/ISR_cov.zip
isrlc <-
readGDAL("/media/Transcend/MASTER_ICTA2007_2008/GEODATA_miniprojs/Kefah/ISR_cov/isr_cov.gri")
> class(isrlc)
[1] "SpatialGridDataFrame"
attr(,"package")
[1] "sp"
isrlcSP <- as.SpatialPolygons.GridTopology(getGridTopology(isrlc))
> class(isrlcSP)
[1] "SpatialPolygons"
attr(,"package")
[1] "sp"
isrlcSPU <- unionSpatialPolygons(isrlcSP, is...@data[,1])
Aborted after 1h
A second solution is saving as gtif, then gdal_polygonize:
gdal_translate isr_cov.gri isr_cov.tif
gdal_polygonize.py -f 'ESRI Shapefile' isr_cov.tif isr_cov
which takes longer for writing the commands than the actual execution time!
Then we still have to attach the legend, which can be easily done in R. So I
think the best is writing a function using system() for the above 2 commands, then
reading the grid and the shape, attach the legend to the SPDF and save again as
shape.
So, problem solved. I'll post the function to the list as soon as I make it.
Agus
Michael Sumner wrote:
Hi, I'm not sure on the license status of gpclib in maptools - not for
commercial use now - but I'm sure Roger will comment on that on the
list. This seems to work:
library(maptools)
gdata <- image2Grid(list(x = 1:nrow(volcano), y = 1:ncol(volcano), z = volcano))
SpP_grd <- as.SpatialPolygons.GridTopology(getGridTopology(gdata))
unionpoly <- unionSpatialPolygons(SpP_grd, gdata$z)
trdata <- data.frame(z = sort(unique(gdata$z)), row.names =
sapply(slot(unionpoly, "polygons"), function(i) slot(i, "ID")))
SpPDF <- SpatialPolygonsDataFrame(unionpoly, trdata)
I checked the result in GIS and it seems to work perfectly.
Cheers, Mike.
On Tue, Mar 23, 2010 at 6:01 PM, Agustin Lobo <alobolis...@gmail.com> wrote:
-------- Original Message --------
Subject: Re: [R-sig-Geo] rgdal: problem with grid data
Date: Tue, 23 Mar 2010 07:53:38 +0100
From: Agustin Lobo <aloboa...@gmail.com>
Reply-To: agustin.l...@ija.csic.es
To: Michael Sumner <mdsum...@gmail.com>
CC: sig-geo <r-sig-geo@stat.math.ethz.ch>
References: <4ba86074.8010...@gmail.com>
<522664f81003222349g39cc0c4ya756547d80c1d...@mail.gmail.com>
ok, I see, I have to convert to Spatial Polygons data frame first, right?
Ideally, I should be able of clumping those cells with the same value,
so this is a bit more complicated than I expected. But should be possible.
I'll try and let the list know.
Thanks
Agus
Michael Sumner wrote:
What are you expecting to get - a point for every raster cell? If so,
use gridded(isrlc) <- FALSE to convert to a SPDF first - then the
write will work.
More complicated conversions are possible, such as with
as.SpatialPolygons.GridTopology.
Cheers, Mike.
On Tue, Mar 23, 2010 at 5:32 PM, Agustin Lobo <alobolis...@gmail.com>
wrote:
Hi!
I read a grid file into R with
isrlc <-
readGDAL("/media/Transcend/MASTER_ICTA2007_2008/GEODATA_miniprojs/Kefah/ISR_cov/isr_cov.gri")
While isrlc seems correct, I'm getting an empty shapefile when I attempt
to
write:
writeOGR(isrlc,dsn="/media/Transcend/MASTER_ICTA2007_2008/GEODATA_miniprojs/Kefah",
layer="ISR_cov2",driver="ESRI Shapefile")
Data from
http://www.diva-gis.org/data/cov/ISR_cov.zip
Thanks
Agus
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
--
Dr. Agustin Lobo
Institut de Ciencies de la Terra "Jaume Almera" (CSIC)
LLuis Sole Sabaris s/n
08028 Barcelona
Spain
Tel. 34 934095410
Fax. 34 934110012
email: agustin.l...@ija.csic.es
http://www.ija.csic.es/gt/obster
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo