ArcGIS AllSource использует высокопроизводительный механизм отрисовки для того, чтобы карты и сцены отрисовывались как можно быстрее со сглаженными символами и текстом.
Поскольку этот механизм отличается от механизма, используемого в ArcMap, есть важные отличия в отображении карты в ArcGIS AllSource при импорте.
В следующих разделах описываются некоторые отличия прорисовки и причины их возникновения.
Сглаживание текста и шрифтового маркера
В ArcMap сглаживание текста и шрифтового маркера контролируется настройками сглаживания шрифта, заданных в параметрах экрана компьютера. Эти настройки задаются на каждого пользователя, а не в опциях приложения.
В ArcGIS AllSource эти настройки задаются в опциях приложения.
Так как механизм отрисовки ArcGIS AllSource использует отличный метод сглаживания текста и символов и алгоритмы, используемые для применения сглаживания, также отличаются, отображение текста и шрифтовых маркеров может различаться по сравнению с отображением в ArcMap.
Отличия округления координат
В ArcMap, элементы на экране определяются целочисленными координатами. Если реальная координата объекта (например, линии или маркера) не полностью совпадает с целочисленной координатой, она округляется до большего или меньшего значения. Это может привести к неточностям, в частности к появлению тонких линий или линий с очень тонкими элементами. Линии, размеры которые меньше одного пиксела при заданном масштабе или экстенте, округляются до одного пиксела.
В ArcGIS AllSource механизм отрисовки может использовать координаты меньше одного пиксела для размещения и отображения объектов на карте. Это позволяет получить более точное расположение объектов и символов.
Однако, если символы карты изначально были созданы в ArcMap, внешний вид может отличаться в ArcGIS AllSource. Это особенно очевидно для линейных символов.
ArcGIS AllSource обладает функциональной способностью сглаживания для устранения этого недостатка, но существуют случаи, когда сглаживание не будет наиболее оптимальным решением. Например, использование сглаживания может снизить производительность отображения. В зависимости от требований карты это может оказаться неприемлемым. Вместе с этим, для целевых форматов экспорта, использующих 8-разрядную палитру (например форматы PNG 8 или GIF), механизм сглаживания может быть не столь эффективен из-за использования механизма передачи полутонов, необходимого для плавного перехода цвета.
Чтобы исправить эту ситуацию, измените размер многослойного линейного символа вручную для достижения необходимого размера линий. Это также позволяет перейти к использованию иного разрешения и не использовать разрешение в 96 dpi (а использовать, например, 120 dpi).
Проектирование линий под определенное разрешений (dpi)
Для определения необходимых размеров линии для определенного разрешения, подставьте значения размеров символов в многослойном линейном символе в следующую формулу. Рекомендуется задать значение целевого разрешения (TargetResolution), чтобы отражать необходимое минимальное разрешение, которое будет использоваться при отображении символа. Обратите внимание, что значение 72, которое используется в примерах ниже, неизменно и связано с коэффициентом пересчета точек на дюйм.
WidthInPixels = (LineWidth in points * TargetResolution in dpi)/72
Если WidthInPixels меньше 1,5, ширину не следует менять. Если WidthInPixels равна или больше 1,5, с помощью следующей формулы выясните, как следует изменить ширину:
- Вычислите новую ширину в точках:
NewWidthInPoints = (WidthInPixels + 0.5)
- Округлите NewWidthInPoints до ближайшего целочисленного значения, которое не больше NewWidthInPoints.
- Задайте ширину итоговой линии как:
(RoundedNewWidthInPoints * 72) / TargetResolution
Так, например, если необходимо разрешение 44 dpi, а ширина линии символа составляет 2,60, то необходимо выполнить следующие вычисления:
- Вычислите ширину в пикселах.
(2.60 * 44) / 72.0 = 1.5888. Поскольку WidthInPixels больше 1.5, перейдите к следующему шагу.
- Вычислите новую ширину в точках.
NewWidthInPoints = (WidthInPixels + 0.5) = (1.5888 + 0.5) = 2.0888.
- Округлите результат до ближайшего целого.
NewWidthInPoints = 2.0
- Используйте этот результат для определения итоговой ширины линии.
(2.0 * 72) / 44 = 3.27 точек.
Вот другой пример. Если необходимо разрешение 120 dpi, а новая ширина линии символа составляет 2,60, то необходимо выполнить следующие вычисления:
- Вычислите ширину в пикселах.
(2.60 * 120) / 72.0 = 4.333. Поскольку WidthInPixels больше 1.5, перейдите к следующему шагу.
- Вычислите новую ширину в точках.
NewWidthInPoints = (WidthInPixels + 0.5) = (4.333 + 0.5) = 4.833.
- Округлите результат до ближайшего целого.
NewWidthInPoints = 4.0
- Используйте этот результат для определения итоговой ширины линии.
(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.
В случае стиля псевдокурсива и псевдожирного стиля, исходный шрифт будет графически наклонен (курсив) или расширен (жирный).
Это часто визуально не соответствует реальной версии курсива или жирного стиля шрифта. Так, для некоторых шрифтов Esri (например, шрифтов, созданных для использования в качестве символов маркеров), не имеет смысла отображение с курсивом или в жирном стиле. ArcGIS AllSource отображает только те шрифты и стили шрифтов, которые доступны в системе.
Связь шрифтов и резервные шрифты
Шрифты содержат определения для специальных символов (Латинская буква A, китайский иероглиф [qian], и т.п.) в разных наборах символов (например в восточно-европейском или кириллице) в зависимости от выбора разработчиков. Связь шрифтов и резервные шрифты — это методы отображения символов, которые не существуют в запрошенном шрифте, за счет их прорисовки с помощью схожего шрифта, в котором они есть. Эти методы часто используются для отображения латинских символов в шрифтах, которые содержат только восточно-европейские символы и наоборот.
В таких случаях ArcMap использует Windows GDI (интерфейс графических устройств, графическую систему, встроенную в Windows), чтобы попытаться связать текущий шрифт с шрифтом, который содержит отсутствующие глифы, и отобразить текстовую строку несмотря на отсутствие некоторых символов. ArcGIS AllSource использует сходную логику, поэтому текст все также может быть отрисован. В отличие от ArcMap, резервные шрифты ArcGIS AllSource будут отрисовываться в выходных форматах, где есть ссылки на шрифты, например, PDF или EPS. В большинстве случаев, когда вы полагаетесь на резервные варианты, результат будет не самым оптимальным визуально в связи с нарушением расстояния между буквами и других свойств в исходном шрифте и связанном альтернативном варианте шрифта (см. Рисунок ниже).
Из-за этих проблем не рекомендуется полагаться на резервные шрифты для отображения определенных глифов на любых карт.
В общем, рекомендуется использовать шрифт со всеми глифами для используемого набора символов. В примере выше в выбранном шрифте Arial Unicode MS отсутствует набор символов для мальдивского языка. Чтобы убедиться, что текст отображается правильно, используйте теги форматирования текста для переключения на шрифт с нужными символами мальдивского языка, например MV Boli.
Замена шрифта
Аналогичная технология, замена шрифта — это метод отображения текста другим шрифтом, если запрошенного шрифта нет в системе. Например, если карта содержит текст с шрифтом Helvetica, но Helvetica не установлен на компьютере, текст отображается с использованием шрифта Arial.
ArcGIS AllSource может использовать замену шрифта, как и ArcMap. Однако в общем случае рекомендуется убедиться, что шрифты, используемые на карте, доступны на компьютере, где эта карта будет использоваться.