ordersv2批处理客户端的porder包装器
pobatch的Python项目详细描述
pobatch:ordersv2批处理客户端的poder包装器
此工具是porder工具的附加组件,因此请阅读此处的项目介绍,并确保在开始安装之前执行其他安装步骤。这个工具满足了在空间和时间网格中对大订单进行排序的需要,将它们分成更小的可管理订单,同时考虑到并发限制(可以同时放置的订单数量)。在这种情况下,用户设置并发限制,工具会自动检查并等待下一个订单。该工具还可以根据每次订单下载的字节数估计订单大小。最后一步是执行相同的操作,使用porder的下载程序和由多订单工具创建的订单列表进行下载。此工具的设计保持简单,这意味着您依靠混合使用或porder和pobatch来执行这些操作。ordersv2是planet的api的下一个迭代,用于获取交付给您的分析准备数据(ard)。Orders v2允许您改进此域中的功能,包括以批处理顺序提交多个图像的功能,以及执行诸如大气反射比、压缩、共注册等操作,以及增强的通知(如电子邮件和网络挂钩)。
请注意:此工具绝不是官方工具或行星产品,而是由Samapriya Roy创建和维护的个人项目
如果您觉得此工具有用,请用星号标出并引用如下内容
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
目录
安装
这假设您的系统中安装了本机python&pip,您可以通过转到终端(或windows命令提示符)并尝试
python
然后pip list
如果没有错误,并且使用了Python2.7.14或更高版本,那么应该可以继续使用。请注意,我只在Python2.7.15上测试过它,但它应该运行在Python 3上。
众所周知,shapely作为一个库要安装在windows机器上非常棘手,因此请按照shapely的pypi包页面中提到的步骤进行操作。根据您所拥有的python版本,您可以从这里下载并安装非官方的wheel文件。你会得到一个轮子文件或者一个以.whl结尾的文件。现在,您可以在命令提示符下浏览或迁移到该文件夹,例如在我的示例中,我运行的是python 2.7.15和win32版本,因此该命令是
pip安装shapely-1.6.4.post1-cp27-cp27m-win32.whl
或者,您可以使用anaconda安装。同样,这两个选项都在shapely的官方pypi页面中提到。fiona是simplify工具建议使用的安装,但这不是必需的。您可以在这里找到安装说明
一旦你配置好了。要安装pobatch:porder wrapper for ordersv2 batch client可以使用两种方法安装
pip安装pobatch
在ubuntu上,我发现指定p i p类型和使用sudo有帮助
sudo pip2安装pobatch或sudo pip3安装pobatch
或者您也可以尝试
git clone https://github.com/samapriya/pobatch.git
cd pobatch
python setup.py install
对于Linux,请使用sudo或--user。
安装是一个可选步骤;应用程序也可以通过执行pobatch.py脚本直接运行。安装它的好处是可以作为任何命令行工具执行pobatch。我建议在虚拟环境中安装。如果不想安装,请浏览pobatch文件夹,并尝试python pobatch.py
以获得相同的结果。
开始
请确保通过键入planet init
或export
或set pl_api_key=您的api key
来初始化planet客户端,以便打印帮助:
pobatch -h
usage: pobatch [-h] {idsplit,multiorder,ordsize,downloader} ...
porder wrapper for Ordersv2 Batch Client
positional arguments:
{quota,idsplit,multiorder,ordsize,downloader}
idlist Get idlist using geometry & filters
quota Prints your Planet Quota Details
idsplit Splits ID list incase you want to run them in small
batches
multiorder Place multiple orders based on idlists in folder
ordsize Estimates total download size for each completed
order(Takes times)
downloader Download using order url list
optional arguments:
-h, --help show this help message and exit
要获得特定功能的帮助,只需使用help开关调用它,例如:pobatch idsplit-h
。如果您没有安装pobatch,那么只需转到pobatch目录并运行python pobatch.py[arguments go here]
ordersv2批处理客户端的porder包装器
配额
只是一个简单的工具,可以快速打印您的星球订阅配额。
porder quota
空转
基于一些基本过滤器为几何体创建一个空闲列表,包括几何体、开始和结束日期以及云覆盖。如果未指定云覆盖,则包括从0%到100%的所有云覆盖。目前,该工具可以处理geojson、json和kml文件。输出是一个带有id的csv文件。该工具还允许您确保在选择图像时获得百分比重叠,以便剪辑操作相应地调整它(通常--ovp 1用于剪辑期间不失败的订单)。该工具现在还以平方公里为单位打印估计面积,以便下载,如果您使用正在搜索的几何图形剪裁了区域,则会打印估计面积(只是估计)。
我已将设置更改为现在执行以下两项操作
号码选项是可选的,因此它可以查找时间范围内的所有图像,但如果区域太大,请小心,自行使用。更好的选择是提供号码。 通常可能会忘记不同的资产类型,因此您现在无法传递项目,脚本将根据捆绑包返回每种项目类型的每种可能的资产类型。 一个简单的设置如下:800个最大项目ID,与我们传递给过滤器的几何体重叠5% 若要运行添加其他筛选器的实验,现在可以为字符串和范围筛选器传递附加字符串或范围筛选器或同时传递这两个标志,设置如下。附加过滤器是可选的 idlist工具现在可以使用多多边形并迭代地查找场景。 这允许您将idlist拆分为小csv文件以创建一批订单。 一个简单的设置是 此工具允许您使用前面创建的idlist下订单。pobatch idlist -h
usage: pobatch idlist [-h] --input INPUT --start START --end END --item ITEM
[--asset ASSET] --outfile OUTFILE [--cmin CMIN]
[--cmax CMAX] [--number NUMBER] [--overlap OVERLAP]
[--filters FILTERS [FILTERS ...]]
optional arguments:
-h, --help show this help message and exit
Required named arguments.:
--input INPUT Input geometry file for now geojson/json/kml
--start START Start date in format YYYY-MM-DD
--end END End date in format YYYY-MM-DD
--item ITEM Item Type PSScene4Band|PSOrthoTile|REOrthoTile etc
--asset ASSET Asset Type analytic, analytic_sr,visual etc
--outfile OUTFILE Output csv file
Optional named arguments:
--cmin CMIN Minimum cloud cover
--cmax CMAX Maximum cloud cover
--number NUMBER Total number of assets, give a large number if you are
not sure
--overlap OVERLAP Percentage overlap of image with search area range
between 0 to 100
--filters FILTERS [FILTERS ...]
Add an additional string or range filter
pobatch idlist --input "path to geometry.geojson" --start "YYYY-MM-DD" --end "YYYY-MM-DD" --item "PSScene4Band" --asset "analytic_sr" --number 800 --outfile "path to idlist.csv file" --overlap 5
pobatch idlist --input "Path to geojson file" --start "YYYY-MM-DD" --end "YYYY-MM-DD" --item "PSScene4Band" --asset "analytic" --outfile "Path to idlist.csv" --filters range:clear_percent:55:100 --number 20
pobatch idlist --input "Path to geojson file" --start "YYYY-MM-DD" --end "YYYY-MM-DD" --item "PSScene4Band" --asset "analytic" --outfile "Path to idlist.csv" --filters string:satellite_id:"1003,1006,1012,1020,1038" --number 20
pobatch idlist --input "Path to geojson file" --start "YYYY-MM-DD" --end "YYYY-MM-DD" --item "PSScene4Band" --asset "analytic" --outfile "Path to idlist.csv" --filters string:satellite_id:"1003,1006,1012,1020,1038" range:clear_percent:55:100 --number 20
idSplit
usage: pobatch idsplit [-h] [--idlist IDLIST] [--lines LINES] [--local LOCAL]
optional arguments:
-h, --help show this help message and exit
--idlist IDLIST Idlist txt file to split
--lines LINES Maximum number of lines in each split files
--local LOCAL Output folder where split files will be exported
pobatch idsplit --idlist "path to idlist.csv" --lines "number of lines in each idlist" --local "folder path to export split id lists"
多阶
--op
参数允许您按顺序执行操作、传递和通知,例如--op toar clip email
执行大气反射率的顶部,然后剪切到几何体,并在订单完成后向您发送电子邮件通知,但失败或者身份有任何改变。操作列表如下,顺序很重要
现在可以为PlanetScope 4波段项目添加一些预定义的索引,单个设置最多可添加5个索引。这是实验性的。索引列表包括
<;居中>; <表><广告>该工具利用了python队列实现中的fifo(先进先出)概念。它会检查您是否已达到并发订单限制,然后等待5分钟,然后再尝试重复下订单。
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
0
订单大小
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
1
下载程序
该工具现在允许您估计特定订单的总下载大小。
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
2
示例设置
- 使用porder获取几何图形的idlist(porder作为此工具的依赖项安装)
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
3
- 将空闲列表拆分为更小的子部分
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
4
- 现在使用您创建的空闲列表下单。这要求您设置最大并发订单数的限制。此设置将图像剪辑为几何图形,调整其拉链并在完成时向您发送电子邮件通知。
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
5
- 估计每个订单的订单下载大小(这是可选的)
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
6
- 最后下载订单,并选择下载方法(从顺序下载或下载多部分下载或多过程或多处理下载中选择)
Samapriya Roy. (2019, June 30). samapriya/pobatch: pobatch: porder wrapper for Ordersv2 Batch Client (Version 0.0.5). Zenodo.
http://doi.org/10.5281/zenodo.3263015
7
更改日志
v0.0.7
- 现在打印版本信息
- 向多订单工具添加了bundle和subscription id参数。
- 更新了idlist工具以更好地处理多多边形几何图形
- 一般改进。
v0.0.6
- 修复了捆绑包并删除了不推荐的捆绑包类型。
- 如果提交订单时出现问题,则创建错误日志
- 现在下载完整和部分订单输出。
v0.0.5
- 修复了utf解码的问题
- 已修复日志记录和详细呼叫问题
- 现在返回使用idlist搜索时找到的项目数
v0.0.4
- 向main添加配额工具以防止兼容性问题
- 修复了处理操作订单和不处理操作订单的问题
- 增加了一些改进,使shell运行正常。
v0.0.3
- 为Downloader添加了队列支持,以便更好地处理订单列表
- 总体工具的一般改进