终端中的STAC项目
项目描述
stacterm
这个库用于在终端中显示有关STAC项目的信息(表格、日历、图表、直方图)。它以STAC ItemCollection(STAC项目的GeoJSON FeatureCollection)作为输入,可以通过指定文件名或通过从另一个程序管道输出。
安装
从PyPi安装
$ pip install stacterm
需要PySTAC和Pandas,以及两个用于在终端中渲染表格(termtables)和图表(plotext)的依赖项。
用法
stacterm的主要用法是一个CLI程序stacterm
。使用帮助查看可用选项
$ stacterm -h
usage: stacterm [-h] {table,cal,hist,plot} ...
Terminal STAC
positional arguments:
{table,cal,hist,plot}
table Output a table
cal Output a calendar
hist Output a histogram
plot Output a plot
optional arguments:
-h, --help show this help message and exit
以下详细用法示例使用的是保存的文件,但是stacterm
也可以读取stdin,允许其他程序将其输出管道传递给它,例如pystac-client。
$ export STAC_API_URL=https://earth-search.aws.element84.com/v0
$ stac-client search --intersects aoi.json --datetime 2020-07-01/2020-12-31 -c sentinel-s2-l2a-cogs landsat-8-l1-c1 | stacterm cal --label platform
stacterm
的所有子命令都可以接受可选的字段名称。字段名称是
id
:项目的IDdate
:项目datetime
字段的日期部分collection
:项目的集合- 任何属性
表格
使用stacterm
显示从保存的ItemCollection中获取的表格化数据。
$ stacterm table items.json
| id | date |
|------------------------------------------|------------|
| LC08_L1TP_026079_20201014_20201104_01_T1 | 2020-10-14 |
| LC08_L1TP_026079_20201115_20201210_01_T1 | 2020-11-15 |
| S2A_12JXQ_20201008_0_L1C | 2020-10-08 |
默认情况下,这是一个Markdown表格(注意,终端不会渲染Markdown)
id | date |
---|---|
LC08_L1TP_026079_20201014_20201104_01_T1 | 2020-10-14 |
LC08_L1TP_026079_20201115_20201210_01_T1 | 2020-11-15 |
S2A_12JXQ_20201008_0_L1C | 2020-10-08 |
显示的字段可以通过--fields
关键字更改,并通过--sort
关键字排序。
$ stacterm table items.json --fields date eo:cloud_cover collection --sort eo:cloud_cover
| date | eo:cloud_cover | collection |
|------------|----------------|----------------------|
| 2020-10-13 | 0.0 | sentinel-s2-l1c |
| 2020-10-13 | 0.0 | sentinel-s2-l2a |
| 2020-10-13 | 0.0 | sentinel-s2-l2a-cogs |
| 2020-10-13 | 0.0 | sentinel-s2-l1c |
表格样式也可以通过--style
关键字进行更改,尽管它将不再在Markdown渲染器中使用。请参阅termtables样式列表。
$ stacterm table items.json --fields id date platform sentinel:grid_square --sort date --style thick
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓
┃ id ┃ date ┃ platform ┃ sentinel:grid_square ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━┫
┃ S2B_12JXR_20201003_0_L2A ┃ 2020-10-03 ┃ sentinel-2b ┃ XR ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━┫
┃ S2B_12JXQ_20201003_0_L1C ┃ 2020-10-03 ┃ sentinel-2b ┃ XQ ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━┫
┃ S2B_12JXQ_20201003_0_L2A ┃ 2020-10-03 ┃ sentinel-2b ┃ XQ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━┛
日历
提供类似于UNIX的日历(见cal
),可以显示单独条目的日期。默认情况下,cal
将使用datetime
字段(集合的日期时间)并按集合对条目进行分组。这些可以通过--date_field
和--label_field
关键字来覆盖。请注意,指定的--date_field
需要是一个日期字段,例如created
或updated
。
$ stacterm cal items.json --date_field created --label_field gsd
直方图
可以为任何数值字段创建直方图。
$ stacterm hist items.json eo:cloud_cover
图表
可以使用1或2个数值字段创建图表。如果只有一个字段,它将针对场景号进行绘制。--sort
关键字可以控制绘制单个字段时如何排序数据。
$ stacterm plot items.json eo:cloud_cover --sort eo:cloud_cover
开发
plotext库中还有更多选项可以在此展示。此外,如果为直方图和图表添加了对日期时间的支持(见日期时间支持),则stacterm
可以创建时间直方图或绘制数量与日期的关系图。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定该选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
stacterm-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4d73704fecc697e00472825dc0133fc43725e73eb45f263a640c53e2e8707e65 |
|
MD5 | ba19db619721337ed690faa3c873a035 |
|
BLAKE2b-256 | b03543ba166b3e0fff8dcaabef8104ae591ca6e6dd72635639dc451036c4f21c |
stacterm-0.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 70ad57cc346fda86290f095e61ea218af5e8c0db77bfdc858fd10d2a8a9c9e63 |
|
MD5 | 6126b174aa65977935f1a2894318eac9 |
|
BLAKE2b-256 | 36a5e9bebfdd2836b376d279a10af988e98cda0b0ecd5886612e0f399f1b458f |