HeatMap для определения горячих точек в кэшированном сервисе с ArcGIS Server?

14

ArcGIS Server позволяет создавать кэшированные картографические сервисы. Они могут использоваться различными приложениями (ArcGIS Desktop, веб-приложения и т. Д.). Я хотел бы получить представление о том, какие области моего кэша больше всего поражаются. Я хотел бы визуализировать эти результаты, используя тепловую карту, наложенную на ту же кэшированную карту. Я думал об использовании чего-то вроде HeatMapsAPI и одного из API, предоставляемых ESRI (Javascript API должно быть достаточно)

Я знаю, что кэшированные карты могут слегка измениться в версии 10 ArcGIS Server, но я пытаюсь придумать лучший способ определить, какие листы запрашиваются чаще всего, без значительной нагрузки либо на ArcGIS Server, либо на веб-сервер (IIS).

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

Я хотел бы услышать от всех, кто имеет опыт работы с ArcGIS Server, есть ли у них какие-либо предложения о том, как это сделать?

Саймон
источник
Как мне перенести это на сайт ГИС?
Саймон

Ответы:

9

Компания, в которой я работаю (Latitude Geographics), создает продукт под названием Geocortex Optimizer, который может сделать это для вас.

Он анализирует как ваши журналы ArcGIS Server, так и ваши журналы IIS, чтобы определить, какие части ваших карт запрашиваются:

Образец тепловой карты

Это результаты какого-то стресс-тестирования, которое мы провели на нем, так что оно не является представительным для конечного результата. (Обычно вы получаете действительно «горячие» зоны над городскими центрами)

Если вам нужна дополнительная информация, воспользуйтесь функцией «Запросить демонстрацию» на нашем веб-сайте .

mwalker
источник
4

Другой метод - встроить что-то в клиент, который записывает использование. (Это то, что в основном делает HeatMapAPI.)

Чрезмерно упрощено: запись экстентов, кликов пользователей или плиток в базу данных. Затем создайте сервис ArcGISServer, который будет отображаться из этой базы данных. Добавьте это как слой на карту.

Вы также можете попробовать использовать сервис HeatMapsAPI: http://www.heatmapapi.com/HeatmapGenerate2WS.asmx . У них есть примеры для серверных клиентов. Судя по виду сервиса, я подозреваю, что его можно использовать и на стороне клиента.

Руз
источник
1

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

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

Майкл Тодд
источник
0

Хотя perfHeatMap и не является прямым ответом на этот вопрос, он является отличным инструментом для понимания того, какие части динамических картографических сервисов отображают медленнее всего, визуализируя вывод в виде тепловой карты.

Этот инструмент выполняет выборку определенной географической области интереса в определенных масштабах, выполняя операции REST exportMap для картографического сервиса. Полученный класс пространственных объектов может отображаться через ArcMap с градуированной цветовой схемой на время отклика.

Саймон
источник