GEE获取九大农业区之一黄淮海平原的矢量边界

本文介绍了如何在ArcGIS和GoogleEarthEngine(GEE)中操作,使用filterMetadata函数从中国九大农业区划的shape文件中提取黄淮海平原这一区域的矢量边界,通过指定CODE属性值为C实现区域筛选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

中国九大农业区划矢量
在这里插入图片描述

Arcgis中打开shape文件,得到的是所有矢量,而我想获取单独的一个区域的矢量,怎么提取呢?在这里插入图片描述
刚导进来的矢量边界是初始的,下面展示如何提取具体某个区域的矢量边界在这里插入图片描述

使用GEE打开该九大农业区划的矢量,查看矢量特征,发现黄淮海平原的CODE是C
在这里插入图片描述

在GEE中可以按属性筛选区域

var roi = ee.FeatureCollection('projects/a-flyllf0313/assets/agriculture');
var roi= roi.filterMetadata('CODE','equals','C');

使用filterMetadata函数,来提取任意字符串属性,第一个’‘输入属性名,第二个’equals’含义为判断两边是否相同,第三个’'输入所需区域的代号。
在这里插入图片描述

### 使用 Google Earth Engine (GEE) 下载指定研究区的遥感影像 #### 准备工作 为了能够顺利下载所需的研究区域内的遥感影像,在 GEE 中操作前需完成如下准备工作: - 注册并登录到 [Google Earth Engine](https://earthengine.google.com/) 并激活账户。 - 安装 Python 版本的客户端库 `geemap` 或者通过 JavaScript API 进行开发环境配置。 #### 创建地理边界对象 定义目标地区的几何形状作为筛选条件的一部分,可以采用多种方式创建该对象。最常用的是上传自定义矢量文件(如 Shapefile),也可以直接绘制多边形来表示感兴趣地区域[^1]。 ```python import ee from geemap import Map, ee_initialize ee_initialize() # 加载或手动输入坐标构建AOI(Analysis of Interest) aoi = ee.Geometry.Polygon( [[[78.0963134765625, 30.7659345780777], [78.0963134765625, 30.7127577857172], [78.168037109375, 30.7127577857172], [78.168037109375, 30.7659345780777]]]) ``` #### 构建图像集合查询语句 根据需求选择合适的卫星数据源,并设置时间范围和其他过滤器以缩小检索结果集。这里以 Landsat 8 OLI/TIRS 数据为例说明如何获取某段时间内覆盖特定地点的所有可用场景列表[^2]。 ```python # 设置起始日期和结束日期 start_date = '2020-01' end_date = '2020-12-31' # 获取Landsat 8 表面反射率产品 collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR') \ .filterBounds(aoi)\ .filterDate(start_date,end_date) print(f'Number of images found: {collection.size().getInfo()}') ``` #### 执行批量下载任务 最后一步是将符合条件的数据导出至用户的 Google Drive 账户或其他存储位置。对于较大的数据集建议分批处理以免超出内存限制。下面给出了一种简单的实现方案用于逐个保存每一张图片为 GeoTIFF 文件格式。 ```python def export_image(image, name): task_config={ 'image': image, 'description':name, 'folder':'gee_export', 'region': aoi.getInfo()['coordinates'], 'scale': 30, 'crs': 'EPSG:4326', 'maxPixels': 1e9 } task=ee.batch.Export.image.toDrive(**task_config) task.start() print(f'Started exporting {name}') images = collection.toList(collection.size()) for i in range(images.size().getInfo()): img = ee.Image(images.get(i)) date_str=img.date().format("YYYYMMdd").getInfo() filename=f"Landsat_{date_str}" export_image(img,filename) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海绵波波107

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值