从EarthExplorer搜索并下载陆地卫星场景。

landsatxplore的Python项目详细描述


说明

CLI Demo

landsatxplorepython包提供了一个到EarthExplorer门户的接口,用于通过命令行接口或python api搜索和下载Landsat Collections场景。

它支持三个数据集:LANDSAT_TM_C1LANDSAT_ETM_C1LANDSAT_8_C1

快速启动

搜索包含1995年期间获得的位置(12.53,-1.53)的陆地卫星5 TM场景。

landsatxplore search --dataset LANDSAT_TM_C1 --location 12.53 -1.53 \
    --start 1995-01-01 --end 1995-12-31

在布鲁塞尔寻找陆地卫星7 ETM场景,云量不到5%。将返回的结果保存到.csv文件中。

landsatxplore search --dataset LANDSAT_ETM_C1 \
    --location 50.83 4.38 --clouds 5 > results.csv

从当前目录中的不同数据集下载三个陆地卫星场景。

landsatxplore download LT51960471995178MPS00 LC80390222013076EDC00 LC82150682015350LGN01

要使用包,需要地球资源管理器凭据(registration)。

安装

可以使用pip安装包。

pip install landsatxplore

用法

landsatxplore既可以通过其命令行界面使用,也可以作为python模块使用。

命令行界面

landsatxplore --help
Usage: landsatxplore [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  download  Download one or several Landsat scenes.
  search    Search for Landsat scenes.

证书

可以获得地球资源管理器门户的凭据here

--username--password可以作为命令行选项或环境变量提供:

exportLANDSATXPLORE_USERNAME=<your_username>
exportLANDSATXPLORE_PASSWORD=<your_password>

搜索

landsatxplore search --help
Usage: landsatxplore search [OPTIONS]

  Search for Landsat scenes.

Options:
  -u, --username TEXT             EarthExplorer username.
  -p, --password TEXT             EarthExplorer password.
  -d, --dataset [LANDSAT_TM_C1|LANDSAT_ETM_C1|LANDSAT_8_C1]
                                  Landsat data set.
  -l, --location FLOAT...         Point of interest (latitude, longitude).
  -b, --bbox FLOAT...             Bounding box (xmin, ymin, xmax, ymax).
  -c, --clouds INTEGER            Max. cloud cover (1-100).
  -s, --start TEXT                Start date (YYYY-MM-DD).
  -e, --end TEXT                  End date (YYYY-MM-DD).
  -o, --output [scene_id|product_id|json|csv]
                                  Output format.
  -m, --limit INTEGER             Max. results returned.
  --help                          Show this message and exit.

下载

landsatxplore download --help
Usage: landsatxplore download [OPTIONS] [SCENES]...

  Download one or several Landsat scenes.

Options:
  -u, --username TEXT  EarthExplorer username.
  -p, --password TEXT  EarthExplorer password.
  -o, --output PATH    Output directory (default to current).
  --help               Show this message and exit.

API

接地探测器API

landsatxplore提供了一个到地球资源管理器json api的接口。有关可能的请求代码和参数,请参阅官方(documentation)。

基本用法

importlandsatxplore.api# Initialize a new API instance and get an access keyapi=landsatxplore.api.API(username,password)# Perform a request. Results are returned in a dictionnaryresponse=api.request('<request_code>',parameter1=value1,parameter2=value2)# Log outapi.logout()

搜索场景
importlandsatxplore.api# Initialize a new API instance and get an access keyapi=landsatxplore.api.API(username,password)# Requestscenes=api.search(dataset='LANDSAT_ETM_C1',latitude=19.53,longitude=-1.53,start_date='1995-01-01',end_date='1997-01-01',max_cloud_cover=10)print('{} scenes found.'.format(len(scenes)))forsceneinscenes:print(scene['acquisitionDate'])api.logout()

输出:

8 scenes found.
1995-05-10
1995-05-26
1995-06-11
1995-06-11
1995-06-27
1995-07-29
1995-08-14
1995-08-14

下载场景
fromlandsatxplore.earthexplorerimportEarthExploreree=EarthExplorer(username,password)ee.download(scene_id='LT51960471995178MPS00',output_dir='./data')ee.logout()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
异常如何在java中优雅地处理FileNotFoundexception   java线程卡在BlockingQueue上。无缘无故   类网格程序w/java   StrutsJava:动态应用Velocity脚本   java在运行时重写/禁用方面   java Apache POI无法正确读取Excel单元格中的秒数   具有不同用户权限的Java文件夹/文件创建   java我可以检查Firebase ValueEventListener onDataChanged是否已被调用吗?   尽管获得了用户权限,java Android开发文件权限仍被拒绝   java如何使用JPA映射map<EnumType,Double>?   java是否使用UI线程显示toast消息?   JAVAlang.IllegalArgumentException:不支持的元素:rss   java Android setRequestedOrientation活动和视图生命周期   安卓如何在Java中定义支票盒?   在Java中,对于大输入,字符串解析长期失败   使Java在XP中按计划任务运行读取env用户变量时出现问题   任务“:workflowsjava:NodeDriver”的梯度执行失败。main()   java如何检测是否只设置了部分属性?   在客户端web服务上使用JBossWS时,java无法找到/更改log4j的默认配置   java LibGDX写入文本文件并接收各种错误