Как ускорить услуги Dynamic Map?

16

Я работаю над приложением на основе ESRI Flex, которое будет отображать данные из службы динамических карт. Он должен быть динамическим, поскольку конечный пользователь должен иметь возможность включать и выключать слои. Это возможно только с сервисами Dynamic Map, но не с сервисами Tiled map.

Какие шаги можно предпринять, чтобы увеличить скорость, с которой плитки отправляются клиенту сервером?

Я смотрю на Динамические Карты ESRI, доступные на ArcGIS онлайн, и они довольно быстрые. Есть идеи о том, как они получают такую ​​хорошую производительность?

Девдатта Тенгше
источник
4
Вы можете использовать отдельные мозаичные сервисы карт для каждого слоя, а затем включать или отключать каждый из них.
Бритт Уэскотт
@Seth: я пришел к тому же выводу, что и вы. С количеством слоев, которые мы используем, и ожидаемым количеством одновременных пользователей, отдельные сервисы мозаичной карты дают наилучшую производительность.
Девдатта Тенгше
У нас та же проблема, я отправил запрос на улучшение в ESRI, чтобы получить поддержку параллельного выполнения слоев в сервисах динамических карт, я думаю, что это значительно повысит производительность.
MathiasWestin

Ответы:

11

Возможно, вы уже сделали это, но стоит упомянуть о других, которые могут прийти вместе. Потратив некоторое время на использование панели инструментов публикации картографического сервиса в ArcMap, вы сможете существенно изменить производительность динамического картографического сервиса. Инструмент «Анализировать карту» хорошо работает для поиска проблем, которые замедляют работу картографических сервисов. Кроме того, сохранение и публикация в виде определения картографического сервиса (MSD), а не MXD, позволяет значительно повысить производительность.

Некоторые ссылки:

Brenner256
источник
В то время как другие ответы поднимают действительные пункты, я уже рассмотрел их. Семинар, на который вы ссылались, дал мне некоторую информацию, о которой я не знал, в дополнение ко всем решениям, предложенным другими. Поэтому я отмечу ваш ответ как принятый, так как ваши ссылки дают больше баллов и целостный способ решения проблемы.
Девдатта Тенгше
14

Я бы предположил, что вы просто хотели бы использовать любой веб-картографический сервис, вы заставляете свой карт-сервер «думать» как можно меньше. Другими словами, предварительно вычислите все, что можете.

  1. Поместите все свои данные в одну и ту же SRS, чтобы не было проецирования «на лету».
  2. Создайте пространственные индексы на ваших данных.
  3. Создайте обобщенные обзоры ваших данных и используйте зависимость от масштаба, чтобы выбрать соответствующий слой для определенного масштаба. (Например, не имеет смысла рисовать поли с 10 000 вершин, если выходное изображение составляет всего 250 x 250 пикселей.)
DavidF
источник
8

Несколько других моментов, которые нужно добавить в ответ DavidF:

  • Если вы можете, обязательно используйте оптимизированный (MSD) сервис. Они рисуют быстрее, чем обычная (MXD) служба, и процесс создания службы MSD запустит некоторый анализ на вашей карте, который может выявить проблемы, которые могут привести к замедлению времени рисования.

  • Используйте упрощенные средства визуализации, где это возможно. Избегайте сложных операций рисования, таких как сглаживание, цветовые градиенты и растровые маркеры.

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

  • Включите подробное ведение журнала для своей карты и просмотрите файлы журналов, чтобы увидеть, что делает ArcGIS Server при рисовании карты. Инструкции по настройке подробного ведения журнала находятся на сайте блогов Esri . Это для версии 9.3, но расположение конфигурации такое же для ArcGIS 10.

Помните, что настройка - это очень специфическая операция, которая очень субъективна и специфична для того, что вы делаете; Сравнение производительности вашей собственной карты с самой собой будет более ценным, чем сравнение производительности с другими.

mwalker
источник
Я рассмотрел первые три пункта, но не могли бы вы пролить немного света на «Подробное ведение журнала для карты»? Я пытался выяснить это, но единственные ссылки, которые я нахожу, касаются сервисов ArcIMS.
Девдатта Тенгше
Я добавил ссылку на блог Esri о регистрации в ArcGIS Server.
mwalker