Viac

Problém s vyhladzovaním polygónov v R

Problém s vyhladzovaním polygónov v R


Pomocou R hľadám vyhladiť môj Polygon: inter2.csv

kód:

inter1 <- read.table ("c: /inter2.csv", header = TRUE) # pridať kategóriu (požadovanú pre neskoršiu rasterizáciu / polygonizáciu) inter1 <- cbind (inter1, cat = rep (1L, nrow (inter1)) , stringsAsFactors = FALSE) # previesť na súradnice priestorových bodov (inter1) <- ~ dlhé + lat # gridifikovať vašu množinu bodov mriežkovane (inter1) <- TRUE # previesť na raster r <- raster (inter1) # previesť raster na polygóny sp <- rasterToPolygons (r, dissolve = T) plot (sp) # transformácia sčítania, aby sa dobre odlíšila množina polygónov polys <- slot (sp @ polygons [[1]], "Polygons") vyžadujú (Hmisc) # pre Bézierovu krivku výstup <- SpatialPolygons (Srl = lapply (1: dĺžka (polys), funkcia (x) {p <- polys [[x]] # # použitie Bézierovej krivky na vyhladenie hrán polygónu px <- slot (polys [[x]], "coords") [, 1] py <- slot (polys [[x]], "coords") [, 2] bz <- bezier (px, py) slot (p, "coords") <- as.matrix (cbind (bz $ x, bz $ y)) # create polygons object poly <- Polygons (list (p), ID = x) return (poly)}), proj4string = CRS ("+ init = epsg: 4326") ) # vykreslenie pozemku (sp, border = "sivý", lwd = 2) # výsledok polygonizácie výsledku (výstup, orámovanie = "červené", pridanie = TRUE) # vyhladené mnohouholníky

Mám tento výsledok:

Je to niekoľko dní, čo hľadám problém bez úspechu, môže mi niekto pomôcť, prosím?


Aktualizoval som tu uvedený pôvodný kód https://stackoverflow.com/questions/26087772/create-polygon-from-set-of-points-distributed/26089377#26089377

Namiesto Bezierovho vyhladzovania môžete použiť tu odporúčané vyhladenie / a / 24929/8104 s funkciouspline.poly(ako navrhuje @aaron), ktorý poskytuje presné výsledky.