J'ai un raster avec des lacunes. Je souhaite les remplir avec des moyennes des cellules environnantes à l'aide d'ArcGIS 10.2 for Desktop.
J'ai essayé "Focal Statistics" mais il fait la moyenne de CHAQUE cellule et pas seulement les écarts.
J'ai essayé [Mosaic] .IsNull.Con ([Average], [Mosaic]) trouvé ici Patching mais je ne sais pas comment l'implémenter / cela ne fonctionnera pas pour moi
J'ai essayé Map ALgebra mais je pense qu'ils utilisaient des versions antérieures à 10.2.
Ce que je veux. Créez un faux raster avec des lacunes comblées. Utilisez le faux raster pour combler les lacunes du vrai raster sans remplacer les points par des données réelles.
arcgis-desktop
arcgis-10.2
spatial-analyst
Steven Crisp
la source
la source
Réponses:
Cela marche:
Où "w" et "h" sont le rayon de recherche.
Cela ne fait que des statistiques focales sur les zones NoData. J'ai vérifié en effaçant les données d'un DEM, puis en trouvant la différence. Il vous suffit de vous assurer que le rayon de recherche est adéquat.
la source
arcpy.sa.NbrCircle(radius, units)
où les unités peuvent être'MAP'
ou'CELL'
.Utilisez la fonction de statistiques focales, comme vous l'avez décrit pour faire la moyenne de toutes les cellules du raster. Ensuite, utilisez les fonctions Con et IsNull dans la calculatrice raster pour remplacer uniquement les cellules qui sont nulles.
Un inconvénient possible de cette solution est que vous pouvez voir des valeurs de cellule moyennes supplémentaires indésirables autour du périmètre de votre raster en sortie
la source
Vous devez utiliser Raster Calculator et il existe une ligne de code utile et pertinente à partir de la page de support d'ESRI HowTo: supprimer et remplacer aucune valeur de données dans un raster en utilisant des informations statistiques à partir des valeurs de données environnantes . D'après votre question, il semble que cela ferait exactement ce que vous essayez de faire, mais faites-moi savoir si je me trompe. Voici ma capture d'écran de Raster Calculator utilisant une instruction conditionnelle pour calculer une valeur moyenne pour les cellules sans données des cellules environnantes:
Si vous avez des centaines de ces tâches à effectuer, je vous recommande d'utiliser l'itérateur de trame dans le générateur de modèle, qui alimentera tous vos rasters dans l'outil de calcul de raster, comme ceci:
la source
J'ai essayé la méthode Raster Calculator utilisée par LeonB, mais j'ai rencontré une erreur de mémoire insuffisante, ce qui est surprenant compte tenu des spécifications de mon système. A écrit un petit script python autonome - modifié à partir d' ici - dans IDLE qui a fonctionné pour moi ...
la source