Skip To Content

Надписи в кэшах карт

У многих администраторов серверов возникают вопросы относительно поведения надписей во время создания на сервере кэшированных листов карт. К ним относятся:

  • Как избежать повторяющихся надписей?
  • Как надписи влияют на скорость создания листов?
  • Следует ли хранить надписи в отдельном кэше?

В настоящем разделе даются ответы на эти вопросы.

Как избежать повторяющихся надписей?

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

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

Единственный способ предотвратить возникновение повторяющихся надписей в кэше – это использование аннотации. Аннотация – это специальный слой, в котором каждая надпись рассматривается как объект с атрибутами. Один из атрибутов указывает на выделенное место на карте, заданное для каждой надписи. Слой аннотации можно редактировать с тем, чтобы удалить повторяющиеся надписи.

Создание слоев аннотации для кэшей карты

Слои аннотации могут значительно увеличиться в размерах, а создание аннотации для всех возможных масштабов карты может показаться невыполнимой задачей. Два инструмента в наборе инструментов Инструменты картографии (Cartography Tools): > Аннотация (Annotation) предназначены для создания аннотации для кэшей карт.

Первый – это Схема кэширования листов картографического сервера для полигонов (Map Server Cache Tiling Scheme To Polygons). Этот инструмент считывает схему листов кэша карты и создает сетки, представляющие границы суперлиста для каждого масштаба схемы листов. Эти сетки позволяют разбить задачу создания аннотации на несколько удобных этапов.

Другой инструмент – это Надписи листов в аннотации (Tiled Labels To Annotation). Вы предоставляете созданные вами сетки суперлиста, документ карты и выходную рабочую область, и этот инструмент создает аннотацию для каждого масштаба в кэше. Аннотация создается для всех слоев в документе карты, для которых включена функция нанесения надписей.

Аннотация, созданная с помощью этого инструмента, дает возможность разместить надписи так же, как и при создании кэша. Затем можно изучить слой или отправить ему запрос на наличие повторяющихся надписей и удалить их перед построением кэша. Или можно вручную очистить слой аннотации пред обновлением при обнаружении конфликтов.

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

Как надписи влияют на скорость создания листов?

Расчет оптимального положения надписей карты может занять много времени, и нанесение надписей может замедлить процесс создания надписей. Создание надписей через аннотации – это наиболее быстрый способ создания надписей при кэшировании, так как для него не требуется выполнять расчетов положения надписей. Для каждой надписи заранее определены координаты, которые являются атрибутом надписи.

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

Самым медленным способом нанесения надписей является использование механизма нанесения надписей Maplex (Maplex labeling engine). Maplex предлагает больше возможностей, может выполнять более сложные расчеты и размещать большее количество надписей, чем стандартный инструмент нанесения надписей ArcMap labeling engine. Несмотря на то, что с помощью Maplex нанесение надписей выполняется наиболее оптимально, сам процесс может замедлить кэширование карты.

Чтобы добиться наилучшего соотношения качества размещения надписей и производительности, нанесите надписи в документе карты с помощью механизма нанесения надписей Maplex, а затем конвертируйте эти надписи в аннотацию и используйте в своем картографическом сервисе аннотацию.

Внимание:

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

Следует ли хранить надписи в отдельном кэше?

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

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