Можно ли использовать символы вместо цветов для визуализации значений растровых ячеек?


14

У меня есть растровое изображение (GeoTIFF) с целочисленными значениями. Я знаю, как визуализировать растровые значения в QGIS с использованием цветовых карт или аналогичных, но я бы хотел вместо этого назначать символы для каждого цветового значения - точно так же, как цветовая карта, но с символами.

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

Вопрос:
возможно ли это и в таком случае как?


ну, вы можете использовать SVG-символы в цветовых картах, которые дадут несколько красивых карт
Curlew

Можете ли вы дать мне подсказку, где я могу узнать об этом?
Чау

Используя ответ Curfew, я думаю, что я бы работал над преобразованием каждой ячейки в точку (очень похоже на сетку asc), чтобы контролировать 1 символ на значение. Но я не понимаю, как можно обойтись преобразованием в вектор.
Брэд Несом

Это может быть возможно, но я думаю, что нам нужно знать больше о вашем растре. Это действительно изображение , сколько у него полос и сколько у него «цветов»? N.
nhopton

В этом случае мой растр - это одноканальное изображение с 10 различными целочисленными значениями - простой случай. Но было бы очень удобно иметь возможность стилизовать растровые изображения на лету в целом.
Чау

Ответы:


10
  1. Полигонизируйте свою растровую форму с помощью инструмента Растр-полигон в меню растра. Используйте значение поля в качестве категории
  2. Нажмите на классифицированный стиль, классифицируйте и дважды щелкните по символу. Затем выберите «SVG-FILL», и должно появиться следующее диалоговое окно с некоторыми основными иконками SVG, поставляемыми с QGIS. введите описание изображения здесь

  3. Выберите значок и не забудьте установить граничную линию («простая линия») без пера. В противном случае поля будут ограничены небольшой линией. Ваш вопрос отображает такую ​​границу, поэтому, возможно, вы захотите их оставить.

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

Это было сделано с использованием версии разработки QGIS 1.9, но предполагается, что это возможно и в версии 1.8. Вы можете создавать свои собственные SVG-символы, используя, например, превосходный пакет Inkscape.


1
Я прекрасное решение. Но я действительно предпочитаю тот, где мне не нужно изменять свой растр, в вашем примере, чтобы полигонизировать его.
Чау

это может быть очень трудно понять, потому что, насколько я знаю, растровые ячейки могут отображаться только с RGB-цветами. Нечто столь же сложное, как символы, явно принадлежит миру векторных слоев
Керлью

1
Растр - это просто сетка, поэтому преобразование в точки, а не в полигонизацию, может быть ближе к требованиям Чау. Затем просто обозначьте точки соответствующим образом и, если необходимо, положите простую сетку поверх того же разрешения, что и растр, чтобы она выглядела точно так же, как пример изображения Чау.
MappaGnosis

4

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


Потому что это визуализация, как цветовые карты.
Чау

3
ну, вы можете использовать SVG-символы в цветовых картах, которые дадут несколько красивых карт
Curlew

Можете ли вы дать мне подсказку, где я могу узнать об этом?
Чау

4

Я считаю, что QGIS все еще поставляется с gdal2xyz.py, и с его помощью вы можете преобразовать свой растр в текстовый файл.

Откройте терминал в каталоге, содержащем растр и запустите:

gdal2xyz.py filename.tif filename.txt

Текстовый файл будет содержать разделенные пробелами триплеты xyz, содержащие ординату x, ординату y и значение z (из растра).

Вам нужно будет добавить новую первую строку в файл, что-то вроде «xy z» (без кавычек). Сделав это, вы сможете загрузить файл в QGIS, используя инструмент «Добавить текст с разделителями», выбрав «пробел» в качестве разделителя.

Затем в QGIS вы можете стилизовать точки: Свойства -> Вкладка «Стиль» -> Категоризовать, а затем использовать символы шрифта для стилизации точек.

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


интересный пример (+1). Является ли XYZ-слой векторным слоем и чем он отличается от полигонизации растра?
Curlew

1
Что ж, если вы полигонизируете растр, вы создаете полигоны, которые заключают в себе группы пикселей с одинаковым значением. Но в этом случае требовалось разбить растр на векторные точки, каждая точка имела значение атрибута, взятое из растра.
Ноптон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.