当前位置: 首页 > article >正文

【RS】GEE(Python):基础知识与环境搭建

对于刚接触 Google Earth Engine (GEE) 的新手,理解地理空间数据的基础概念并正确搭建开发环境,是进入这一强大工具世界的第一步。本教程将以详细的方式,逐步介绍与 GEE 相关的基础知识和环境配置,帮助初学者建立坚实的地基。

地理空间数据的基础概念

在学习 Google Earth Engine 之前,首先需要理解一些基本的地理空间数据概念。这些概念将帮助你更好地理解 GEE 的工作原理,以及如何处理不同类型的地理数据。

栅格数据(Raster Data)

栅格数据是以像素(pixel)为单位的网格状数据,通常用于表示连续的现象。每个像素都有一个具体的值,通常用于表示地表信息,例如:

  • 卫星影像:例如来自 Landsat 卫星的地球图像,每个像素表示地球表面的某一块区域。
  • 气候数据:例如温度或降水量,每个栅格表示地球表面的某一位置的气候值。

栅格数据通常分辨率较高,可以以图像的形式呈现,如地形图、土地利用图等。

矢量数据(Vector Data)

矢量数据使用几何形状(点、线、面)来表示地理要素,适用于表示离散的物体或边界。例如:

  • 点数据:表示单一位置(如城市、气象站)。
  • 线数据:表示线状物体(如河流、道路)。
  • 面数据:表示具有边界的区域(如湖泊、国家边界)。

矢量数据通常用于表示精确的地理位置或边界,与栅格数据不同,它不依赖于网格。

坐标系与投影

地球是一个三维的球体,但地理数据通常以二维的平面形式呈现。这时就需要用到坐标系投影

  • 地理坐标系(Geographic Coordinate System, GCS):使用经纬度(经度:东西方向,纬度:南北方向)来定义地球上位置的坐标系。
  • 投影坐标系(Projected Coordinate System, PCS):通过数学变换将地球表面投影到平面上,不同的投影方式会导致一定的变形,但有利于地图的可视化和分析。

在处理地理数据时,确保数据使用相同的坐标系是非常重要的,尤其在处理栅格和矢量数据的叠加时。

环境搭建

在掌握了地理空间数据的基础概念后,接下来就是设置开发环境,以便你可以使用 Google Earth Engine 的 Python API 进行编程和数据分析。下面将介绍从零开始搭建 GEE 开发环境的步骤。

安装 Python 和所需库

我们将使用 Python 作为开发语言,因为 Google Earth Engine 提供了功能强大的 Python API,可以通过 Python 代码来进行地理数据的分析和处理。

安装 Python:

如果你的系统上还没有 Python,你可以访问 Python官网 下载最新版本的 Python。建议选择 Python 3.x 版本(当前大多数库都支持 Python 3)。

你也可以安装 Anaconda,这是一个流行的 Python 发行版,它提供了包管理器和虚拟环境管理工具,使得库的管理更加方便。可以在Anaconda官网 下载并安装。

创建虚拟环境(可选):

创建一个虚拟环境来隔离项目依赖是一个良好的实践,特别是当你将来可能会使用不同的库版本时。使用 Anaconda 创建虚拟环境的命令如下:

conda create -n gee_env python=3.8
conda activate gee_env

安装 Google Earth Engine API 和其他必要库

接下来,我们需要安装 Google Earth Engine Python API 和其他相关的库,例如 folium 用于地图可视化,geopandas 用于矢量数据处理。

在命令行中执行以下命令来安装这些库:

pip install earthengine-api folium geopandas

安装说明:

  • earthengine-api:这是 Google Earth Engine 的 Python API,可以通过它与 GEE 平台进行交互。
  • folium:这是一个用于在 Python 中创建互动地图的库。我们将使用它来在地图上可视化数据。
  • geopandas:一个用于处理矢量数据的 Python 库,它提供了处理 Shapefile、GeoJSON 等格式的功能。

注册 Google Earth Engine 账户

要使用 Google Earth Engine,必须先申请并获得开发者访问权限。步骤如下:

  1. 访问 Google Earth Engine 官网。
  2. 点击 “Sign Up” 按钮,使用你的 Google 账号进行登录,并提交申请。
  3. 获得批准后,你将能够访问 GEE 数据和 API。

批准过程可能需要几天时间,Google 会通过邮件通知你申请结果。

Google Earth Engine Python API 认证和初始化

一旦账户获得批准,你就可以开始使用 Google Earth Engine API 了。在 Python 中,首先要进行身份验证和初始化。这一步是让你的脚本能够通过 Google OAuth 系统来访问 GEE。

身份验证:

在首次使用时,你需要进行身份验证,授权你的 Python 脚本访问 Google Earth Engine。运行以下代码进行认证:

import ee

# 进行身份验证,浏览器将弹出授权页面
ee.Authenticate()

此命令会在浏览器中打开一个窗口,要求你登录 Google 账户并授权。完成授权后,将返回一个认证令牌,自动存储在你的本地文件中。

初始化 Earth Engine:

身份验证完成后,你需要在每次运行脚本时初始化 Earth Engine。初始化后,你就可以使用 GEE 的各种功能了:

# 初始化 Earth Engine
ee.Initialize()

测试安装

如果一切配置正确,运行这段代码将输出指定图像的相关信息,您将看到图像的元数据,如波段、空间分辨率等。如果出现错误,可能是您的 GEE 账户尚未正确设置、未初始化,或者网络连接存在问题。

import ee

# 初始化 Earth Engine
ee.Initialize()

# 获取一个示例图像
image = ee.Image('JAXA/ALOS/AW3D30/V2_2')  

# 图像的基本信息  
image.getInfo()  

http://www.kler.cn/a/355372.html

相关文章:

  • c++ [spdlog 配置与使用]
  • 【目标跟踪综述及关键技术】
  • web三、 window对象,延时器,定时器,时间戳,location对象(地址),本地存储-localStorage,数组去重new Set
  • 使用strimzi-kafka-operator 的mirrormake2(mm2)迁移kafka集群,去掉目标集群的topic默认前缀
  • PyTorch 神经网络回归(Regression)任务:关系拟合与优化过程
  • react中使用ResizeObserver来观察元素的size变化
  • 第二十三篇——解析几何:用代数的方法解决更难的几何题
  • C++AVL树的介绍和实现
  • ROS2 通信三大件之动作 -- Action
  • Oracle漏洞修复 19.3 补丁包 升级为19.22
  • React路由 基本使用 嵌套路由 动态路由 获取路由参数 异步路由 根据配置文件来生成路由
  • 反向传播算法(Backpropagation)
  • Vulnhub打靶-admx-new
  • JavaWeb合集08-项目开发实战
  • 1022. 宠物小精灵之收服
  • mysql数据同步ES方案---Canal
  • Mybatis中的映射文件编写原则
  • ssh远程打开图形化程序
  • 【Linux】Anaconda下载安装配置Pytorch安装配置(保姆级)
  • ROS理论与实践学习笔记——6 ROS机器人导航(仿真)
  • 软件安全开发生命周期(Software Security Development Lifecycle, SSDLC)模型
  • 逍遥安卓模拟器命令行合集(memuc命令)
  • JsonElement 类
  • ES 全文检索完全匹配高亮查询
  • 云贝教育 |【技术文章】OpenTenBase_V2.6基于麒麟V10源码编译安装
  • leetcode动态规划(六)-不同路径(有障碍物)