Проталины и прогалины тайловой карты

IMG_0941

Базовые карты, или их части, которые не так часто изменяются и долгое время остаются актуальными, как правило, кэшируют. Тайловые сервисы отрисовываются быстрее динамических. Построение карты и ее кэширование — трудоемкий процесс, и как же бывает обидно, когда после всех усилий по подготовке проекта карты, в итоговом сервисе мы видим «проталины и прогалины» — неприятные артефакты, которые явно портят общую картину. Как избежать этой неприятности? Как сделать, чтобы карта радовала скоростью прорисовки и качеством картинки?

Предупрежден — значит вооружен. Нужно помнить, что придется опубликовать сервис и перестроить тайлы, как минимум два раза. Первый раз, чтобы обнаружить артефакты. Дальнейшую историю назовем — тестирование кэша.

В каких случаях могут возникнуть артефакты.

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

Как следует рассмотрев схему тайлов, я заметила, что на самом деле слой кэша — это не один масштаб, а диапазон масштабов, и сервис отрисовывает тайлы мелкого масштаба в пустых местах крупного масштаба, Хотя мы этого и не задавали в проекте карты.

Придется создать дополнительные данные:

  • Граница карты.
  • Граница данных для масштаба, границы которого отличаются от границы карты.
  • Граница тайлов для определенного масштаба. Граница тайлов — не равна границе данных. И не обязана быть равной границе карты (прогалины).
  • Маска — слой, который будет закрашивать места между границей данных и границей тайлов (проталины).
  • Маскирующий растр размером и форматом, как определено в кэшированном сервисе. Чтобы автоматически замаскировать пустые места, где не сформировались тайлы кэша. Фон растра и слой Маски надо сделать одного цвета. Тогда маскирующий слой будет выглядеть органично рядом с пустыми тайлами.

missingMissing.png

Умело используя этот набор дополнительных данных, вы обязательно достигните  должного качества карты.

границы

Дополнительные границы на примере реального проекта.

Добавить комментарий