r polygon shapefile

Cree polígonos de casco convexo desde puntos y guarde como shapefile



polygon (1)

Aquí hay un ejemplo simple para crear un SpatialPolygonsDataFrame , que se puede guardar como un shapefile con rgdal::writeOGR() :

set.seed(1) dat <- matrix(stats::rnorm(2000), ncol = 2) ch <- chull(dat) coords <- dat[c(ch, ch[1]), ] # closed polygon plot(dat, pch=19) lines(coords, col="red")

library("sp") library("rgdal") sp_poly <- SpatialPolygons(list(Polygons(list(Polygon(coords)), ID=1))) # set coordinate reference system with SpatialPolygons(..., proj4string=CRS(...)) # e.g. CRS("+proj=longlat +datum=WGS84") sp_poly_df <- SpatialPolygonsDataFrame(sp_poly, data=data.frame(ID=1)) writeOGR(sp_poly_df, "chull", layer="chull", driver="ESRI Shapefile")

Necesitando ayuda para un problema de conversión en R.

He calculado el casco convexo de una nube de puntos. Me gustaría, desde los puntos que forman el casco convexo, construir un objeto poligonal y guardarlo como un shapefile que pueda ser leído por un software GIS (ArcMap o similar).

Mi código se ve así:

gps <- read.csv(f) ##reads the lat-long coordinates file x <- gps$LONGITUDE ##tells R which columns is which y <- gps$LATITUDE z<-chull(x,y) ##calculates the convex hull --this is just a list of x-y points, N vertex dfHull <-cbind(x[z],y[z]) ##the convex hull expressed as a list of selected x-y points plot(dfHull) ##this plots the vertex of the polygon, just a check lines(dfhull) ##plots the polygon in screen ##generate polygon shapefile, from dfHull, and save it externally as a shapefile ???

El archivo de origen solo contiene coordenadas de latitud larga, por ejemplo:

52.73336 N 0.365974 52.7332 N 0.366051 52.73289 N 0.36636 52.73297 N 0.366258 52.73298 N 0.366243 52.733 N 0.366112 52.73308 N 0.365942 52.73317 N 0.365881 52.73321 N 0.36593 52.73328 N 0.365942 52.73352 N 0.36579 52.73362 N 0.365678 52.73391 N 0.365536 52.7373 N 0.36543 52.73289 N 0.36728

Sé que hay paquetes (rgdal, maptools, ..) para ayudar con estos, pero no estoy muy familiarizado con las cosas espaciales. Realmente todo lo que necesito es generar el objeto polígono y guardarlo como shapefile.

Cualquier ayuda apreciada. Gracias de antemano, dev.