矢量点像元值

  • 1. 哨兵2号数据:
    • 1.1 Sentinel-2 MSI: MultiSpectral Instrument, Level-1C
    • 1.2 GEE获取矢量站点连续NDVI值
  • 2. Python多项式拟合

1. 哨兵2号数据:

Sentinel-2是一个宽波段、高分辨率、多光谱成像任务,支持哥白尼土地监测研究,包括监测植被、土壤和水覆盖,以及观察内陆水道和沿海地区。Sentinel-2数据包含13个UINT16波段,代表TOA反射率10000倍。此外,有三个QA波段,其中一个(QA60)是带云掩码信息的位掩码波段。


1.1 Sentinel-2 MSI: MultiSpectral Instrument, Level-1C

/*** Function to mask clouds using the Sentinel-2 QA band* @param {ee.Image} image Sentinel-2 image* @return {ee.Image} cloud masked Sentinel-2 image*/
function maskS2clouds(image) {var qa = image.select('QA60');// Bits 10 and 11 are clouds and cirrus, respectively.var cloudBitMask = 1 << 10;var cirrusBitMask = 1 << 11;// Both flags should be set to zero, indicating clear conditions.var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(qa.bitwiseAnd(cirrusBitMask).eq(0));return image.updateMask(mask).divide(10000);
}// Map the function over one month of data and take the median.
// Load Sentinel-2 TOA reflectance data.
var dataset = ee.ImageCollection('COPERNICUS/S2').filterDate('2018-01-01', '2018-01-31')// Pre-filter to get less cloudy granules..filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)).map(maskS2clouds);var rgbVis = {min: 0.0,max: 0.3,bands: ['B4', 'B3', 'B2'],
};Map.setCenter(113, 31, 7);
Map.addLayer(dataset.median(), rgbVis, 'RGB');

天津市图像:

1.2 GEE获取矢量站点连续NDVI值

var p1 = ee.Geometry.Point([112.91, 28.24])
var p2 = ee.Geometry.Point([112.56, 26.97])
//var roi = geometry
var roi = ee.FeatureCollection(ee.List([ee.Feature(p1).set('name','p1'),ee.Feature(p2).set('name','p2')]))
// Map.addLayer(roi)//哨兵2号数据
var dataset = ee.ImageCollection("COPERNICUS/S2").filter(ee.Filter.date('2016-01-01', '2022-10-31'));//去云处理
function maskS2clouds(image) {var qa = image.select('QA60')var cloudBitMask = 1 << 10;var cirrusBitMask = 1 << 11;//cirrus clouds:卷云var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(qa.bitwiseAnd(cirrusBitMask).eq(0))return image.updateMask(mask).select("B.*").copyProperties(image, ["system:time_start"])
}var filtered = dataset.filter(ee.Filter.bounds(roi))
var filtered = filtered.map(maskS2clouds)
function NDVI(image) {var ndvi = image.expression(  '(NIR-Red) / (NIR+Red)',{  'NIR': image.select('B8'),  'Red': image.select('B4')})return image.addBands(ndvi.rename('NDVI')).clip(roi);
}
var withNDVI = filtered.map(NDVI);
print(withNDVI)
var precipitation = withNDVI.select('NDVI');
var ft = ee.FeatureCollection(ee.List([]))
var fill = function(img, ini) {var inift = ee.FeatureCollection(ini)var ft2 = img.sampleRegions({collection:roi,properties:ee.List(['name']),scale:10});var date = img.date().format()var ft3 = ft2.map(function(f){return f.set("date", date)})return inift.merge(ft3)
}// Iterates over the ImageCollection
var newft = ee.FeatureCollection(precipitation.iterate(fill, ft))
Export.table.toDrive({collection: newft,description: 'sample_get',fileFormat: 'CSV'
});var NDVIchart = ui.Chart.image.series({imageCollection: precipitation,region:roi,reducer: ee.Reducer.mean(),scale: 10}).setOptions({title: "NDVI列表", hAxis: {title: "date"},vAxis: {title: "ndvi"},lineWidth:1,pointSize:2});print("NDVIchart", NDVIchart);

图像展示:

CSV数据:

2. Python多项式拟合

import pandas as pd
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdatesdata = pd.read_csv('D:/GoogleChrom/points_values.csv')
data = pd.DataFrame(data)
print(data)

date = data.iloc[0:114, 2:3].values.flatten()
ndvi = data.iloc[0:114, 1:2].values.flatten()
date

def d_to_jd(time):fmt = '%Y-%m-%d'dt = datetime.strptime(time, fmt)tt = dt.timetuple()return tt.tm_yday
def jd_to_time(time):dt = datetime.strptime(time,'%Y%j').date()fmt = '%Y/%m/%d'return dt.strftime(fmt)def pol(date,ndvi):years = [datetime.strptime(d,'%Y/%m/%d').date() for d in date]plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d'))plt.gca().xaxis.set_major_locator(mdates.DayLocator())plt.xticks(years[::30])s = list(map(str, years))s = list(map(d_to_jd, s))_x = np.array(s)ndvi = np.array(list(ndvi))o = np.polyfit(_x, ndvi, 6)g = np.poly1d(o)
#     print(g)plt.plot(years, g(_x), c='g', ls='-')plt.plot(years, ndvi, c='r', ls='-', marker='o', markersize=2,alpha=0.3)plt.legend(labels = ['fitted values','ndvi values'])plt.show()result = pol(date,ndvi)

拟合方程:1.567e-14 x - 1.626e-11 x + 6.464e-09 x - 1.224e-06 x + 0.0001093 x - 0.003585 x + 0.02839

拟合图像:

GEE8:多个矢量点的NDVI连续数据的获取及分析(CSV数据)相关推荐

  1. NDVI时间序列分析之Sen+MK分析全过程梳理

    NDVI时间序列分析之Sen+MK分析全过程梳理 Sen斜率估计用于计算趋势值,通常与MK非参数检验结合使用,即先计算Sen趋势值,然后使用MK方法判断趋势显著性. 原理 Theil-Sen Medi ...

  2. 二维数组foreach嵌套遍历,判断连续3天以上的算有效数据

    2019独角兽企业重金招聘Python工程师标准>>> $studycourseinfo = $studycourseinfoModel->where($where)-> ...

  3. 如何使用GDAL/OGR打开矢量并输出每个面外界矩形范围内的point数据

    如何使用GDAL/OGR打开矢量并输出图层数据范围和每个ploygon要素范围 0.构想 1.arcmap查看数据属性信息 2.输出每个数据的extent外接矩形范围 3.按外界矩形范围生成point ...

  4. 华为云FusionInsight连续三次获得第一 加速释放数据要素价值

    近日,IDC发布<中国大数据平台市场研究报告,2021 H1>,华为云FusionInsight智能数据湖已连续三次获得大数据平台市场份额第一.基于超过10年服务于政务.金融.运营商.大企 ...

  5. matplotlib连续显示3D医疗影像dcm格式数据

    读取显示dcm医疗CT数据 import SimpleITK as sitk import numpy as np import pydicom import matplotlib.pyplot as ...

  6. 分类型变量预测连续型变量_SPSS中的Variable数据变量类型介绍,一次性弄清无序分类变量、有序分类变量、 离散型数值变量、连续型数值变量的区别!...

    变量的概念:变量也就是就是一种可以进行测量的数据条目(data item),对于定义变量在统计里非常重要,特别是在进行SPSS分析的时候,需要明确定义一个变量的性质.打开SPSS软件时,数据录入界面上 ...

  7. [LeetCode系列]最大连续子列递归求解分析

    本文部分参考Discuss: LeetCode. 步骤1. 选择数组的中间元素. 最大子序列有两种可能: 包含此元素/不包含. 步骤2. 步骤2.1 如果最大子序列不包含中间元素, 就对左右子序列进行 ...

  8. shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...

    当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在 ...

  9. 数据禾|2020年江苏省土地利用数据(矢量)

    江苏省,位于中国大陆东部沿海中心,长江.淮河下游,东濒黄海.江苏地势低平,河湖较多,平原.水面所占比例占江苏省的90%以上.江苏是中国地势最低的一个省区,绝大部分地区在海拔50米以下,低山丘陵集中在西 ...

最新文章

  1. 计算机无法安装手机数据线,连接电脑,详细教您手机数据线连接电脑没反应该怎么解决...
  2. php 处理表单里面的 单双引号
  3. python安装pyqt4_windows下安装PyQt4
  4. 【Python】基础总结
  5. i.e., e.g., etc.
  6. Log4J 最佳实践之全能配置文件
  7. 洛谷1196 银河英雄传说(并查集)
  8. 我的RHCE考试终于要开始了!
  9. Atitit 软件开发方法论 attilax著 艾龙 著 1. 1.3 软件工程方法 软件工程方法论分为软件开发方法论和软件组织方法论两个部分。 1 2. 软件开发方法的演进  SP DOP PAM
  10. 广义线性模型之泊松回归
  11. 1110_win10专业版官方原版镜像64位
  12. 5个相见恨晚的设计资源网站,记得收藏。
  13. 非计软专业的学生也能看懂的面向对象编程(《面向对象编程是怎样工作的》平野章/著 读书笔记)
  14. super expression must either be null or a function 报错解决方法
  15. 西门子em235模块的功能_多图细讲,模拟量模块与变送器的接线
  16. python生成带有表格的图片
  17. 创业全攻略:从零到开具第一张发票
  18. 数字图像处理2.2/2.3 光与电磁波谱/图像形成
  19. ajax图片上传插件demo,jQuery 自制上传头像插件-附带Demo实例(ajaxfileupload.js第三弹)...
  20. *.ftl文件中文乱码的问题

热门文章

  1. 十七、生成树协议STP 、STP实际操作过程、 3个案例分析
  2. stp实验心得_STP实验
  3. MySQL连接查询 内连接和外连接的区别
  4. 弘辽科技:京东快车+海投的操作
  5. 4月11号浦发银行笔试回忆
  6. WebEmail免费邮件发送组件!!
  7. 惊天动地 iPhone超强软件iBus出世了!
  8. 解决Field ‘name‘ doesn‘t have a default value报错
  9. 操作系统学习总结-第一章
  10. 临近毕业招聘季,BOSS直聘依然困在营销里