Planet API Pipeline和Google Earth Engine批量资产管理器及插件

ppipe的Python项目详细描述


Planet Gee管道cli

pypi version生成状态doi行星说谢谢!

这个工具的设计是为了方便将数据从planet的api移动到google earth引擎并使用一个元数据库。该工具将数据下载到本地存储中,并允许您在上传到google earth引擎之前处理元数据。此工具已通过遍历每个元数据列进行更新,以说明元数据属性类型,然后使用上载清单函数上载要摄取到ee的图像。此工具还借鉴了我创建的另一个工具,即google earth engine asset manager addon,它包括批量上传功能,但现在,其他的工具,如生成地球引擎资产的报告和查询配额,仅举几个例子。除了帮助用户对资产执行批处理操作,以及现有gee cli的交互和扩展功能之外,它还有一个雄心壮志。它是根据具体情况开发的,以便在将来可用或需要时包含更多功能。为了便于安装,我现在将此发布为apypi包,它将与github包一起更新。

主管道

目录

安装

这假设您的系统中安装了本机python&pip,您可以通过转到终端(或windows命令提示符)并尝试

python然后pip list

如果没有错误,并且使用了Python2.7.14或更高版本,那么应该可以继续使用。请注意,我已经将其作为Python2.7发布,但是可以很容易地为Python3修改。

确保从本页安装openssl

此工具箱还使用gdal中的一些功能 在ubuntu中安装gdal

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal

对于Windows,我找到了来自UCLA的指南

要安装Planet Gee Pipeline CLI: 您可以使用两种方法安装

pip安装ppipe

或者您也可以尝试

git clone https://github.com/samapriya/Planet-GEE-Pipeline-CLI.git
cd Planet-GEE-Pipeline-CLI
python setup.py install

对于Linux使用sudo。此版本还包含一个windows安装程序,它绕过了需要您具有管理权限的要求,但是它确实要求您在系统路径中具有python,这意味着当您打开命令提示符时,您应该能够键入python并在命令提示符窗口中启动它。使用安装程序进行安装后,您可以使用类似于调用python的命令提示符调用ppipe。给它一个go post安装类型

ppipe -h

安装是一个可选步骤;应用程序也可以通过执行ppipe.py脚本直接运行。安装它的好处是可以作为任何命令行工具执行ppipe。我建议在虚拟环境中安装。如果不想安装,请浏览到ppipe文件夹,然后尝试使用python ppipe.py获得相同的结果。

开始

如往常一样,要打印帮助:

usage: ppipe [-h]
             {
             ,planetkey,pquota,dasync,savedsearch,metadata,update,ee_user,quota,create,selupload,lst,assetsize,tasks,access,cancel}
             ...

Planet Pipeline with Google Earth Engine Batch Addons

positional arguments:
  { ,planetkey,pquota,dasync,savedsearch,metadata,update,ee_user,quota,create,selupload,lst,assetsize,tasks,access,cancel}
                        ---------------------------------------
                        -----Choose from Planet Tools Below-----
                        ---------------------------------------
    planetkey           Enter your planet API Key
    pquota              Prints your Planet Quota Details
    dasync              Uses the Planet Client Async Downloader to download
                        Planet Assets: Does not require activation
    savedsearch         Tool to download saved searches from Planet Explorer
    metadata            Tool to tabulate and convert all metadata files from
                        Planet or Digital Globe Assets
                        -------------------------------------------
                        ----Choose from Earth Engine Tools Below----
                        -------------------------------------------
    update              Updates Selenium drivers for firefox [windows or linux
                        systems]
    ee_user             Get Earth Engine API Key & Paste it back to Command
                        line/shell to change user
    quota               Print Earth Engine total quota and used quota
    create              Allows the user to create an asset collection or
                        folder in Google Earth Engine
    selupload           Batch Asset Uploader for Planet Items & Assets using
                        Selenium
    lst                 List assets in a folder/collection or write as text
                        file
    assetsize           Prints collection size in Human Readable form & Number
                        of assets
    tasks               Queries current task status
                        [completed,running,ready,failed,cancelled]
    access              Sets Permissions for items in folder
    cancel              Cancel all running tasks

optional arguments:
  -h, --help            show this help message and exit

要获得特定功能的帮助,只需使用help开关调用它,例如:ppipe upload-h。如果您没有安装ppipe,那么只需转到ppipe目录并运行python ppipe.py[参数放在这里]

用法示例

使用示例分为两部分,分别针对行星工具和地球引擎工具,地球引擎工具包括cli中的其他开发,这些开发允许您递归地与它们的python api交互

行星工具

Planet工具集包括访问控制和下载Planet Labs资产(PlanetScope和Rapideye矫正软件)所需的工具,以及以表格形式分析元数据(其他应用程序可能需要这些元数据)。

行星键

这个工具基本上要求你输入你的星球api密钥使用密码提示,然后用于所有后续工具。该工具现在包括一个使用api密钥进行安静身份验证的选项,以防它无法调用交互式环境(如google colaboratory中的环境)。您还可以执行planet init设置按键,因为工具可以直接读取按键。

usage: ppipe planetkey [-h] [--type TYPE] [--key KEY]

optional arguments:
  -h, --help   show this help message and exit

Optional named arguments:
  --type TYPE  For direct key entry type --type quiet
  --key KEY    Your Planet API Key

如果在专用计算机上使用,则该密钥将保存为CSV文件,以供以后运行该工具时使用。

< h3>行星配额

此工具打印您的行星配额,包括分配名称、总配额、使用的配额和剩余配额。调用它很简单

ppipe pquota

异步下载

这个工具是作为行星客户端自己的下载工具的包装而构建的。Planet客户端中包含的工具是多线程的,允许用户同时激活、轮询和下载。这将允许您使用先前使用aoijson工具创建的.json文件,通过geojson文件或所有类似于开始和结束日期和时间的过滤器传递几何图形。

usage: ppipe dasync [-h] [--infile INFILE] [--item ITEM] [--asset ASSET]
                       [--local LOCAL] [--start START] [--end END]
                       [--cmin CMIN] [--cmax CMAX]

optional arguments:
  -h, --help       show this help message and exit
  --infile INFILE  Choose a geojson from geojson.io or the aoi-json you
                   created earlier using ppipe aoijson
  --item ITEM      Choose from Planet Item types Example: PSScene4Band,
                   PSOrthoTile, REOrthoTile etc
  --asset ASSET    Choose an asset type example: anlaytic,
                   analytic_dn,analytic_sr,analytic_xml etc
  --local LOCAL    Local Path where Planet Item and asset types are saved

Optional named arguments:
  --start START    Start date filter format YYYY-MM-DD
  --end END        End date filter format YYYY-MM-DD
  --cmin CMIN      Cloud cover minimum between 0-1
  --cmax CMAX      Cloud cover maximum between 0-1

使用geojson的设置还需要包括其他过滤器,典型的设置是

ppipe dasync --infile "C:\Users\johndoe\geometry.geojson" --item "PSScene4Band" --asset "analytic" --local "C:\planet" --start "2018-06-01" --end "2018-08-01" --cmin 0 --cmax 0.4

使用先前创建的结构化json文件意味着您不必每次都传递额外的过滤器

python ppipe.py dasync --infile "C:\Users\johndoe\geometry.json" --item "PSScene4Band" --asset "analytic_xml" --local "C:\planet_demo"

但是,您仍然可以决定通过过滤器,并且通过的过滤器将覆盖现有的过滤器

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
0

下载保存的搜索

从保存在星球资源管理器中的已保存搜索下载资源。

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
1

元数据分析器

元数据选项卡是一个功能更强大的工具,它包括对所有PlanetScope和Rapieye资产以及Digital Globe多光谱和DigitalGlobe全色数据集的元数据解析。这是一个独立的开发,用于处理来自多个源的XML元数据文件,重要的一步是用户计划将这些资产上载到Google Earth引擎。

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
2

地球发动机工具

除了帮助用户对资产执行批处理操作,以及现有gee cli的交互和扩展功能之外,它还有一个雄心壮志。它是根据具体情况开发的,以便在将来可用或需要时包含更多功能。这也是供地球引擎用户使用的独立软件包,可在此处下载

硒更新

这是一个关键步骤,因为所有上载功能都依赖于此步骤,因此请确保运行此步骤。这将下载selenium驱动程序并将其放置到windows和linux子系统的本地目录中。这是使用Selenium支持的上载的第一步。

ppipe更新

ee用户

此工具旨在允许不同用户更改地球引擎身份验证凭据。该工具调用身份验证调用,并将身份验证密钥验证网站复制到剪贴板,然后剪贴板可以粘贴到浏览器上,生成的密钥可以粘贴回。此命令不接受参数。

ppipe ee_用户

ee配额

此工具打印土工定额工具、已用定额和剩余定额。不需要参数

ppipe配额

创建

此工具允许您在地球引擎根目录中创建集合或文件夹。该工具使用系统cli来实现这一点,其中包含了这一点,以减少在多个工具和cli之间切换的需要。

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
3

批处理上载程序

脚本从本地目录中的geotiffs创建图像集合。默认情况下,集合中的映像名称与本地目录名称相同;使用可选参数可以提供不同的名称。必须处理映像的元数据,下一节将介绍该元数据以及行星映像和资产的清单类型: 元数据解析器

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
4

资产清单

此工具旨在使用土工ls工具功能打印或输出文件夹或集合中的资产列表。

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
5

资产规模

此工具允许您查询任何地球引擎资产[图像、图像集合、表和文件夹]的大小,并根据大小以非字节编码打印出资产数量和总资产大小,即KB、MB、GB和TB。

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
6

任务查询

此脚本统计所有当前正在运行、准备就绪、已完成、失败和取消的任务以及失败的任务。它链接到您使用google earth引擎帐户初始化的帐户。这不需要争论。

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
7

资产访问

此工具允许您递归地为文件夹、集合或图像设置资产访问权限,这意味着您可以同时为多个资产添加集合访问属性。

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
8

取消所有任务

这是一个更简单的工具,也可以直接从土工cli调用它

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal
9

使用此工具的用法

git clone https://github.com/samapriya/Planet-GEE-Pipeline-CLI.git
cd Planet-GEE-Pipeline-CLI
python setup.py install
0

学分

Jetstream部分工作由Jetstream Grant TG-GEO160014提供支持。

同时还受行星实验室大使计划支持

最初的上传功能改编自卢卡斯的资产管理工具

更改日志

v0.4.4

  • 修复了Selenium下载路径
  • 优化了工具的总体功能
  • 处理剪裁资产的元数据(使用porder进行剪裁)
  • 更新了Selenium Uploader以使用土工API
  • 全面改进和稳定性检查

v0.4.3

  • 添加了Selenium Uploader以在验证问题后将图像上载到地球引擎
  • 对工具进行了全面改进,并添加了通知和贡献通知

v0.4.1

  • 对地球引擎工具的重大改进,包括更好的任务报告、批量复制和移动
  • 对访问工具的改进,该工具允许您为整个ee文件夹和特定用户的集合添加读/写权限

v0.3.8

  • 现在包括一个打印行星配额详细信息的工具pquota
  • 工具包括dasync,它使用星球的python客户端下载程序来激活和下载。

v0.3.7

  • 现在允许用户从"星球资源管理器"中保存的搜索中下载

v0.3.6

  • 现在使用geojson文件的边界框来处理复杂的几何图形

v0.3.5

  • 已修复空间函数的问题
  • 改进了文件大小分析

v0.3.2

  • 广义cli参数
  • 修复了用于上载的子进程shell问题

v0.3.0

  • 允许在google colab或非交互式环境中使用安静的身份验证
  • 改进的Planet密钥输入和身份验证协议

v0.2.91

  • 修复了表面反射元数据和清单库的问题
  • 改进了对(psscene4band analytic_sr)[ps4b_sr]的摄取支持

v0.2.9

  • 修复了生成ID列表的问题
  • 提高了命令调用的总体安全性

v0.2.2

  • 在google earth引擎中使用清单摄取对摄取的主要改进
  • 包含所有常用行星数据项和资产组合的清单
  • 增加了额外的工具到地球引擎增强,包括在上传到gee之前的配额检查

v0.2.1

  • 修复了初始化循环问题

v0.2.0

  • 元数据分析器和上载程序现在可以处理PlanetScope 4波段表面反射数据集
  • 一般改进

v0.1.9

  • 为反映更新的GEE加载项工具所做的更改
  • 一般改进

v0.1.8

  • 对解析器的小修改和一般改进
  • 行星密钥现在存储在一个更安全的配置文件夹"c:\ users.config\planet"
  • 地球引擎现在需要res除非明确指定,否则为元数据指定字段类型意味着字母数字列(如satid)也不能有数字值。已添加manifest选项来处理此问题(只需使用-mf"planetscope")
  • 增加了在下载Planet资产之前查询下载大小和本地磁盘容量的功能。
  • 添加了list函数以生成包含报表的集合或文件夹列表
  • 添加了集合大小工具,该工具允许您估计已分配配额中使用的总大小或配额。
  • ogr2ft功能被删除,因为地球引擎现在允许向量和表格上传。

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

推荐PyPI第三方库


热门话题
java如何在Android Wifi中筛选相同的SSID?   Java中重写接口中异常处理的泛型   java“无效转义序列(有效的是\b\t\n\f\r\”\“\”\)”语法错误   使用JNDI的java NameReadyBoundException   java如何在这个程序上执行算法   java为什么我的应用程序在调试时崩溃而应用程序停止?   Java:while循环未检测到中断条件,但如果块检测到   java如何快速使用jfreechart创建的折线图   java将输入放入JSTL会话变量,以便稍后在屏幕上显示   java在spring boot中加载外部JAR   java Apache NiFi无法使用ojdbc6连接到Oracle 12c。jar或ojdbc8。罐子   java解释StringToWordVector()Weka的输出   java charAt()找不到符号   使用mpjexpress的java阅读控制台输入