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" :

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")
Le résultat que mon shapefile est enregistré sous format "ligne" non pas "polygone"
Mon but est d'avoir des superficies en polygones pour les valeurs >500m

puis, j'ai essayé avec la fonction "rasterToPolygons"

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")
Le résultat est un shapefile avec des polygones mais sont pour chaque pixel,
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.