#title :alpha_shape.R
#description :script R accompagnant l'article "Sur la création des enveloppes concaves (concave hull) et les divers moyens d'y parvenir".
#auteur :M.Laloux
#date :20141012
#==============================================================================
# chargement des librairies
library(rgdal)
library(alphahull)
# chargement du fichier shapefile
points <- readOGR(".", "points_test")
# construction de l'alpha shape
alpha_points = ashape(coordinates(points),alpha=35)
#enregistrement du résultat sous forme de polylignes, voir https://stat.ethz.ch/pipermail/r-sig-geo/2010-February/007641.html)
l <- list()
for (i in 1:nrow(alpha_points$edges)) {
+ l[[i]] <- Line(rbind(alpha_points$edges[i, 3:4], alpha_points$edges[i, 5:6]))
+ }
l <- list(Lines(l, as.character("1")))
sldf <- SpatialLinesDataFrame(SpatialLines(l), data.frame(name ="ashape"), match.ID = FALSE)
writeOGR(sldf, ".", "ralphalines", "ESRI Shapefile")