R - Ограничения листовки - Сколько маркеров поддерживает карта листовки? - PullRequest
0 голосов
/ 29 октября 2018

Данные

У меня есть датафрейм, который содержит 35 000 латов / лон местоположений. Места были нанесены на интерактивную карту листовки.

Ситуация

Я хотел бы опубликовать карту в Интернете через документ уценки.

Проблема

Когда я экспортирую карту в виде HTML-страницы или в уценке, карта выглядит так:

  • лаг
  • Трудно ориентироваться
  • Веб-страница загружается медленно

Вопросы

  1. Какое максимальное количество точек вы наносите на карту листовки без ущерба для возможности навигации по карте?

  2. Поможет ли публикация карты в виде блестящего приложения решить скорость загрузки, отставание карт и другие проблемы с производительностью?

  3. Если нет, то какие другие картографические программы интегрируются с R, что вам порекомендуете?

Спасибо за ваши предложения!

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Подход, который я недавно использовал для построения более 100 тыс. Точек и работал очень хорошо:

leaflet(options = leafletOptions(preferCanvas = TRUE))

Это заставляет leaflet визуализировать карту как холст. Подробнее здесь .

Внешний вид карты остается прежним, но намного быстрее с точки зрения навигации. Я еще не пробовал leaflet.glify, но это хорошее решение для тысячи баллов с использованием пакета leaflet.

0 голосов
/ 29 октября 2018

Есть пара вариантов, которые могут помочь. Лучше всего было бы создать кластеры (см. Маркерные кластеры ):

addMarkers(..., clusterOptions = markerClusterOptions())

Это предотвращает рендеринг всех 35 000 точек одновременно, что ускоряет время загрузки.

addCircles () и addCircleMarkers () загружаются быстрее, чем addMarkers (), а также, если они подходят для ваших целей, хотя они все еще медленны с 35 000 баллов.

Вы можете сделать:

addCircleMarkers(..., clusterOptions = markerClusterOptions())

который должен загружаться еще быстрее.

Обновление

Использовать leaflet.glify (devtools::install_github("tim-salabim/leaflet.glify"))

См. leaflet.glify

...