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

10

При отображении значения в качестве цвета для рендеринга тематической карты границы объектов могут сильно изменить читаемость карты. Например, на этой тематической карте округов США с черными границами: введите описание изображения здесь

В некоторых областях много мелких объектов, и это делает их темнее из-за границ, не учитывая тематический цвет. Если границы нарисованы с непрозрачностью 30%, это приводит к следующей карте: введите описание изображения здесь

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

Существуют ли автоматические способы определения хорошего цвета / непрозрачности для слоев? Какое программное обеспечение ГИС предоставляет метод для правильного решения этой проблемы?

Jeremy-джордж
источник

Ответы:

7

Вы можете иметь другой подход к этой проблеме.
1) от ширины линии: единицы ширины линии = единицы карты.
2) правила масштаба карты: близкие карты = толстые линии, дальние карты = тонкие линии.

В QGIS вы можете сделать оба.

введите описание изображения здесь

Pablo
источник
5

Мой любимый эффект для читабельности / эстетики - «градиентная заливка». Если вы используете программное обеспечение ArcGIS, этот эффект довольно просто реализовать ... Вот хороший пост в блоге от команды ESRI в Mapping Center:

Быстрые полосы оттенка

BrianPeasley
источник
Мне нравится этот эффект, но, просто читая пост в блоге, я чувствую себя немного сложнее (возможно, это связано с их выбором цвета). Кто-нибудь еще находит это?
djq
1
Я сделал аналогичную версию этого эффекта, буферизовав внутренности полигонов, покрасив буфер так же, как поли, но изменив насыщенность цвета буфера ... Мне понравилось это решение лучше, чем размытые изображения, показанные в блоге. после!
BrianPeasley,
3
Этот эффект не будет работать вообще для небольших изображений в вопросе. Градиент будет либо незаметным, либо полностью заполнит меньшие полигоны.
Шон
3

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

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

Мэтью Снейп
источник
2

В ArcMap вы можете установить эталонный масштаб для фрейма данных и в слое Свойства отображения отметьте «Символы шкалы, когда установлен эталонный масштаб».

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

Если это не дает желаемых результатов, вы также можете создавать копии слоя для отображения в различных масштабах. Например, один слой должен быть обозначен как 1: 24 000, и не показывать больше 1: 24 000, другой слой - 1: 100 000, а значение не должно превышать 100 000 или больше 24 000 и т. Д. Фактические числа будут зависеть от ваших данных и собственные дизайнерские пристрастия.

Шон
источник
2

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

DavidF
источник
1
но тогда вы не можете различить соседние многоугольники, которые имеют одинаковый цвет
neuhausr
2

Меня не убеждает метод «оттенка» BrianP - он звучит хорошо, но тогда вы можете оценивать оттенок только по одному многоугольнику, давая «сторонам» карты, которые на самом деле не существуют. Смотрите ссылку, чтобы увидеть, что вы думаете.

Я предпочитаю вариант идеи Пабло: изменение границ непрозрачности границ при увеличении масштаба. На высоком уровне низкая непрозрачность, так как при увеличении черных границ увеличивается непрозрачность.

Это можно сделать в KML для Google Планета Земля с помощью функции «регионы».

Trevesy
источник
2

Порог читаемости символа карты для линейного символа составляет 0,1 мм (согласно Салищеву К. А., Einfuhrung in Kartographie и многим другим картографическим книгам).

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

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

жюльен
источник
1

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

Например, если вы хотите настроить полилинию так, чтобы она отображалась на карте шириной 0,8 мм в масштабе 1: 30 000 (с единицами измерения в метрах) и пропорционально увеличивалась или уменьшалась в масштабе карты:

  1. Откройте свойства слоя и выберите вкладку « Стиль »

  2. Изменение блока на «карте» блок

  3. Вычислите, что представляет собой 0,8 мм в м на карте масштаба 1: 30000: 0,8 / 1000 * 30000 = 24 м и вставьте это значение (24) в поле Ширина .

Это оно!

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

0.8 * 30000 / @map_scale
Джонатан Портер
источник