Изменить значения растра в диалоге стилей растра QGIS

10

Я хотел бы использовать диалоговое окно QGIS Raster Style для отображения измененных растровых значений. В частности, я хотел бы видеть градиент, используя квадратный корень из значения растра.

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

Этот тип операции возможен с векторными файлами с использованием значений, определенных для цвета / ширины / и т. Д. Можно ли сделать это с растрами?


источник

Ответы:

1

Я никогда не пробовал, но это возможно при использовании виртуального растрового файла (VRT), созданного с помощью GDAL, для которого вы можете выполнять вычисления без изменения источника данных или создавать огромный новый растровый файл на диске (просто файл vrt xml, который вы можете открыть в QGis и Вы придерживаетесь стиля на его значениях группы).

Например, ваш файл vrt должен выглядеть следующим образом (не проверено):

<VRTDataset rasterXSize="1000" rasterYSize="1000">
    <VRTRasterBand dataType="Float32" band="1" subClass="VRTDerivedRasterBand">>
        <Description>Magnitude</Description>
        <PixelFunctionType>sqrt</PixelFunctionType>
        <SimpleSource>
            <SourceFilename relativeToVRT="1">yourraster.tiff</SourceFilename>
            <SourceBand>1</SourceBand>
            <SrcRect xOff="0" yOff="0" xSize="1000" ySize="1000"/>
            <DstRect xOff="0" yOff="0" xSize="1000" ySize="1000"/>
        </SimpleSource>
    </VRTRasterBand>
</VRTDataset>

Для более подробной информации взгляните на виртуальный формат.

Уго Руссаффа - GeoDatup
источник
0

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

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

Затем вы можете использовать все необходимые инструменты векторного стиля в этом «искусственном» пиксельном слое.

gisnside
источник