Quiero crear un SpatialPointDataFrame y una Teselación de Voronoi a partir de mis datos .csv descargados de la EPA, disponibles aquí: http://uloz.to/xboQc7cu/no2-calif-csv
Convierto mis datos en formato SPDF de 2 maneras:
my.tab<-read.csv("no2_calif.csv", stringsAsFactors = FALSE, sep = "")
coordinates(my.tab) <- ~ Longitude + Latitude
o
my.tab<-read.csv("no2_calif.csv", stringsAsFactors = FALSE, sep = "")
my.tab.spdf<- SpatialPointsDataFrame(cbind(my.tab$Longitude, my.tab$Latitude), my.tab)
y utilizo la teselación de Voronoi publicada aquí: http://carsonfarmer.com/2009/09/voronoi-polygons-with-r/
voronoipolygons = function(layer) {
require(deldir)
crds = layer@coords
z = deldir(crds[,1], crds[,2])
w = tile.list(z)
polys = vector(mode='list', length=length(w))
require(sp)
for (i in seq(along=polys)) {
pcrds = cbind(w[[i]]$x, w[[i]]$y)
pcrds = rbind(pcrds, pcrds[1,])
polys[[i]] = Polygons(list(Polygon(pcrds)), ID=as.character(i))
}
SP = SpatialPolygons(polys)
voronoi = SpatialPolygonsDataFrame(SP, data=data.frame(x=crds[,1],
y=crds[,2], row.names=sapply(slot(SP, 'polygons'),
function(x) slot(x, 'ID'))))
}
Utilizando cualquiera de
my.tab.voro <-voronoipolygons(my.tab)
o
my.tab.spdf.voro <-voronoipolygons(my.tab.spdf)
Obtengo el siguiente error:
Error in data.frame(x = crds[, 1], y = crds[, 2], row.names = sapply(slot(SP, : row names supplied are of the wrong length
Por favor, ¿dónde podría estar el problema? ¿Necesito tener mis coordenadas en formato XY? En caso afirmativo, ¿cómo puedo hacerlo? ¿solo reproyecto mis datos?