Ошибка с опцией "id" в gIntersection (rgeos)
Я хотел бы поделиться проблемой с идентификатором опции из функции "gIntersection", которая заставляет меня потерять 4 часа.
Платформа: x86_64-pc-linux-gnu (64-разрядная версия)
Версия R 3.4.2 (2017-09-28) - "Короткое лето"
пакет ргеос 0,3-27
Я хочу вычислить пересечение между "BUFF" = большой "пространственный многоугольник" и distrit = большой "кадр данных пространственного многоугольника". Большой "фрейм данных пространственного многоугольника" имеет столбец идентификаторов (IDDIST), который я хочу использовать в дальнейшем в своем анализе. Перед тем как пересечь, я проверил, что не было дублированного IDDIST:
duplicated(distrit$IDDIST)
[1] Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное ЛОЖНОЕ Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное
inter=gIntersection(distrit,BUFF,byid=TRUE,id=distrit$IDDIST,checkValidity = TRUE)
duplicated(distrit$IDDIST)
[1] Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное Ложное ЛОЖНОЕ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ
Входные данные distrit$IDDIST больше не являются уникальными. Когда я делаю то же самое пересечение без опции id=distrit$IDDIST, проблем не возникает. У меня действительно есть ощущение, что есть ошибка с идентификатором опции, которая не должна изменять входные данные.