почему я получаю отрицательные значения для полос 5, 6 и 7 после радиометрической коррекции? - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь радиометрически корректировать изображения Landsat 8 вручную с помощью Python; Я использую Rasterio и числовые массивы для изменения цифровых номеров каждой полосы, используя мультипликативные и аддитивные значения полосы из файла MTL, представленные в данных коллекции 1 LVL 1, но мои значения для NIR SWIR1 и SWIR2 выходят отрицательными.

 for x in B_list: 
    with rasterio.open(x,"r") as b:
        band=b.read(1)
        band_masked = numpy.ma.masked_array(band, mask=(band == 0))
        TOA_x=(.00002000*band_masked)+(-.100000)
        TOA=TOA_x/math.sin(sun_elevation)
        scaled=TOA*10000 # scale the numbers by 10000
        rad_cor_bands.append(scaled) # append the new rasters to a list

Это результаты по сравнению с результатами ENVI FLAASH:

(МОИ РЕЗУЛЬТАТЫ)

{'min': 870.353812730424, 'max': 9149.756477515453, 'mean': 1282.322945234995, 'std': 320.7381911648936}

{'min': 622.4013889713156, 'max': 10142.046235327802, 'mean': 1079.4094047219655, 'std': 350.35757713331907}

{'min': 343,96497894172603, 'max': 11529.667689104577, 'mean': 896.144857921475, 'std': 378.5729920045608}

{'min': 134.17754586770752, 'max': 11543.109446830142, 'mean': 742.6455972788715, 'std': 453.6422724804889}

{'min': -110.65446984796611, 'max': 10970.634586553786, 'mean': 1557.865121879584, 'std': 1162.4318852778347}

{'min': -82.33076606909405, 'max': 14530.300069949319, 'mean': 1092.5736223521078, 'std': 926.4220337052117}

{'min': -41.045367340568724, 'max': 14530.300069949319, 'mean': 667.2732393332138, 'std': 626.3179561231228}

(РЕЗУЛЬТАТЫ ENVI)

Группа 1 859,540771 9036,083008 1266,391450 316,757106

Группа 2 614,668823 10016,045898 1065,998458 346,008481

Полоса 3 339,69899 11386,427734 885,012531 373,876933

Группа 4 132,510468 11399,702148 733,421884 448,012152

Группа 5 0,711042 10834,339844 1538,519843 1147,988763

Band 6 0.236943 14349.781250 1078.952402 914.906030

Группа 7 1,896288 14349,781250 658,963308 618,535988

Результаты быстрых статов ENVI отображаются в том же порядке, что и в словаре, который я создал для своих массивов. Кто-нибудь знает, почему я получаю отрицательные значения для NIR SWIR1 и SWIR2? все остальные значения очень похожи на статистику ENVI Quick.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...