Próbuję utworzyć przestrzenną nakładkę między dwoma wielokątami ("grd" i "zakres") za pomocą funkcji over (rgeos).Jak mogę obsłużyć "osieroconą dziurę" w pliku kształtu wielokąta w R lub ArcGIS?
Ten kod działa dla wszystkich plików ale jeden:
range.grd.overlay <- grd[!is.na(over(grd, range)), ]@data$grdID # get gridcells that overlap with range
i ten komunikat o błędzie:
Error in createPolygonsComment(p) :
rgeos_PolyCreateComment: orphaned hole, cannot find containing polygon for hole at index 9
Rozumiem, że tam jest dziura bez otaczającej wielokąta gdzieś w shapefile, ale Nie mogę wymyślić, jak to obejść. Czy mogę po prostu usunąć otwór w indeksie 9? W jaki sposób ? Jeśli masz rozwiązanie, aby naprawić plik kształtu w ArcGIS, również byłoby to dla mnie dobre.
Bardzo dziękuję z góry za pomoc !!
Pozdrawiam, Carsten
Nikt nie może w tym pomóc, ponieważ nie mamy pojęcia o strukturze grd lub zasięg. Wiele obiektów może mieć slot @ data $ grdID. To wymaga pracy, aby stworzyć powtarzalny przykład. Ale użyj (darmowego) QGIS z narzędziami geometrii lub (niedrogiego) kolektora z fabryką topologii do interaktywnego sprawdzania geometrii. – mdsumner
Wygląda na to, że usunięcie otworu w indeksie 9 powinno zadziałać. Co się stanie, gdy spróbujesz tego? 'podzbiór' w pakiecie' taRifx' powinien to zrobić, jeśli nie masz lepszego sposobu (nie mam obecnie na temat moich metod przestrzennych). –
Ok, widzę, przepraszam, że nie jestem bardzo konkretny o moim problemie: – user1012744