Я играю с пространственным набором данных (в основном многоугольники над районом города), и я хотел бы создавать разные виды, основанные на разных уровнях масштабирования. Все хорошо, когда у меня есть поле границы участка больше, чем область, содержащая многоугольники. Но при увеличении масштаба некоторые полигоны получают части, находящиеся за пределами граничного поля, и выход для этих многоугольников проблематичен: точки многоугольника вне граничного поля не отображаются, в результате чего полигоны, которые не обрезаны в границах границ коробки ( как и следовало ожидать), а скорее не рассматриваются. полигоны являются неполными, а многоугольник соединяет только точки, оставшиеся на графике (нормальное поведение, но не требуется).
хороший пример, заслуживающий внимания, вот демонстрация проблемы:
#initialisation
library(ggmap)
require(MASS)
data(zips)
# overview
ggmap(get_map(maptype = "satellite", zoom = 8), extent = "device") +
geom_polygon(aes(x = lon, y = lat, group = plotOrder),
data = zips, colour = NA, fill = "red", alpha = .5) +
geom_path(aes(x = lon, y = lat, group = plotOrder),
data = zips, colour = "white", alpha = .7, size = .4)
# problematic view
x11()
ggmap(get_map(maptype = "satellite", zoom = 12), extent = "device") +
geom_polygon(aes(x = lon, y = lat, group = plotOrder),
data = zips, colour = NA, fill = "red", alpha = .5) +
geom_path(aes(x = lon, y = lat, group = plotOrder),
data = zips, colour = "white", alpha = .7, size = .4)
Знаете ли вы о хорошем методе, чтобы правильно обрезать полигоны на границах границ границ графика? спасибо за помощь
Паскаль