【发布时间】:2021-05-31 16:12:23
【问题描述】:
我有一个卫星图像文件。加载到 dask 数组中。我想获取感兴趣的纬度、经度的像素值(最近的)。
卫星图像在 GEOS 投影中。我将经度和纬度信息作为 2D numpy 数组。
我已将它加载到一个 dask 数据数组中
from satpy import Scene
import matplotlib as plt
import os
cwd = os.getcwd()
fn = os.path.join(cwd, 'EUMETSAT_data/1Jan21/MSG1-SEVI-MSG15-0100-NA-20210101185741.815000000Z-20210101185757-1479430.nat')
files = [fn]
scn = Scene(filenames=files, reader='seviri_l1b_native')
scn.load(["VIS006"])
da = scn['VIS006']
我在 satpy 的帮助下从 area 属性中读取了 lon lats:
lon, lat = scn['VIS006'].attrs['area'].get_lonlats()
print(lon.shape)
print(lat.shape)
(1179, 808)
(1179, 808)
我得到一个 2d numpy 数组,用于坐标的经度和纬度,但我不能将它们用于切片或选择。
获取最近的经纬度像素信息的最佳做法/方法是什么? 如何将数据投影到经纬度坐标上,然后我可以使用该坐标进行索引以得出像素值。
最后,我想获得感兴趣的 lat long 的像素值(最近的)。
提前致谢!!!
【问题讨论】:
-
您有卫星图像使用的 GEOS 投影的 proj 参数。我会做相反的事情:将您的纬度点转换为该地理投影。从那里简单的四舍五入将为您提供最近的像素。
标签: python gis netcdf python-xarray satellite-image