news 2026/5/2 3:48:29

GEE实战:用GLC_FCS30D数据集,5分钟可视化你家附近37年的土地变迁

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GEE实战:用GLC_FCS30D数据集,5分钟可视化你家附近37年的土地变迁

用GLC_FCS30D数据集,5分钟可视化你家附近37年的土地变迁

站在城市高楼的窗前,你是否好奇脚下这片土地几十年前的模样?或许那里曾是一片稻田,后来变成工厂,如今又成了商业区。借助Google Earth Engine(GEE)平台和GLC_FCS30D数据集,我们每个人都能成为时空旅行者,用代码这把钥匙打开家乡变迁的记忆匣子。这个教程将带你跳过复杂的学术分析,直接动手生成专属的土地覆变动画——无需专业背景,只要会复制粘贴代码就能完成。

1. 准备工作:零基础搭建GEE环境

1.1 注册Google Earth Engine账号

访问Google Earth Engine官网点击"Sign Up",用谷歌账号完成注册。审批通常需要1-2个工作日,收到确认邮件后登录,你会看到这样的界面:

// 初始化GEE代码编辑器 var map = ui.Map(); var panel = ui.Panel(); ui.root.widgets().reset([map, panel]);

提示:如果急需使用,可在GitHub搜索"GEE临时试用账号",部分开源项目提供短期测试权限。

1.2 认识关键工具

GEE界面主要包含三个区域:

  • 左侧:脚本管理器(你的代码仓库)
  • 中间:代码编辑区(工作主界面)
  • 右侧:交互式地图窗口

推荐安装这两个浏览器插件:

  1. Earth Engine Inspector:实时查看像素值
  2. GEE Code Editor Dark Theme:夜间模式保护眼睛

2. 快速定位你的兴趣区域

2.1 四种定位方法对比

方法适用场景精度代码复杂度
地名搜索知名城市/景点
经纬度坐标精准定位⭐⭐
手动框选灵活选择可变
导入KML文件复杂多边形⭐⭐⭐

推荐新手使用最简单的绘图工具:

  1. 点击地图上方工具栏的"多边形"图标
  2. 在地图上点击绘制区域(如母校周边)
  3. 自动生成如下代码:
var geometry = ee.Geometry.Polygon( [[[116.31, 39.99], [116.35, 39.99], [116.35, 40.02], [116.31, 40.02]]]);

2.2 调整时间范围

GLC_FCS30D包含1985-2022年数据,但不同时段分辨率不同:

  • 1985-2000年:每5年一个图层
  • 2000-2022年:每年一个图层
// 获取2000年后年度数据 var annualData = ee.ImageCollection("projects/sat-io/open-datasets/GLC-FCS30D/annual"); // 获取1985-2000五年间隔数据 var fiveYearData = ee.ImageCollection("projects/sat-io/open-datasets/GLC-FCS30D/five-years-map");

3. 一键生成土地变迁动画

3.1 基础可视化代码

复制这段代码到编辑器,替换geometry为你绘制的区域:

// 加载年度数据集 var dataset = ee.ImageCollection("projects/sat-io/open-datasets/GLC-FCS30D/annual"); // 创建时间序列动画 var videoArgs = { dimensions: 600, region: geometry, framesPerSecond: 3, bands: ['b1'], min: 10, max: 190, palette: ['#FFEB3B', '#4CAF50', '#2196F3', '#F44336'] }; print(ui.Thumbnail(dataset, videoArgs));

注意:首次运行可能较慢,GEE需要时间预处理数据。若超时,尝试缩小区域范围。

3.2 高级调参技巧

想让颜色更符合实际地物?修改palette参数:

  • 森林:#4CAF50
  • 水域:#2196F3
  • 建筑:#F44336
  • 农田:#FFEB3B

完整分类颜色对照表:

地类颜色代码RGB值
林地#4CAF50(76,175,80)
耕地#FFEB3B(255,235,59)
水域#2196F3(33,150,243)
建筑#F44336(244,67,54)

4. 深度分析:解读你的专属变迁图

4.1 常见变迁模式解析

  • 城市扩张:红色区域(建筑)向外蚕食绿色(农田/林地)
  • 退耕还林:黄色(农田)转为深绿(林地)
  • 水域萎缩:蓝色区域逐年缩小
// 计算各土地类型面积变化 var areaStats = dataset.map(function(image){ var area = image.eq(190).multiply(ee.Image.pixelArea()).reduceRegion({ reducer: ee.Reducer.sum(), geometry: geometry, scale: 30, maxPixels: 1e13 }); return image.set('built_up_area', area.get('classification')); }); print(ui.Chart.image.series(areaStats, geometry, ee.Reducer.mean(), 30));

4.2 制作变迁对比图

并排显示1985 vs 2022年的土地覆被:

var old = fiveYearData.first().clip(geometry); var recent = annualData.filterDate('2020-01-01').first().clip(geometry); var comparison = ee.Image.cat(old, recent).visualize({ bands: ['b1', 'b1'], min: 10, max: 190, palette: ['#FFEB3B', '#4CAF50', '#2196F3', '#F44336'] }); Map.addLayer(comparison, {}, '1985 vs 2020 Comparison');

5. 实用技巧与问题排查

5.1 加速渲染的三种方法

  1. 降低输出分辨率:调整dimensions参数(建议不小于300)
  2. 简化几何图形:减少多边形顶点数量
  3. 使用mean()聚合:对大数据集先做空间聚合
// 优化后的渲染代码 var optimized = dataset.mean().clip(geometry); Map.addLayer(optimized, {min:10, max:190, palette:['#FFEB3B','#4CAF50']});

5.2 常见错误解决方案

  • "User memory limit exceeded":添加.limit(10)限制加载帧数
  • "Computation timed out":拆分大区域为多个小区域分析
  • "No valid images found":检查日期范围是否包含数据

记得点击右上角"Save"保存你的脚本,生成的可视化结果可以通过"Share"按钮直接发送给家人朋友。当看到家乡从绿意盎然的田园变成高楼林立的都市,或是荒芜之地重披绿装,这种直观的时空体验比任何文字描述都更有冲击力。

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

从 USREXTID 走向 CERTRULE_MIG,SAP ABAP 平台上 X.509 证书映射的规则化迁移实践

做 SAP 系统的 X.509 证书登录时,最麻烦的地方往往不在 SSL 握手,也不在 PSE 信任链,而是在证书和 SAP 用户之间那层映射关系。系统规模小的时候,在 USREXTID 里维护一条证书 Subject 到一个 SAP 用户的显式映射,看起来很直接。可一旦进入集团级环境,几千个用户、多个公司…

作者头像 李华
网站建设 2026/5/2 3:40:50

别再傻傻分不清了!用Python实战带你搞懂PCA和LDA降维到底怎么选

Python实战:PCA与LDA降维技术选型指南 鸢尾花数据集在Jupyter Notebook中缓缓展开,数据科学家小张盯着屏幕上密密麻麻的13个特征维度皱起了眉头。这是她第三次尝试用随机森林分类器处理这个医学数据集,但模型始终在72%准确率徘徊不前。"…

作者头像 李华
网站建设 2026/5/2 3:37:58

Postgres自动索引神器Dexter:告别手动优化,提升数据库性能10倍

Postgres自动索引神器Dexter:告别手动优化,提升数据库性能10倍 【免费下载链接】dexter The automatic indexer for Postgres 项目地址: https://gitcode.com/gh_mirrors/dex/dexter Dexter是一款专为Postgres设计的自动索引工具,能够…

作者头像 李华
网站建设 2026/5/2 3:37:47

MMRotate训练技巧大全:从基础配置到性能优化的10个秘诀

MMRotate训练技巧大全:从基础配置到性能优化的10个秘诀 【免费下载链接】mmrotate OpenMMLab Rotated Object Detection Toolbox and Benchmark 项目地址: https://gitcode.com/gh_mirrors/mm/mmrotate MMRotate是OpenMMLab推出的专业旋转目标检测工具库&…

作者头像 李华