Jestem naprawdę nowy w Pythonie i chciałbym wiedzieć, czy istnieje szybka metoda uzyskiwania wartości komórek piksela rastrowego piksel po pikselu i współrzędnych (współrzędna mapy XY środka każdego piksela) za pomocą Pythona w ArcGIS 10?
Aby opisać to dokładniej, muszę uzyskać mapę X, mapę Y i wartość komórki pierwszego piksela, przypisać te trzy wartości do trzech zmiennych i powtórzyć ten krok dla pozostałych pikseli (pętla przez cały raster).
Myślę, że muszę bardziej opisać moje pytanie. Problem w tym, że muszę uzyskać lokalizację XY piksela pierwszego rastra i uzyskać wartości komórek kilku innych rastrów odpowiadających tej lokalizacji XY. Proces ten powinien przebiegać w pętli przez każdy piksel pierwszego rastra bez tworzenia pliku kształtu pośredniego punktu, ponieważ zajmie to naprawdę dużo czasu, ponieważ muszę obsługiwać raster z prawie 8 miliardami pikseli. Ponadto muszę to zrobić za pomocą Pythona w ArcGIS 10.
@JamesS: Dziękuję bardzo za sugestię. Tak, to zadziałałoby dla jednego rastra, ale muszę również zebrać wartości komórek dla kilku innych rastrów. Problem polega na tym, że po uzyskaniu współrzędnych X i Y pierwszego piksela pierwszego rastra muszę uzyskać wartość komórki drugiego rastra odpowiadającą lokalizacji X, Y pierwszego rastra, a następnie trzeciego rastra i tak dalej. Tak więc myślę, że podczas zapętlania pierwszego rastra pobieranie lokalizacji X i Y piksela i uzyskiwanie wartości komórek drugiego rastra odpowiadających tej lokalizacji powinno odbywać się jednocześnie, ale nie jestem pewien. Można to zrobić, konwertując pierwszy raster na plik kształtu punktu i wykonując Wyodrębnij wielowartościowe do funkcji punktowej w ArcGIS 10, ale ja '
@hmfly: Dzięki, tak, ta metoda (RastertoNumpyarray) zadziała, jeśli uda mi się uzyskać współrzędne znanej wartości wiersza i kolumny tablicy.
@ whuber: Nie chcę wykonywać żadnych obliczeń, wszystko, co muszę zrobić, to zapisać współrzędne XY i wartości komórek w pliku tekstowym i to wszystko