gpt4 book ai didi

extraction - 按点提取像素值并在 Google Earth Engine 中转换为表格

转载 作者:行者123 更新时间:2023-12-03 21:28:27 30 4
gpt4 key购买 nike

我正在开展一个项目,该项目将火灾严重性的现场测量与从火灾前后的 Landsat 图像得出的波段值和光谱指数相关联。我目前正在使用 Google Earth Engine 从一组 Landsat 图像中提取表面反射率值。我使用的方法将我的现场位置(点数据)作为特征集合导入,并使用 getRegion 函数从每个点的 Landsat 图像集合中提取波段值。代码如下:

//IMPORT SAMPLE POINTS
var pts = ee.FeatureCollection('ft:1N9Hb01uCSHqGpz262K_f9VzWedxvTiV0g6tJwfw4');

//IMPORT LANDSAT IMAGE
var L82014pre = ee.ImageCollection('LANDSAT/LC8_SR') //Landsat 8 Surface reflectance
.filter(ee.Filter.eq('wrs_path', 94))
.filter(ee.Filter.eq('wrs_row', 86))
.filterDate(ee.Date.fromYMD(2013,12,13), ee.Date.fromYMD(2014,1,15))

//EXTRACT BY SAMPLE POINTS
var sample = L82014pre.getRegion(pts, 30);

我的问题是如何将生成的“样本”变量(列表列表)转换为可以导出到谷歌驱动器的表?或者是否有更好的方法在 Google Earth Engine 中按点提取图像数据?

我是 Google Earth Engine 和 Java 编程语言的新手,所以如果这个问题的答案很明显,我深表歉意。我花了很多时间试图找到这个问题的解决方案,但我觉得我一无所获。

谢谢,

卢克

最佳答案

我无法访问您的融合表,因此我为示例制作了一些随机点。
我很确定还有其他方法可以做到。 GEE 有很多功能,有时使用起来有点棘手。这将是我的方式:

// As I can't access your FusionTable,
// I make random points and create a FeatureCollection
var p1 = ee.Geometry.Point([142.36083984375, -37.466138602344046])
var p2 = ee.Geometry.Point([143.23974609375, -37.04640889969956])
var pts = ee.FeatureCollection(ee.List([ee.Feature(p1),ee.Feature(p2)]))

//IMPORT LANDSAT IMAGE
var L82014pre = ee.ImageCollection('LANDSAT/LC8_SR') //Landsat 8 Surface reflectance
.filter(ee.Filter.eq('wrs_path', 94))
.filter(ee.Filter.eq('wrs_row', 86))
.filterDate(ee.Date.fromYMD(2013,12,13), ee.Date.fromYMD(2014,1,15))

// Empty Collection to fill
var ft = ee.FeatureCollection(ee.List([]))

var fill = function(img, ini) {
// type cast
var inift = ee.FeatureCollection(ini)

// gets the values for the points in the current img
var ft2 = img.reduceRegions(pts, ee.Reducer.first(),30)

// gets the date of the img
var date = img.date().format()

// writes the date in each feature
var ft3 = ft2.map(function(f){return f.set("date", date)})

// merges the FeatureCollections
return inift.merge(ft3)
}

// Iterates over the ImageCollection
var newft = ee.FeatureCollection(L82014pre.iterate(fill, ft))

// Export
Export.table.toDrive(newft,
"anyDescription",
"anyFolder",
"anyNameYouWant")

关于extraction - 按点提取像素值并在 Google Earth Engine 中转换为表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42742742/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com