Как запретить Fortify объединять перекрывающиеся полигоны

У меня есть SpatialPolygonsDataFrame, содержащий несколько полигонов, которые я хочу построить в ggplot2. Однако, когда я пытаюсь преобразовать свой SpatialPolygonsDataFrame в кадр данных (требуемый для ggplot2) с помощью функции fortify {ggplot2}, перекрывающиеся полигоны объединяются. Я знаю, что проблема именно в этом, потому что View(as.data.frame(data_pre_fortify)) и View(data_post_fortify) сообщают мне количество полигонов до и после укрепления.

В настоящее время моя функция укрепления просто вызывает fortify(data_post_fortify, region = "id").

Можно ли избежать этого слияния полигонов, и если да, то как?


person Tobit    schedule 20.04.2019    source источник
comment
добро пожаловать на ТАК. хорошо сформулированный первый вопрос!   -  person Walter    schedule 23.04.2019


Ответы (1)


Хотя это ни в коем случае не идеальное решение, мне удалось обойти проблему, создав три SpatialPolygonsDataFrames, каждый из которых содержит только полигоны, которые не перекрываются (поэтому перекрывающиеся полигоны разделяются между разными SpatialPolygonsDataFrames, а затем укрепляются сами по себе. Когда дело дошло до построения графика, у меня было три слоя geom_polygon, каждый из которых вызывал один из фреймов данных, содержащих подмножество полигонов.

Я понимаю, что это не лучшее решение — эстетика цвета/заполнения не может быть добавлена ​​для всех полигонов вместе, плюс эта ручная сортировка перекрывающихся полигонов может быть не очень эффективной по времени для больших/более перекрывающихся наборов данных — так что любые дальнейшие ответы очень приветствуются!

person Tobit    schedule 22.04.2019