Я использую функцию стирания растрового пакета в соответствии с моим предыдущим пост-решением для отсечения и растворения перекрывающихся многоугольников - Растворение перекрывающихся многоугольников с использованием разности и объединения в R
Для некоторых многоугольников I получаю ниже ошибку с функцией стирания:
Ошибка в RGEOSBinTopoFun c (spgeom1, spgeom2, byid, id, drop_lower_td, unaryUnion_if_byid_false,: TopologyException: входной геом 1 недопустим: самопересечение в или около точки 1.1197332302192855 47.203098020153668 по адресу 1.1197332302192855 47.203098020153668
library(raster)
library(rgeos)
library(sp)
fields <- gBuffer(fields, byid=TRUE, width=0) # Expands the given geometry to include
the area within the specified width
zone <- fields[fields$Type == "Zone", ]
plot <- fields[fields$Type == "Plot", ]
d <- erase(zone, plot) #issue here
spplot(d, "Rx")
# I tried using rgeos::gBuffer to avoid RGEOSBinTopology Exception but it did not worked out. Any guidance in this area would be really helpful.
zone <- gBuffer(zone, byid=TRUE, width=0)
plot <- gBuffer(plot, byid=TRUE, width=0)