Визуальные различия в импортированных документах карты

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

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

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

В следующих разделах описываются некоторые отличия прорисовки и причины их возникновения.

Сглаживание текста и шрифтового маркера

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

Свойства сглаживания в диалоговом окне Свойства производительности Windows
Параметры сглаживания шрифта для разных операционных систем отличаются.

В ArcGIS AllSource эти настройки задаются в опциях приложения.

Так как механизм отрисовки ArcGIS AllSource использует отличный метод сглаживания текста и символов и алгоритмы, используемые для применения сглаживания, также отличаются, отображение текста и шрифтовых маркеров может различаться по сравнению с отображением в ArcMap.

Со сглаживанием текста и без сглаживания текста в
Слева: ArcMap (без сглаживания текста). Справа: ArcGIS AllSource со сглаживанием шрифта, установленным на Принудительно.

Отличия округления координат

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

Два линейных символа в
В ArcMap при 96 dpi нет видимых отличий между этими двумя линейными символами с координатами 2,6 точки (слева) и 1,9 точки (справа).

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

Примеры предварительного просмотра картографического сервиса
В ArcGIS AllSource есть существенные различия между размером 2,6 точки (слева) и 1,9 точки (справа).

Однако, если символы карты изначально были созданы в ArcMap, внешний вид может отличаться в ArcGIS AllSource. Это особенно очевидно для линейных символов.

Примеры сглаживания линии
Пример сглаживания в связи с использованием высокоточного отображения . Слева: ArcGIS AllSource Справа: ArcMap

ArcGIS AllSource обладает функциональной способностью сглаживания для устранения этого недостатка, но существуют случаи, когда сглаживание не будет наиболее оптимальным решением. Например, использование сглаживания может снизить производительность отображения. В зависимости от требований карты это может оказаться неприемлемым. Вместе с этим, для целевых форматов экспорта, использующих 8-разрядную палитру (например форматы PNG 8 или GIF), механизм сглаживания может быть не столь эффективен из-за использования механизма передачи полутонов, необходимого для плавного перехода цвета.

Примеры сглаживания
С помощью механизма сглаживания можно существенно улучшить изображение линии, хотя и ценой снижения быстродействия. Слева: Без сглаживания. Справа: Наилучшее сглаживание.
Сглаживание линии до и после правки
Слева: исходная ширина линий символа скоростного шоссе, отображенного в ArcGIS AllSource. Справа: после коррекции. Учтите, что линии больше не отображаются пунктиром в исправленной версии.

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

Проектирование линий под определенное разрешений (dpi)

Для определения необходимых размеров линии для определенного разрешения, подставьте значения размеров символов в многослойном линейном символе в следующую формулу. Рекомендуется задать значение целевого разрешения (TargetResolution), чтобы отражать необходимое минимальное разрешение, которое будет использоваться при отображении символа. Обратите внимание, что значение 72, которое используется в примерах ниже, неизменно и связано с коэффициентом пересчета точек на дюйм.

WidthInPixels = (LineWidth in points * TargetResolution in dpi)/72

Если WidthInPixels меньше 1,5, ширину не следует менять. Если WidthInPixels равна или больше 1,5, с помощью следующей формулы выясните, как следует изменить ширину:

  1. Вычислите новую ширину в точках:

    NewWidthInPoints = (WidthInPixels + 0.5)

  2. Округлите NewWidthInPoints до ближайшего целочисленного значения, которое не больше NewWidthInPoints.
  3. Задайте ширину итоговой линии как:

    (RoundedNewWidthInPoints * 72) / TargetResolution

Так, например, если необходимо разрешение 44 dpi, а ширина линии символа составляет 2,60, то необходимо выполнить следующие вычисления:

  1. Вычислите ширину в пикселах.

    (2.60 * 44) / 72.0 = 1.5888. Поскольку WidthInPixels больше 1.5, перейдите к следующему шагу.

  2. Вычислите новую ширину в точках.

    NewWidthInPoints = (WidthInPixels + 0.5) = (1.5888 + 0.5) = 2.0888.

  3. Округлите результат до ближайшего целого.

    NewWidthInPoints = 2.0

  4. Используйте этот результат для определения итоговой ширины линии.

    (2.0 * 72) / 44 = 3.27 точек.

Вот другой пример. Если необходимо разрешение 120 dpi, а новая ширина линии символа составляет 2,60, то необходимо выполнить следующие вычисления:

  1. Вычислите ширину в пикселах.

    (2.60 * 120) / 72.0 = 4.333. Поскольку WidthInPixels больше 1.5, перейдите к следующему шагу.

  2. Вычислите новую ширину в точках.

    NewWidthInPoints = (WidthInPixels + 0.5) = (4.333 + 0.5) = 4.833.

  3. Округлите результат до ближайшего целого.

    NewWidthInPoints = 4.0

  4. Используйте этот результат для определения итоговой ширины линии.

    (4.0 * 72) / 120 = 2.4 точек.

Простые символы

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

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

Для простых символов заливки свойство Стиль недоступно в пользовательском интерфейсе ArcMap, но многие примеры для разработчиков и другие фрагменты коды сторонних компаний могут создавать эти символы на карте. Стили, отличные от esriSFSSolid, не поддерживаются в ArcGIS AllSource и приводят к возникновению ошибки в Журнале импорта.

Для символов простых маркеров поведение простых маркеров изменяется в зависимости от размера, при котором они отображаются, что приводит к некоторым вариациям размера и формы.

ArcGIS AllSource всегда отображает символы простых маркеров с запрошенным размером. В ArcMap если размер символа простого маркера меньше определенного порогового значения, символ не будет отображен с меньшим размером. Это значит, что при достижении этого порога ArcGIS AllSource продолжает отображать эти символы с точным размером, а ArcMap – нет, что приводит к очевидному несоответствию.

Внимание:

В некоторых случаях это означает, что мелкие детали, которые слишком выделены в ArcMap, могут быть не видны при меньшем масштабе просмотра в ArcGIS AllSource.

Оформления линии

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

Цвет

Механизм отрисовки в ArcGIS AllSource использует механизм управления цветами. Из-за этого некоторые цвета в ArcMap не всегда совпадают с отображением.

ArcMap не использует механизм управления цветами. В частности, можно заметить отличия цветов при использовании следующих элементов:

  • Цвета, заданные в цветовых пространствах, отличных от RGB (например, в HSV, CMYK или черно-белой)
  • Алгоритмические цветовые шкалы с использованием алгоритмов HSV, CIELab или LABLch

Для минимизации отличий цветов в картографическом сервисе можно изменить настройки монитора в ArcMap. Это может быть полезно при создании карты для дальнейшего импорта в ArcGIS AllSource.

Для доступа к настройкам монитора в любом диалоговом окне Свойства символа щелкните раскрывающееся меню в образцах света и выберите параметр Другие цвета.

Простой выбор цвета

В диалоговом окне Выбор цвета нажмите кнопку со стрелкой и выберите Настройка монитора.

Диалоговое окно Выбор цвета

В диалоговом окне Настройка монитора измените параметр Гамма на 2.2 и нажмите кнопку ОК, чтобы закрыть диалоговое окно.

Диалоговое окно Настройка монитора

Тогда ArcMap будет использовать значение гаммы, которое лучше соответствует цветовому профилю, используемому механизмом отрисовки ArcGIS AllSource.

Примечание:

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

Обработка шрифтов

Шрифты обрабатываются несколько другим образом в ArcGIS AllSource по сравнению с ArcMap. Например, для текста нет вариантов псевдокурсива или псевдожирного стилей, как это было в ArcMap. Вы должны использовать шрифт, у которого есть стили полужирный или курсив, если хотите сделать его таким. Псевдокурсив или псевдожирный стиль относятся к ситуации, когда шрифт недоступен в курсиве или жирном стиле, или для сочетания свойств не установлен соответствующий шрифт. Например, у пользователя могут быть шрифты Verdana Bold и Verdana Italic, но не быть Verdana Bold Italic.

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

Примеры псевдокурсива
Версия псевдокурсива для шрифта в ArcMap (слева) и фактический шрифт, отображаемый без псевдостилей (справа).

Это часто визуально не соответствует реальной версии курсива или жирного стиля шрифта. Так, для некоторых шрифтов Esri (например, шрифтов, созданных для использования в качестве символов маркеров), не имеет смысла отображение с курсивом или в жирном стиле. ArcGIS AllSource отображает только те шрифты и стили шрифтов, которые доступны в системе.

Примеры псевдожирного шрифта
Версия псевдожирного шрифта в ArcMap (слева) и фактический шрифт, отображаемый без псевдостилей (справа).

Связь шрифтов и резервные шрифты

Шрифты содержат определения для специальных символов (Латинская буква A, китайский иероглиф Qian [qian], и т.п.) в разных наборах символов (например в восточно-европейском или кириллице) в зависимости от выбора разработчиков. Связь шрифтов и резервные шрифты — это методы отображения символов, которые не существуют в запрошенном шрифте, за счет их прорисовки с помощью схожего шрифта, в котором они есть. Эти методы часто используются для отображения латинских символов в шрифтах, которые содержат только восточно-европейские символы и наоборот.

В таких случаях ArcMap использует Windows GDI (интерфейс графических устройств, графическую систему, встроенную в Windows), чтобы попытаться связать текущий шрифт с шрифтом, который содержит отсутствующие глифы, и отобразить текстовую строку несмотря на отсутствие некоторых символов. ArcGIS AllSource использует сходную логику, поэтому текст все также может быть отрисован. В отличие от ArcMap, резервные шрифты ArcGIS AllSource будут отрисовываться в выходных форматах, где есть ссылки на шрифты, например, PDF или EPS. В большинстве случаев, когда вы полагаетесь на резервные варианты, результат будет не самым оптимальным визуально в связи с нарушением расстояния между буквами и других свойств в исходном шрифте и связанном альтернативном варианте шрифта (см. Рисунок ниже).

Резервный шрифт
ArcMap (слева). ArcGIS AllSource отображает квадраты, так как символов нет в шрифте Arial Unicode MS.

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

В общем, рекомендуется использовать шрифт со всеми глифами для используемого набора символов. В примере выше в выбранном шрифте Arial Unicode MS отсутствует набор символов для мальдивского языка. Чтобы убедиться, что текст отображается правильно, используйте теги форматирования текста для переключения на шрифт с нужными символами мальдивского языка, например MV Boli.

Замена шрифта

Аналогичная технология, замена шрифта — это метод отображения текста другим шрифтом, если запрошенного шрифта нет в системе. Например, если карта содержит текст с шрифтом Helvetica, но Helvetica не установлен на компьютере, текст отображается с использованием шрифта Arial.

ArcGIS AllSource может использовать замену шрифта, как и ArcMap. Однако в общем случае рекомендуется убедиться, что шрифты, используемые на карте, доступны на компьютере, где эта карта будет использоваться.