Ich möchte einige Ratschläge dazu erhalten, wie eine Liste eindeutiger Werte eines Rasters mit diskreten Werten mithilfe von Python und GDAL am effizientesten zurückgegeben werden kann.
Ich hatte gedacht, dass der naheliegendste Weg darin besteht, die Attributtabelle des Rasters zu untersuchen. Wenn ich dies jedoch band.GetDefaultRAT()
im Bereich eines Raster-Datasets tue , das eine Attributtabelle enthält (die Tabelle ist ohnehin in ArcCatalog sichtbar), lautet das Ergebnis immer None
:
>>> rat = band.GetDefaultRAT()
>>> rat == None
True
In diesem Fall muss ich am Ende jede Zelle des Rasters durchsuchen und manuell eine Liste eindeutiger Werte erstellen. Ist dies der einzige Weg, dies zu tun?
Oder gibt es eine Möglichkeit, eine Attributtabelle mit Python und GDAL zu erstellen und diese dann nach einer Liste eindeutiger Werte abzufragen?
quelle
Antworten:
Wenn ich es richtig verstanden habe, können Sie die Funktion np.unique von numpy lib verwenden:
oder Sie können es einmal machen:
quelle
band.ReadAsArray()
einennp.array
Anruf tätigen? Gibt es nicht bereits ein numpy Array zurück?