Modifier les valeurs raster dans la boîte de dialogue de style raster QGIS

10

Je souhaite utiliser la boîte de dialogue Style de raster QGIS pour afficher les valeurs de raster modifiées. Plus précisément, j'aimerais voir un dégradé en utilisant la racine carrée de la valeur du raster.

Je comprends qu'il est possible d'utiliser la calculatrice raster pour transformer les valeurs raster, mais - si possible - je voudrais ignorer cette étape et appliquer la formule mathématique pendant le style, et éviter de créer une copie modifiée du raster d'origine.

Ce type d'opération est possible avec des fichiers vectoriels, en utilisant des valeurs définies pour les données de couleur / largeur / etc. Est-il possible de le faire avec des rasters?


la source

Réponses:

1

Je n'essaye jamais mais cela pourrait être possible en utilisant un fichier raster virtuel (VRT) créé avec GDAL sur lequel vous pouvez effectuer un calcul sans modifier votre source de données ou créer un énorme nouveau fichier raster sur disque (juste un fichier xml vrt que vous pouvez ouvrir dans QGis et vous style sur ses valeurs de bande).

par exemple, votre fichier vrt devrait ressembler à ceci (non testé):

<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>

Pour avoir plus de détails, jetez un œil au format virtuel .

Hugo Roussaffa - GeoDatup
la source
0

C'est une bonne question. À ma connaissance, il n'y a aucun moyen de le faire pour le moment, mais j'espère qu'un jour ce sera possible.

En tant que solution temporaire, vous pouvez essayer de convertir vos données raster en points et de les styliser pour qu'elles ressemblent chacune à un carré sans limites d'une taille égale à l'espacement des pixels.

Vous pouvez ensuite utiliser tous les outils de style vectoriel dont vous avez besoin sur cette "fausse" couche de pixels.

gisnside
la source