Suite

Écrêtage de deux SpatialPolygons : Erreur dans RGEOSBinTopoFunc

Écrêtage de deux SpatialPolygons : Erreur dans RGEOSBinTopoFunc


Je veux découper deux SpatialPolygons sur R sans succès, j'ai suivi l'article dans la disscution Comment réaliser un vrai clip SIG de couche de polygones à l'aide d'une couche de polygones dans R ?

Polygone 01 :

> classe polygone1 : caractéristiques SpatialPolygons : 1 étendue : -8.673868, 11.98891, 19.43771, 37.09514 (xmin, xmax, ymin, ymax) coord. réf. : +init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0

Polygone 02 :

> Classe Polygone2 : Fonctionnalités SpatialPolygons : 4 étendue : 0.665381, 12.35598, 30.72105, 37.50386 (xmin, xmax, ymin, ymax) coord. réf. : +init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0

Code :

clip2 <- gIntersection(Polygone1, Polygone2, byid=TRUE)

Erreur :

Erreur dans RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, drop_not_poly, "rgeos_intersection") : TopologyException : L'entrée geom 0 n'est pas valide : Auto-intersection au point ou près du point 8.1451386683704339 37.192197131616837 à 8.1451386683704339 37.192197131616837

Est-ce que quelqu'un peut m'aider ?


Essayer:

polygone1 <- gBuffer(polygone1, byid=TRUE, width=0) polygone2 <- gBuffer(polygone2, byid=TRUE, width=0) clip2 <- gIntersection(Polygone1, Polygone2, byid=TRUE)

C'est moche, mais ça résout généralement ce genre de problème.

HTH


Ce dont nous avons besoin, c'est de la fonction d'intersection, pas de la fonction gIntersection. La fonction gIntersecion fournit un tableau logique, mais intersection fournit les polygones d'intersection réels.


Voir la vidéo: Raster 2 polygon