Earth Engine/GIS中横断面数据的提取

2024-05-16 13:22:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图找出如何在谷歌地球引擎中提取横断面数据——理想情况下是在规定的时间间隔内。使用Jupyter笔记本中的Python API,我映射了一些数据,缓冲了一个点(定义感兴趣的区域),并映射了一个横断面。我不知道我是否应该使用ee方法来提取沿线串约束的数据(我假设它不是形状?),或者我是否朝着错误的方向前进,是否应该将缓冲区导出为GeoTIFF以在QGIS/ArcGIS中处理横断面

import ee
ee.Initialize()

def maskS2clouds(image):
  qa = image.select('QA60')

  # Bits 10 and 11 are clouds and cirrus, respectively.
  cloudBitMask = 1 << 10
  cirrusBitMask = 1 << 11

  # Both flags should be set to zero, indicating clear conditions.
  mask = qa.bitwiseAnd(cloudBitMask).eq(0) \
      .And(qa.bitwiseAnd(cirrusBitMask).eq(0))

  return image.updateMask(mask).divide(10000)

centre = ee.Geometry.Point(-115.435272, 35.584001,)
centreBuffer = centre.buffer(5000)

dataset = ee.ImageCollection('COPERNICUS/S2_SR') \
                  .filterDate('2020-07-01', '2020-07-31') \
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',20)) \
                  .map(maskS2clouds)

visualization = {
  'min': 0.0,
  'max': 0.3,
  'bands': ['B4', 'B3', 'B2'], # Red, Green, BLue.  10m resolution.
}

Map.setCenter(-115.435272, 35.584001, 12)
# Map = geemap.Map(center=[35.584001, -115.435272], zoom=14)
Map.addLayer(dataset.mean(), visualization, 'RGB')
Map.addLayer(centre,
             {'color': 'black'},
             'Geometry [black]: point');
Map.addLayer(centreBuffer,
             {'color': 'red'},
             'Result [red]: point.buffer')

transect = ee.Geometry.LineString([[-115.4, 35.584001], [-115.45, 35.584001]]);
Map.addLayer(transect, {'color': 'Green'}, 'transect');

Map

Tags: and数据imagemapqaeecolorgeometry