Changer les valeurs raster des valeurs nulles en 0 dans QGIS?

13

J'ai besoin d'aide ... J'ai des problèmes avec QGIS. J'ai des rasters qui semblent avoir des valeurs nulles, même si je les ai reclassés pour obtenir un raster booléen :(

Comment puis-je changer les valeurs NULL à 0?

Nadia
la source

Réponses:

14

à côté de la réponse @RK, vous pouvez également utiliser r.null dans l' herbe .

r.null - Gère les valeurs NULL de la carte raster donnée.

EXEMPLES

Définissez les valeurs spécifiques d'une carte classée sur NULL:

r.null map=landcover.30m setnull=21,22

Définissez les valeurs NULL d'une carte sur une valeur spécifique:

 r.null map=fields null=99

J'espère que ça t'aide...

Aragon
la source
9

Je pense que le plugin RasterCalc devrait être capable de résoudre votre problème. Une fois que vous l'avez installé, vous pouvez utiliser la requête suivante (en supposant que les valeurs NULL correspondent à -9999; vous pouvez vérifier cette valeur dans l'onglet Transparence des propriétés de la couche):

eq ([votre_raster] @ 1, -9999, 0)

eq signifie égal à. Cela indique à RasterCalc que tous les pixels de votre raster avec des valeurs NULL devraient avoir leurs valeurs définies à 0. Je suppose que vous avez un raster à bande unique.

RK
la source
1
Cela ne semble pas fonctionner (QGIS 1.8 / Rastercalc 0.2.5) - donner une "expression invalide" avec un raster chargé, par exempleeq( EL_hm@1, NULL, 0 )
Simbamangu
1
@Simbamangu, si vous utilisez la valeur réelle utilisée comme NULL (-9999 par exemple) - cela fonctionnera. par exemple eq (EL_hm @ 1, -9999, 0)
SS_Rebelious
1
@SS_Rebelious - vous voudrez peut-être mentionner dans votre modification que la valeur NULL peut être définie dans les préférences ( General|Representation for NULL values) et cela devrait se refléter dans l'expression.
Simbamangu
2

Je ne sais pas si tu as résolu ça? Il peut y avoir un moyen plus rationalisé mais cela fonctionne très bien pour moi dans le dernier QGIS (v2.8.1):

  1. Créez un nouveau polygone avec une colonne d'attribut pour la hauteur / niveau. dessinez une forme de polygone avec une étendue plus grande que l'étendue raster que vous souhaitez modifier.
  2. pixelliser ce polygone à l'aide de l'outil raster> conversion> rastériser.
  3. en utilisant les outils d'analyse GDAL> ne remplir aucune donnée> et le polygone tramé comme couche de validité.
  4. Le fichier raster résultant doit maintenant avoir des valeurs là où auparavant il n'y avait pas de données. Ce sera soit une valeur aléatoire inférieure à 0 (-9999 par exemple) ou 0. Si elle est 0, alors vous avez ce que vous vouliez. Si ce n'est pas le cas, effectuez l'étape 5.
  5. en utilisant SAGA> Grille - Outils> Calques raster Mosaick, entrez le calque raster rempli et le polygone pixellisé. dans les zones qui se chevauchent, sélectionnez [3] Maximum et définissez l'étendue de sortie sur votre raster d'origine. Cela devrait entraîner un nouveau raster qui conserve toutes vos valeurs au-dessus de 0 tout en donnant à vos précédentes valeurs sans données une nouvelle valeur de 0.
Peter
la source