ordersv2批处理客户端的porder包装器

pobatch的Python项目详细描述


pobatch:ordersv2批处理客户端的poder包装器

35ffb6a5-2b6f-4bd0-92b9-c974f0ede76e_200x200doipypi version许可证

此工具是porder工具的附加组件,因此请阅读此处的项目介绍,并确保在开始安装之前执行其他安装步骤。这个工具满足了在空间和时间网格中对大订单进行排序的需要,将它们分成更小的可管理订单,同时考虑到并发限制(可以同时放置的订单数量)。在这种情况下,用户设置并发限制,工具会自动检查并等待下一个订单。该工具还可以根据每次订单下载的字节数估计订单大小。最后一步是执行相同的操作,使用porder的下载程序和由多订单工具创建的订单列表进行下载。此工具的设计保持简单,这意味着您依靠混合使用或porderpobatch来执行这些操作。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 initexportset 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工具构建的包装器。porder工具还包含其他有用的工具,如将shapefile转换为geojson、base64编码gcs凭据、简化几何体以满足500个顶点的要求等等。因此,我们的想法是结合使用这两种工具,并根据需要制作所需的管道。创建此工具是为了让用户能够控制冗长乏味的订单队列,并以批处理方式实现数据的推送和拉取。

配额

只是一个简单的工具,可以快速打印您的星球订阅配额。

porder quota

空转

基于一些基本过滤器为几何体创建一个空闲列表,包括几何体、开始和结束日期以及云覆盖。如果未指定云覆盖,则包括从0%到100%的所有云覆盖。目前,该工具可以处理geojson、json和kml文件。输出是一个带有id的csv文件。该工具还允许您确保在选择图像时获得百分比重叠,以便剪辑操作相应地调整它(通常--ovp 1用于剪辑期间不失败的订单)。该工具现在还以平方公里为单位打印估计面积,以便下载,如果您使用正在搜索的几何图形剪裁了区域,则会打印估计面积(只是估计)。

我已将设置更改为现在执行以下两项操作

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

一个简单的设置如下:800个最大项目ID,与我们传递给过滤器的几何体重叠5%

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

idlist工具现在可以使用多多边形并迭代地查找场景。

idSplit

这允许您将idlist拆分为小csv文件以创建一批订单。

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"

多阶

此工具允许您使用前面创建的idlist下订单。--op参数允许您按顺序执行操作、传递和通知,例如--op toar clip email执行大气反射率的顶部,然后剪切到几何体,并在订单完成后向您发送电子邮件通知,但失败或者身份有任何改变。操作列表如下,顺序很重要

<;居中>; <表><广告>< OP>/TH>说明 < /广告><正文>剪辑clip images可以处理单个和多个多边形verify或创建geojson.ioTOAR为图像生成的大气顶部反射率图像综合按给定顺序合成的图像数 zip 压缩包在一起并创建下载(每个资产都有一个包,所以有多个zip文件)Zipall创建一个包含所有资产的zip文件压缩使用图像压缩投影在下载图像之前重新投影 AWS/TD->调用选项以指定交付给AWS天青调用选项以指定对azure的传递 GCS 调用选项指定交付给地面军事系统电子邮件向您的星球发送电子邮件通知注册电子邮件 <;/居中>;

现在可以为PlanetScope 4波段项目添加一些预定义的索引,单个设置最多可添加5个索引。这是实验性的。索引列表包括

<;居中>; <表><广告>索引来源< /广告><正文>简单比率(sr)约旦1969年 归一化植被指数(ndvi)
Rouse等人1973年绿色归一化差分指数(gndvi)Gitelson等人1996年蓝色标准化差异植被指数(bndvi)Wang等人,2007年转化植被指数(TVI)=HREF="HTPSP//www. SisturnDist.com/Studio/Ass/Abs/Pi/S034 4257000,1978"Rel="NofOLLOW"> Burgle和LeBrc 2000 优化土壤调整植被指数(osavi)Rondeaux等人1996年增强植被指数(evi2)Jian等人2008年归一化差水指数(ndwi)GAO1996改良土壤调整植被指数v2(msavi2)1994年合格中介机构 <;/居中>;

该工具利用了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添加了队列支持,以便更好地处理订单列表
  • 总体工具的一般改进

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

推荐PyPI第三方库


热门话题
java JNLP无法在浏览器中正确启动(与dtjava.js一起部署)   在执行下一个方法之前,java将等待线程执行结束   java如何将另一个LayoutManager应用于JComboBox?(多栏JComboBox尝试)   使用jPBC在java中实现双线性配对   java在使用@RequestMapping注释时获取请求的值(URL)   java如何控制流量   java如何获取IFC对象的绝对坐标?   java目标服务器无法使用htmlunit和tor响应异常   java需要帮助创建一个循环结构来运行我的程序   java有可能拥有一个Android APK并在应用程序中更改构建变体吗?   在Sphinx4中运行Ant的java   Java:从ArrayList获取子列表的有效方法   java如何使在循环内部创建的数组在循环外部工作?   apache poi通过java中的XSSF表从单元格读取日期值   安卓 java自己的SeqLock实现,避免spinlock会更好吗?   java的并发底层方法。util。同时发生的预定未来   java比较方法违反了它的一般约定,如何使它具有可传递性?   使用JAVA定向指定类的DB导出子类   一个方法中的java更改特定imageView