Suite

Extraire par masque : extraire uniquement les cellules non couvertes par le masque


J'ai deux fichiers raster de la même résolution : le raster A et le raster B. Le raster A est le plus gros raster et le raster B couvre certaines parties du raster A. Je souhaite extraire les grilles du raster A qui ne sont pas couvertes par le raster B.

J'utilise habituellement l'extrait par masque mais cette fois, c'est l'inverse. Quelqu'un peut-il me dire comment puis-je faire cela.


Étape 1 : définissez l'étendue du traitement. Ouvrez le calculateur de raster, accédez à l'onglet environnement et définissez l'étendue de traitement équivalente au plus grand raster. Utilisez ensuite l'une des options suivantes.

OPTION 1 [extrait des commentaires de l'utilisateur FelixIP]Con(isnull (RasterB),RasterA)Cette réponse suppose que le raster A est plus grand que le raster b, comme indiqué par OP. Je crois que c'est la réponse la plus simple, j'ai donc mis la mienne comme option 2 ci-dessous. J'irais avec cette option.

OPTION 2 Cela suppose que vos deux rasters ne contiennent que des entiers positifs. si ce n'est pas le cas et qu'ils incluent 0, changez > en >=, s'ils incluent tous les deux des entiers signés, utilisez le minimum des rasters dans chaque cas.

Con(((rasterA > 0) & (raster B >0)), -9999, rasterA)Disons que vous avez nommé la sortie pour ce qui précède en tant que RasterC

Ouvrez une nouvelle calculatrice raster et utilisez SetNull pour définir toutes les valeurs où rasterB chevauche RasterA sur Null (dans l'opération ci-dessus, elles ont été définies sur -9999)

SetNull(RasterC, RasterC, "Valeur = -9999)<- RasterD de sortie

Votre RasterD doit avoir toutes les zones couvertes par le Raster A mais pas le Raster B. Si la valeur -9999 ne vous dérange pas, vous pouvez vous arrêter au Raster C.


Voir la vidéo: raster vers polygone, reclassification, 2 raster en 1, et calculatrice raster (Octobre 2021).