2

我正在使用以下代码使用 sentinelsat 提取卫星图像

from sentinelsat import SentinelAPI, read_geojson, geojson_to_wkt
from datetime import date
api = SentinelAPI('userid', 'password', 'https://scihub.copernicus.eu/dhus')

footprint = geojson_to_wkt(read_geojson('./map.geojson'))

products = api.query(footprint,
                     date = ('20180101', '20191010'),
                     platformname = 'Sentinel-2',
                     processinglevel = 'Level-2A',
                     cloudcoverpercentage = (0,3)
                    )

products_gdf = api.to_geodataframe(products)
products_gdf_sorted = products_gdf.sort_values(['cloudcoverpercentage'], ascending=[True])

products_gdf_sorted.index

api.download('fed1003b-effa-41f5-9079-5d017af0eea2')

我已确保我的 geojson 指向正确的位置。

{
  "type": "Polygon",
  "coordinates": [
    [
      [
    80.265872,13.064500
      ],
      [
    80.265526,13.064076
      ],
      [
    80.266435,13.064190
      ],
      [
    80.265872,13.064500
      ]
    ]
  ]
} 

我期待建筑成为我的 tiff 文件的一部分。但我只是得到绿色补丁作为输出。

我正在使用以下代码创建 tiff 文件。

import rasterio as rio
R10 = '.\S2A_MSIL2A_20190511T045701_N0212_R119_T44PMV_20190511T104102.SAFE\GRANULE\L2A_T44PMV_A020279_20190511T050605\IMG_DATA\R10m'


b4 = rio.open(R10+'\T44PMV_20190511T045701_B04_10m.jp2' , driver='JP2OpenJPEG')
b3 = rio.open(R10+'\T44PMV_20190511T045701_B03_10m.jp2' , driver='JP2OpenJPEG')
b2 = rio.open(R10+'\T44PMV_20190511T045701_B02_10m.jp2', driver='JP2OpenJPEG')


with rio.open('RGB.tiff','w',driver='Gtiff', width=b4.width, height=b4.height, 
              count=3,crs=b4.crs,transform=b4.transform, dtype=b4.dtypes[0]) as rgb:
    rgb.write(b2.read(1),1) 
    rgb.write(b3.read(1),2) 
    rgb.write(b4.read(1),3) 
    rgb.close()

我在哪里出错了,无论我在提取时是否缺少任何参数,或者我的期望是错误的。请澄清。提前致谢。

4

0 回答 0