OpenLayers, Layers: Tiled против одной плитки - PullRequest
9 голосов
/ 21 мая 2010

Каждый раз, когда мы добавляем новый слой на наш OpenLayers веб-сайт (данные, предоставляемые в основном сервером GeoServer ), мы обсуждаем, следует ли использовать single-tile или плиточный подход.

Некоторые параметры, которые мы оцениваем, следующие:

Используя плиточный подход, мы получаем:

  • Медленное, но непрерывное наращивание области просмотра
  • Множество маленьких изображений
  • Возможности кэширования на стороне клиента
  • Блокировка загрузочного конвейера (6 запросов одновременно)
  • Чувство дрожания при навигации во время нагрузки

Используя подход single-tile мы получаем:

  • Более плавное ощущение при навигации во время нагрузки
  • Задержка до загрузки слоя
  • Одно большое изображение для каждого слоя
  • Нет кэширования одной плитки

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

Есть ли лучшие практики , когда дело доходит до черепицы?

Прогрессируя к бесконечно быстрому оборудованию и неограниченным соединениям для передачи данных , обсуждение становится неактуальным, но какую конфигурацию вы считаете самым пользователем- приятный

1 Ответ

6 голосов
/ 25 мая 2010

Наиболее приятным для пользователя IMO будет мгновенная обратная связь посредством постепенной загрузки плиток после любого панорамирования или масштабирования. Я действительно использовал только отдельные листы для пользовательских отчетов в масштабах или размерах, которые не соответствуют моим листам.

Из вашего поста не ясно, как вы обслуживаете свои данные. Каждый набор данных обслуживается из отдельной службы WMS или объединяется в одну?

Вы всегда можете сгруппировать слои, которые меняются редко, и настроить их на использование кэшированных плиток, а для часто редактируемых слоев они должны быть отдельными отдельными не кэшированными слоями одной плитки (или более коротким временем кэширования).

Основная проблема с плитками - это число, в которое вы можете загрузить в любой момент времени. Если вы ускорите это, то не может быть заметной разницы в скоростях.

Для производительности плитки:

  • Вы можете удвоить количество плиток, которые загружаются за один раз, используя два разных домена для загрузки плиток, например. imsg1.maps.com и imgs2.maps.com
  • Вы можете уменьшить буфер тайлов вокруг области просмотра, чтобы загружались только видимые тайлы.
  • Есть несколько советов по повышению производительности на http://trac.mapfish.org/trac/mapfish/wiki/HowToOptimize

При условии, что вы используете WMS, следующие ссылки могут помочь при выборе "best-Practice":

...