В R я пытаюсь создать карту хороплет. Я создал базу данных предприятий, некоторые из которых являются частью сетей (например, McDonalds), а другие независимы. Я хочу подсчитать, сколько предприятий находится в пределах 30 км от каждой точки на карте, но рассматривать разные местоположения сетей как единый бизнес.
Например, если ваша точка:
- 5 км от McDonalds,
- В 10 км от Taco Bell
- 15 км от Чик-Фил-А
- В 20 км от KFC
- В 25 км от McDonalds
- В 35 км от Five Guys
Цвет покажет, что в пределах 30 км есть 4 заведения быстрого питания.
Я счастлив использовать любой пакет R, но в основном я знаком с картами tmaps и ggplot2.
На этом этапе лучший подход, который я могу придумать, - это создать многоугольники для каждой цепочки и сложить их как прозрачные слои одного цвета. Я не думаю, что это было бы очень эффективно и не получилось бы создать очень красивую хороплету.
Другие ответы, которые я мог найти, были либо подсчетом очков (например, https://gis.stackexchange.com/questions/229066/counting-how-many-times-a-point-is-inside-a-set-of-crosscting-polygons-in-r) или для ГИС.
РЕДАКТИРОВАТЬ: Мне удалось создать радиус 30 км от каждого местоположения каждой цепи (используя rgeos gIntersection). Теперь у меня есть серия многоугольников.
Чтобы решить мой вопрос, мне нужно еще создать многоугольники, где:
- Только один многоугольник покрывает территорию,
- Два полигона покрывают территорию,
- и т.п.
Чтобы попытаться наглядно представить это, я использовал ответ от https://gis.stackexchange.com/questions/229066/counting-how-many-times-a-point-is-inside-a-set-of-crosscting-polygons-in-r
В связанном вопросе они пытаются подсчитать, сколько полигонов покрывают пронумерованные точки (изображение справа). Я пытаюсь создать изображение слева, где есть многоугольники без перекрытия (1), два перекрывающихся многоугольника (2) и так далее.