发现上一次数据中大面积是海…(所以搜索结果里的文件实际所在区域可能与find data里选的区域周围距离很远?),于是又重新下了 2019-09-04 10:25 H: 18, V: 6
-
将某图层数据显示为图片
- MODIS可见光及近红外波段
Band Color BandWidth(nm) 1 Red 620 - 670 2 NIR 841 - 876 3 Blue 459 - 479 4 Green 545 - 565 - 显示nparray数组为图片
# matplotlib plt.imshow(data) plt.savefig(fileName) plt.show() # PIL im = Image.fromarray(data) im.save(fileName) im.show()
- MODIS可见光及近红外波段
-
将某三个图层数据显示为图片
- 代码
red = sds[16].ReadAsArray() * 0.0001 nir = sds[17].ReadAsArray() * 0.0001 blue = sds[18].ReadAsArray() * 0.0001 green = sds[19].ReadAsArray() * 0.0001 red_ = np.expand_dims(red, 0) blue_ = np.expand_dims(blue, 0) green_ = np.expand_dims(green, 0) # true color array trueColor = np.concatenate([red_, green_, blue_]) # 转换为matplotlib中的数据格式 即:(C, H, W) -> (H, W, C) trueColor = trueColor.transpose((1, 2, 0)) display(trueColor, "trueColor") def display(data, title, band=1): plt.imshow(data) plt.savefig(title + ".png") plt.show()
-
结果:
- 代码
-
计算NDVI
- 使用两个波段
def cal_NDVI(data_red, data_nir): """ To calculate the NDVI of each pixel and return the result. :param data_red: :param data_nir: :return: """ result = ((data_nir - data_red) / (data_nir + data_red)) # 进行异常值处理 result[np.isnan(result)] = 0 result[result > 1] = 1 result[result < 0] = 0 print(np.min(result)) print(np.max(result)) # check the histogram hist, edges = np.histogram(result) print(hist) print(edges) display(result, "NDVI")
-
结果
-
分布
- 使用两个波段
绘制LST-NDVI散点图
2020-02-22
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 三十五、 实战–JS解密实战项目(3) 示例代码 import requests import time impo...
- Cytotoxic drugs continue to be the mainstay of medical tr...