Bonjour,
Je veux convertir mon raster vers un polygone pour toutes les valeurs >500m.
1. au début j'ai essayé avec ce code sur cet exemple, avec la fonction "rasterToContour" :
Le résultat que mon shapefile est enregistré sous format "ligne" non pas "polygone"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 library(raster) library(sp) f <- system.file("external/test.grd", package="raster") r <- raster(f) # add contour x <- rasterToContour(r,levels=500) class(x) plot(r) plot(x, add=TRUE) #export contour to shapefile library(rgdal) writeOGR(x, ".", "contour", driver="ESRI Shapefile")
Mon but est d'avoir des superficies en polygones pour les valeurs >500m
puis, j'ai essayé avec la fonction "rasterToPolygons"
Le résultat est un shapefile avec des polygones mais sont pour chaque pixel,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 library(raster) library(sp) f <- system.file("external/test.grd", package="raster") r <- raster(f) # add polygon library(rgeos) pol <- rasterToPolygons(r, fun=function(x){x>500}) plot(pol, add=T, col='red') #export polygon to shapefile library(rgdal) writeOGR(pol, ".", "polygon", driver="ESRI Shapefile")
moi je veux des polygones pour toute la zone délimitée, non pour chaque pixel, c-a-d juste la délimitation extérieure.
Merci d'avance pour vos idées.
Partager