Comprendre les valeurs min et max avec Mosaic to New Raster?


14

Je dois combiner plusieurs rasters DEM en un seul à partir de cette source: http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp , donc j'utilise l'outil Mosaic to New Raster.

J'ai mis en place l'outil:

  1. J'entre les rasters (tous de la même source, de même taille et sans projection);
  2. Configurer le type de pixel (virgule flottante 32 bits comme dans les rasters d'origine);
  3. Configurez la taille de cellule en tant que rasters d'origine;
  4. Nombre de bandes = 1 comme les rasters d'origine; Mosaic Operator, je l'ai fait avec BLEND et MEAN (j'obtiens le même résultat).

Le problème que j'ai est que la mosaïque résultante montre une plage de valeurs maximale et minimale différente des valeurs maximale et minimale du raster individuel, par exemple, raster 1 (-5123.8, 23.25), raster 2 (-5974.6, 40.09), raster 3 (-57770.2, 38), raster 4 (-2534.3, 23.55) et raster de mosaïque final (-5975.8, 81.1).

Je suppose que cette solution n'est pas juste, du moins je ne m'attendais pas à l'obtenir. Quelqu'un a une idée si c'est correct, et si ce n'est pas le cas, comment le résoudre et obtenir un raster de mosaïque approprié avec des valeurs maximales et minimales correctes?

J'utilise ArcGIS 10.2.2 for Desktop.


Pourriez-vous nous dire comment vous avez trouvé les statistiques pour les rasters en entrée et en sortie? Parfois, dans un souci d'efficacité, ArcGIS triche et utilise uniquement un sous-ensemble de données pour estimer les statistiques. En particulier, cela signifie qu'il pourrait être loin dans ses rapports sur les minima et les maxima.
whuber

Merci de votre intérêt. Je fais un clic droit sur le calque (à la fois les rasters initiaux et la mosaïque) et regarde dans les propriétés. Il convient de mentionner que j'ai vérifié pour basculer les valeurs de chaque raster dans la symbologie de Streched vers des valeurs uniques, et il s'avère que si je passe aux valeurs Streched pour toutes les couches, cela correspond à la valeur Streched minimale d'une couche et de la valeur Streched max d'un autre, aux valeurs min et max que je vois lorsque la mosaïque est créée. N'importe qui pourrait m'expliquer si la procédure est toujours correcte, et ces différences entre les valeurs Streched et Uniques? Merci!
Tom

2
Je soupçonne que l'onglet "Propriétés" triche. Pour plus d'informations à ce sujet, voir gis.stackexchange.com/questions/8780 .
whuber

1
Merci. Je n'ai jamais pensé à la possibilité que l'onglet "Propriétés" triche. Cela peut peut-être être clarifié si nous connaissons la raison pour laquelle ArcGIS donne différentes valeurs pour les valeurs Streched et Unique dans Symbology, pour une seule couche raster. Quelqu'un saurait pourquoi?
Tom

Réponses:


10

Comme nous l'avons mentionné, souvent les statistiques trouvées dans les propriétés du raster sont parfois approximatives ou obsolètes. Ce sont des propriétés prédéterminées qui peuvent induire en erreur par rapport aux valeurs raster réelles.

Calculé vos propres valeurs min / max à partir de 100% des données réelles à l'aide de tableaux NumPy. Voir Utilisation de NumPy dans ArcGIS et RasterToNumPyArray (arcpy) . Par exemple:

import arcpy

inrast = r'C:\data\inRaster.tif'
my_array = arcpy.RasterToNumPyArray(inrast)
print((my_array.min(), my_array.max()))

Si vous avez des valeurs manquantes (NODATA), un tableau masqué est nécessaire pour obtenir les statistiques correctes:

import numpy as np
my_array = arcpy.RasterToNumPyArray(inrast)
my_masked_array = np.ma.masked_equal(my_array, arcpy.Raster(inrast).noDataValue)
print((my_masked_array.min(), my_masked_array.max()))

De plus, vous n'avez pas besoin d'ArcGIS pour lire les rasters en tant que tableaux NumPy; Par exemple, GDAL ou rasterio peuvent faire de même .


6

Comme le disent les autres réponses, les statistiques sont probablement obsolètes. Si vous préférez utiliser ArcGIS, essayez l'outil Calculer les statistiques dans la boîte à outils Gestion des données. Cela devrait mettre à jour les statistiques pour vous.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.