微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google Earth Engine Python API 错误的 MODIS NDVI 值提取

如何解决Google Earth Engine Python API 错误的 MODIS NDVI 值提取

我刚刚开始使用 GEE Python API。我想从 MOdis 产品的单个像素中提取 NDVI 值。当我运行这个:

delete from myfile


An error occurred during the execution of the command.
ValidationException: Where clause does not contain a mandatory equality on all key attributes

它会将 import ee ee.Authenticate() ee.Initialize() t_start = ee.Date("2000-01-01") t_end = ee.Date("2020-05-25") AOI = ee.FeatureCollection("users/manuelpopp/xining") MOdis = ee.ImageCollection("MOdis/006/MOD13Q1") \ .filterDate(t_start,t_end).filterBounds(AOI) MOdis_ndvi = MOdis.select("NDVI") scenes = [scene.get("id") for scene in MOdis_ndvi.getInfo().get("features")] scene = scenes[0] img = ee.Image(scene) p = ee.Geometry.Point(101.768548,36.685077) ndvit = img.reduceRegion(ee.Reducer.first(),p).get("NDVI").getInfo() 设置为 865。但是,NDVI 不应是大于 1 的值。

在这里做错了什么?我想这个值有一个简单的解释吗?

解决方法

official file specification 表示真实值(“参数”)是通过以下等式获得的:

parameter=(file data - add_offset)/scale_factor

其中 file data 是文件中的值,add_offsetscale_factor 定义为例如


DataField_1     1 km 16 days NDVI       INT16           Dimension_1
                                                        Dimension_2

        DataField_1 HDF Attributes:
        Attribute       Data Type       Number of Values        Value or Max. String Length

        long_name       STRING          17      1 km 16 days NDVI
        units           STRING          4       NDVI
        valid_range     INT16           2       -2000,10000
        _FillValue      INT16           1       -3000
        scale_factor    FLOAT64         1       10000
        scale_factor_err FLOAT64        1       0.0
        add_offset      FLOAT64         1       0.0
        add_offset_err  FLOAT64         1       0.0
        calibrated_nt   INT32           1       5

scale_factor 值也在 this table 中(add_offset 很少使用)。

进行这些值转换是为了节省磁盘空间(允许将数据保存为 16 位整数而不是 32 或 64 位浮点数)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。