Planet Notebooks 项目使用教程
1. 项目目录结构及介绍
Planet Notebooks
项目是一个开源项目,包含了多个 Jupyter 笔记本,用于帮助用户了解和使用 Planet 数据。以下是项目的目录结构及其介绍:
jupyter-notebooks
: 包含所有交互式的 Jupyter 笔记本文件,这些笔记本涵盖了如何使用 Planet 数据的各种主题。planet-notebook-docker
: 包含了用于在 Docker 环境中运行 Jupyter 笔记本所需的 Dockerfile 和其他配置文件。tests
: 包含了项目的测试脚本和代码。.gitignore
: 指定了在版本控制中应忽略的文件和目录。CONTRIBUTING.md
: 提供了贡献指南,说明了如何向项目贡献代码或文档。LICENSE
: 项目的许可证文件,本项目采用 Apache-2.0 许可。README.md
: 项目的自述文件,提供了项目的基本信息和如何使用项目。
2. 项目的启动文件介绍
项目的启动主要是通过运行 Jupyter 笔记本。如果使用 Docker 环境,启动文件为 planet-notebook-docker
目录下的 Dockerfile。
以下是启动 Docker 容器的命令:
docker run -it --rm -p 8888:8888 -v $PWD:/home/jovyan/work -e PL_API_KEY='[YOUR-API-KEY]' planet-notebooks
这条命令执行以下操作:
-it
: 开启一个交互式终端。--rm
: 容器退出时自动删除容器。-p 8888:8888
: 将宿主机的 8888 端口映射到容器的 8888 端口。-v $PWD:/home/jovyan/work
: 将当前工作目录挂载到容器内的工作目录。-e PL_API_KEY='[YOUR-API-KEY]'
: 设置环境变量PL_API_KEY
为你的 Planet API 密钥。planet-notebooks
: 指定要运行的 Docker 镜像。
3. 项目的配置文件介绍
项目的配置文件主要是 Docker 容器中用于连接 Planet API 的环境变量配置。
在 Docker 容器中,你可以通过以下方式配置 Planet API 密钥:
export PL_API_KEY="YOUR-API-KEY"
如果你希望 API 密钥持久化,可以将上述命令添加到 ~/.bashrc
或 ~/.zshrc
文件中。
此外,有些笔记本使用了 Sentinel Hub Python SDK,它需要配置 client_id
和 client_secret
。这些凭证可以在 Sentinel Hub 的 Dashboard 应用中获得。
配置 Sentinel Hub SDK 的示例代码如下:
from sentinelhub import SHConfig
import getpass
config = SHConfig()
if not config.sh_client_id or not config.sh_client_secret:
print("No credentials found, please provide the OAuth client ID and secret.")
config.sh_client_id = getpass.getpass("sh_client_id: ")
config.sh_client_secret = getpass.getpass("sh_client_secret: ")
config.save()
else:
print(f"Using credentials stored here: {SHConfig.get_config_location()}")
通过上述介绍,你可以开始使用 Planet Notebooks 项目,探索 Planet 数据,并利用提供的笔记本进行数据分析。