Quelles sont les règles arithmétiques qui régissent les valeurs de Nodata? Quelle que soit la façon dont ces valeurs nulles sont définies? J'utilise ArcMap Raster Calculator.
Je pense spécifiquement aux opérations comme 1 * Nodata (ou 1 * null), 1 / Nodata, 1 + Nodata, 1-Nodata, Nodata-1 etc ...
Réponses:
D'accord, personne n'a fourni de réponse à cette question, j'ai donc pensé que j'interviendrais. Je soupçonne que tous les SIG qui prennent en charge la valeur NoData le font exactement de la même manière. Chaque opération mathématique appliquée à une image raster recherche le cas particulier des cellules de grille contenant des valeurs NoData, puis exécute un chemin qui ignore efficacement l'opération et génère une valeur NoData pour la cellule de grille correspondante dans l'image de sortie . Voici un exemple tiré de l' outil Ajouter dans le GIS Whitebox GAT open source:
Soit dit en passant, c'est le code qui est également exécuté si vous ajoutez deux images dans la calculatrice raster de Whitebox. Dans Whitebox, chaque raster peut avoir une valeur NoData unique car elle est spécifiée dans le fichier d'en-tête du raster. En tant que tel, ce n'est pas nécessairement la même chose pour les deux images ajoutées et c'est pourquoi vous voyez les variables noData1 et noData2 définies dans le code ci-dessus. Surtout, vous verrez que lorsque le code parcourt chaque cellule de la grille dans la pile raster, il récupère les deux valeurs dans les images d'entrée correspondantes pour une cellule (z1 et z2), puis vérifie que les deux ne sont pas égales à NoData . Par conséquent, l'ajout ne se produit que si les deux rasters contiennent une valeur valide dans les entrées. Si ce n'est pas le cas, rien n'est entré dans la cellule de grille de sortie. En fait, l'image de sortie a été créée et initialisée avec sa propre valeur NoData, ainsi, en n'entrant pas de valeur ajoutée pour une cellule de la grille (car au moins une des entrées est NoData), la sortie aura également la valeur NoData. Des opérations similaires ont lieu pour chacune des opérations mathématiques et, en fait, la plupart des outils qui impliquent des jeux de données raster en entrée suivront une approche similaire pour traiter le cas spécial des valeurs NoData. Deux exceptions courantes à cette règle selon lesquelles les opérations produisent une valeur NoData pour les entrées NoData se trouvent dans la plupart des SIG duOutils Con et Set Null . L' outil Con d'ArcGIS indique: "Si NoData ne satisfait pas à la, il ne reçoit pas la valeur de la, et il reste NoData." Ainsi, si «NoData» fait partie de l'instruction conditionnelle et une cellule de grille avec cette valeur réduite à «TRUE», une valeur non-NoData peut être sortie. De même, l' outil Définir une valeur nulle génère en fait une valeur non NoData pour les cellules d'entrée contenant NoData.
J'espère que cela vous aide à comprendre le fonctionnement de cette mystérieuse valeur NoData. Et rappelez-vous que zéro n'est pas la même chose que NoData! (Sauf bien sûr, zéro a été marqué comme valeur NoData pour un raster particulier).
la source
Chacun de vos exemples, la réponse est en fait NoData
1 * Nodata (ou 1 * null) = NoData
1 / Nodata = NoData
1 + Nodata = NoData
1-Nodata = NoData
Nodata-1 = NoData
Je dois ajouter que de nombreuses opérations vous donnent la possibilité de "sauter" NoData dans une fonction.
la source