Daha çox

Python / GDAL hiperspektral şəkil dalğa boyları


Maks Köniqin burada gətirdiyi təlimata əsasən GDAL istifadə edərək hiperspektral bir görüntü açıb oxuya bilərəm:

Beləliklə, bu kimi məlumatları oxuduqdan sonra:

data = gdal.Open (fayl adı)

sonra verilənlər bazasının x, y, dim məlumatlarını görə bilərəm:

x = data.RasterXSize y = data.RasterYSize dim = data.RasterCount

İndi sual budur ki, hər zolağın həqiqətən hansı elektromaqnit spektrini təmsil etdiyini bilmək üçün bir yol varmı?

Pythondakı bütün lentləri bir siyahı olaraq oxuduqdan sonra:

RasterBands = [] i üçündür (data.RasterCount): RasterBands.append (data.GetRasterBand (i))

Yaza bilərəm:

RasterBands [1] .ComputeBandStats ()

Bu, mənə iki float dəyər verəcək, amma 1 bandın dalğa uzunluqlarını təmsil edib-etmədiklərinə əmin deyiləm.

Hər kəs mənə bir ipucu verə bilsə minnətdar olardım!

Ən yaxşı Sina


@ User30184-in dediyi kimi, gdal yalnız raster bantınızın dəyərlərini oxuyur, ancaq metadataya (məlumatlar haqqında əldə etməli olduğunuz məlumatlara) əsaslanaraq hər bantın boşluğunu bilməlisiniz.

"ComputeBandStats ()" tərəfindən qaytarılmış iki dəyər olacaqdır deməkstandart sapma zolaqlardakı dəyərlərin. Ortalama dəyər sıfır ilə bir arasındadırsa, məlumatlarınızın yansıtmayı saxladığını düşünə bilərsiniz, əks halda dəyərlər, ehtimal ki, rəqəmli rəqəmlərdir.

Ümumiyyətlə, hiperspektral məlumatlar dalğa uzunluqlarında (məsələn, 6 nm) sabit bir seçmə intervalı ilə çox sayda zolağa (bir neçə yüzə) sahibdir, buna görə dalğa uzunluğu aralığının (məsələn, 400-900 nm) dəyərini bilirsinizsə, əldə edə bilərsiniz 3 qayda istifadə edərək hər lentin mərkəzi dalğa boyu.


Videoya baxın: Read and write raster files with GDAL in Python (Oktyabr 2021).