Tworzę niektóre zmiennoprzecinkowe rastry w GDAL ze sterownikiem GeoTIFF. Kiedy ładuję powstałe obrazy do QGIS lub Arc, domyślna symbolika ustawia min na -3,40282e38 i max na 3,40282e38, więc raster wygląda dokładnie na szary. Czy istnieje sposób, w jaki mogę zapisać rzeczywisty zakres bezpośrednio w GeoTIFF, aby po załadowaniu do programu GIS automatycznie ładnie skalował histogram? Próbowałem utworzyć domyślny histogram w ten sposób:
rasterMin, rasterMax = raster.GetRasterBand(1).ComputeRasterMinMax()
raster.GetRasterBand(1).SetDefaultHistogram(rasterMin, rasterMax, 255)
Ale pojawia się błąd, który wygląda jak wiążący problem:
File "/usr/lib/python2.6/dist-packages/osgeo/gdal.py", line 846, in SetDefaultHistogram
return _gdal.Band_SetDefaultHistogram(self, *args)
TypeError: not a sequence
Wszelkie sugestie dotyczące tego, co mogę zrobić lub jeśli popełniłem błąd?
band.ComputeStatistics(0)
przechowuje również statystyki. To łatwa 1-linia.Nie wiem, jak to zrobić za pomocą GDAL, ale możesz użyć Pythona, aby wywołać narzędzie „oblicz statystyki” w Arc.
źródło