news 2026/4/18 12:03:06

使用 Python 查询 Sentinel-1 数据(从NASA),绘制查询结果范围并下载数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 Python 查询 Sentinel-1 数据(从NASA),绘制查询结果范围并下载数据

本文主要介绍通过 Python 从 NASA地球数据网 下载哨兵1(Sentinel-1)号 VV&VH 极化 IW_SLC__1S 产品数据。整体流程如下:

申请一个 earthdata 账号
配置 Python 依赖
查询数据
绘制查询结果范围并检查查询结果
下载数据

本例以查询和下载2025年9月1日至2025年12月31日洛阳市宜阳县 Sentinel-1 VV&VH 极化 IW_SLC__1S 数据为例。

1 申请一个 earthdata 账号

申请地址: https://urs.earthdata.nasa.gov/
按步操作,不再赘述:

在账户中生成一个 token

2 配置 Python 依赖

Python: 3.12

安装以下库(内置库或关联库已忽略):

gma: 2.2.0(下载:https://pypi.org/project/gma/)
requests: 2.32.3
tqdm: 4.67.1
earthaccess: 0.15.1

3 查询数据

本例使用的基础省、市、县三级行政区矢量数据来源于锐多宝。下载地址:省市县。

注:查询数据需要账号

fromgmaimportioimportearthaccess,os,tqdm xian=io.ReadVector('T2024年初县级.shp')ly=xian.Select('"县级" = "宜阳县"')os.environ['EARTHDATA_USERNAME']='你的用户名'# 替换为你的用户名os.environ['EARTHDATA_PASSWORD']='你的密码'# 替换为你的密码absauth=earthaccess.login()### 查询数据results=earthaccess.search_data(provider='ASF',short_name='SENTINEL-1A_SLC',bounding_box=ly.Boundary,temporal=("2025-09","2025-12"))

results 实际为一个包装字典,包含每一景查询到的数据信息,每一景信息为一个字典,结果如下:

4 绘制查询结果范围

defexplode_gpolygons_to_points(GPolygons):'''解包 gpolygon 到坐标点'''geo_pts=[]forboinGPolygons.get('GPolygons',[]):pts=bo.get('Boundary',{})bo_pts=[]forptinpts.get('Points',[]):pt=list(pt.values())bo_pts.append(pt)geo_pts.append(bo_pts)returngeo_ptsfromgma.mapimportinres,plotimportnumpyasnp## 读取省、市图层shi=io.ReadVector('T2024年初地级.shp')sheng=io.ReadVector('T2024年初省级.shp')## 将影像范围 wkt 字符串转换为 gma 要素(Feature)fts=[io.CreateFeature(explode_gpolygons_to_points(res.get('umm')['SpatialExtent']['HorizontalSpatialDomain']['Geometry']))forresinresults]## 根据查询的得到的数据范围,设置一个绘图范围bous=np.array([ft.Boundaryforftinfts])extent=bous[:,0].min()-2,bous[:,1].min()-1,bous[:,2].max()+2,bous[:,3].max()+1## 绘制查询结果范围MapF=plot.MapFrame(BaseMapProj=3857,Extent=extent)### 添加所有查询结果forftinfts:mft=MapF.AddFeature(ft,FaceColor='lightgreen',alpha=0.4)### 添加省市县图层mly1=MapF.AddLayer(xian,FaceColor='none',LineColor='lightgray',LineWidth=0.1)mly2=MapF.AddLayer(shi,FaceColor='none',LineColor='darkgray',LineWidth=0.2)mly3=MapF.AddLayer(sheng,FaceColor='none',LineColor='black',LineWidth=0.3)mly4=MapF.AddLayer(ly,FaceColor='none',LineColor='blue',LineWidth=0.3)### 添加查询输入图层mly4.AddLabel("宜阳县",Font='SimSun',FontSize=5,FontColor='blue')### 添加经纬网和地图框lines=MapF.AddGridLines(LONRange=(100,130,2),LATRange=(26,46,2))frame=MapF.SetFrame()


可见查询结果范围正常,均覆盖宜阳县

5 下载数据

注:下载数据需要账号

out_path=r'D:\下载'chunk_size=81920session=auth.get_session()fori,resinenumerate(results):umm=res.get('umm')link=umm['RelatedUrls'][0]['URL']out_file=f"{out_path}\\{os.path.basename(link)}"ifos.path.exists(out_file):print(f'跳过已存在的下载({i+1}/{len(results)}):{out_file}')continueresponse=session.get(link,stream=True)ifresponse.status_code==200:## 创建进度条print(f'当前下载({i+1}/{len(results)}):{out_file}')total_size=int(response.headers.get('content-length',0))# 数据总大小total=int(np.ceil(total_size/chunk_size))# 分块数量withopen(out_file,"wb")asfile:# 分块下载forchunkintqdm.tqdm(response.iter_content(chunk_size=chunk_size),total=total):ifchunk:file.write(chunk)else:print(f"Error:{response.status_code}.{response.text}")

下载过程示例:

下载结果示例:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:45:04

5步打造你的专属远程管理系统:从零构建完全定制化PiKVM

5步打造你的专属远程管理系统:从零构建完全定制化PiKVM 【免费下载链接】pikvm Open and inexpensive DIY IP-KVM based on Raspberry Pi 项目地址: https://gitcode.com/gh_mirrors/pi/pikvm 你是否曾梦想拥有一个完全按需定制的远程管理系统?现…

作者头像 李华
网站建设 2026/4/18 7:02:36

Untrunc视频修复终极指南:5步拯救你的损坏视频

你是否曾经因为视频文件突然损坏而心急如焚?那些珍贵的家庭录像、重要的会议记录、孩子成长的精彩瞬间,一旦视频文件出现故障,似乎就永远消失了。别担心,Untrunc这款开源视频修复工具就是你的救星!它能帮你轻松恢复损坏…

作者头像 李华
网站建设 2026/4/18 7:04:00

QRemeshify实战指南:5分钟掌握高质量重网格技巧

想要将杂乱的三角网格快速转化为规整的四边形拓扑吗?QRemeshify正是你需要的Blender插件解决方案。这款基于QuadWild Bi-MDF算法的专业工具,能够输出高质量的四边形网格,让3D建模工作流程更加高效顺畅。 【免费下载链接】QRemeshify A Blende…

作者头像 李华
网站建设 2026/4/18 10:18:19

Windows窗口置顶工具深度解析:从场景痛点到实践方案

Windows窗口置顶工具深度解析:从场景痛点到实践方案 【免费下载链接】pinwin .NET clone of DeskPins software 项目地址: https://gitcode.com/gh_mirrors/pi/pinwin 您是否曾经在工作中遇到这样的困扰?正在参考的重要文档被新打开的窗口无情覆盖…

作者头像 李华
网站建设 2026/4/17 16:40:02

Animeko:终极跨平台动漫追番工具完整使用手册

还在为动漫追番的种种烦恼而困扰吗?Animeko这款革命性的跨平台动漫追番工具,将彻底改变你的追番体验。无论你是新手还是资深动漫爱好者,这款工具都能为你提供一站式解决方案。🚀 【免费下载链接】animation-garden 动漫花园多平台…

作者头像 李华
网站建设 2026/4/18 8:38:33

最近在调一个.13um工艺的Bandgap,这玩意儿对新手确实友好。电路结构清晰又不失经典要素,今天顺手把仿真流程和几个关键点理一理

Bandgap 带隙基准,基准电压,参考电压,带启动电路,无版图,提供的工艺.13um,适合新手学习。 电路结构为: 1.电压模亚阈值补偿电路cascode提高psrr 2.运放采用了二级运放密勒电容电容调零电阻结构。…

作者头像 李华