用于Piping Planet、Satellogic、GEE和GBDX资产的简单cli

satadd的Python项目详细描述


satadd:planet、satellogic、google earth engine和digital globe images的cli管道

doipypi version

引用为

Samapriya Roy. (2018, October 6). samapriya/satadd: satadd: CLI pipeline for Planet, Satellogic,
Google Earth Engine and Digital Globe Imagery (Version 0.0.3). Zenodo. http://doi.org/10.5281/zenodo.1450622

google earth引擎打开了一扇大门,让我们有可能获得一份已经被一个分析平台吸收的公共数据集的详细列表。仅光栅数据集就超过450多个,它们构成了公共可用数据集最独特的集合之一,而且还在不断增长。当这种情况发生在免费和开源的数据集上时,越来越多的数据进来了,公司也在敞开大门,开放数据,并有任务包括研究人员、用户、开发人员和所有想使用这些数据集的人。这包括但不限于像Planet、Digital Globe和Satellogic这样的公司,这些公司为用户开放了大量的数据集。此外,高时间分辨率数据集(如天象仪、数字地球仪等)和高光谱分辨率图像(如来自Satellogic的高光谱数据)的引入也改变了我们解决问题的方法。虽然在构建标准api和数据访问方法方面已经有所发展,但仍有增长和标准化的空间,尤其是容易访问这些资源。Planet的"开放加州计划"和"教育与研究计划",Digital Globe的开放式数据程序和Satellogic及其开放式数据下的教育和研究程序显然可以向我们提出问题传感器可能会变得有趣。

这个工具是以同样的问题为重点构建的,并从我的其他项目中借用部分,例如用于处理Planet数据集的ppipe,gee2drive处理谷歌地球引擎(gee)中已经提供的下载集合,pygbdx这是一个探索数字地球资产的相对较新的项目,我已经现在集成了访问和下载卫星图像的工具。基于根据需要添加卫星数据的想法,许多这些工具的核心组件已经开始构建satadd。这些工具包括每个帐户的身份验证设置,以及对数据集、元数据和其他工具的访问。虽然我已经在成百上千的资产交付中测试过它,但它并不是为繁重的工作而构建的,所以它现在表现得很好。随着公司更改其身份验证协议和传递机制,并允许在下一次迭代中改进数据传递和预处理的许多方面,该工具将得到构建和重建。

虽然几乎所有这些工具都允许本地导出,但gee目前只导出到google drive或您的google云存储桶,尽管在交付端点中丢失的东西是在gee已经是一个成熟的平台来分析和查看开放数据集的事实上获得的,但是它也允许您将私有数据集引入gee进行分析。因此,虽然数据下载和本地分析可能已经成为常态,但它为我们服务我们应该考虑在分析引擎中发布分析。但那是另一个时代的讨论。在这一点上,我希望这个工具能够帮助您准确地实现来自不同提供商的意图,并将它们结合在一起。由于这个工具下载数据,它确实带宽很重,需要稳定的互联网连接。这些工具处理身份验证、下载以及与不同api端点和服务的对话。在将来,我希望包括额外的预处理和向非本地端点(如现有的ftp、服务器或存储桶)的传递。

目录

安装

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

python然后pip list

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

此工具箱还使用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的指南

我注意到,在windows上安装shapely并不仅仅是简单的pip install shapely所以请单独安装shapely,并使用pypi项目页中的说明安装windows。是该工具的重要要求,但由于安装随操作系统的不同而有所不同,因此在执行下一步之前,请务必使用前面的说明进行安装。在其他操作系统上,pip install shapely应该可以正常工作。

安装satadd 您可以使用两种方法安装

pip安装satadd

或者您也可以尝试

git clone https://github.com/samapriya/satadd.git
cd satadd
python setup.py install

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

satadd -h

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

开始

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

usage: satadd.py [-h]
                 {planetkey,dginit,satinit,eeinit,dasync,savedsearch,metadata,simple_search,footprint,satraster,satmeta,metalist,reproject,refresh,idsearch,intersect,band
type,export}
                 ...

Simple CLI for piping Planet, Satellogic,GEE & GBDX Assets

positional arguments:
  {planetkey,dginit,satinit,eeinit,dasync,savedsearch,metadata,simple_search,footprint,satraster,satmeta,metalist,reproject,refresh,idsearch,intersect,bandtype,export}
    planetkey           Setting up planet API Key
    dginit              Initialize Digital Globe GBDX
    satinit             Initialize Satellogic Tokens
    eeinit              Initialize Google Earth Engine
    credrefresh         Refresh Satellogic & GBDX tokens


    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
                        Item and Asset types for Ingestion into GEE


    simple_search       Simple search to look for DG assets that intersect your AOI handles KML/SHP/GEOJSON
    metadata            Exports metadata for simple search into constitutent folders as JSON files
    footprint           Exports footprint for metadata files extracted earlier
                        and converts them to individual geometries (GeoJSON)and combined geometry (GeoJSON) file


    satraster           Filter and download Satellogic Imagery
    satlist             Get url for band list based on filtered Satellogic Imagery
    multiproc           Multiprocess based downloader based on satlist
    satmeta             Filter and download Satellogic Metadata
    metalist            Generates Basic Metadata list per scene for Satellogic Imagery
    reproject           Batch reproject rasters using EPSG code


    eerefresh           Refreshes your personal asset list and GEE Asset list
    idsearch            Does possible matches using asset name to give you asseth id/full path
    intersect           Exports a report of all assets(Personal & GEE) intersecting with provided geometry
    bandtype            Prints GEE bandtype and generates list to be used for export
    export              Export GEE Collections based on filter

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

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

SATADD卫星数据下载插件

此工具旨在增强使用cli导出图像的现有功能,您可以根据感兴趣的区域geojson文件(收集的开始和结束日期)将参数传递给filter

cli

初始化并验证

这是一个自动建议终端,它使用gee2add软件包来执行所有功能,但具有autosuggest for earth engine目录和您自己的个人目录。这样,您就无需在javascript代码编辑器中输入目录id即可访问图像id。

planetkey           Setting up planet API Key
dginit              Initialize Digital Globe GBDX
satinit             Initialize Satellogic Tokens
eeinit              Initialize Google Earth Engine
credrefresh         Refresh Satellogic & GBDX tokens

每种身份验证工具都允许您链接和保存这些服务的凭据,您可以通过键入satadd planetkey来检查它们。某些服务需要刷新身份验证令牌,您只需使用satadd credrefresh访问它即可。

行星工具

Planet工具集由访问控制和下载Planet实验室资产(PlanetScope和Rapideye矫正文件)以及以表格形式解析元数据(其他应用程序可能需要)所需的工具组成。这些工具设计用于与星球的python客户机(python client)和星球资源管理器(planet explorer)中嵌入的保存搜索(saved search)交互,并允许您访问和下载星球。根据需要提供图像和元数据。这还允许您在将其摄取到gee时处理元数据。

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
                    Item and Asset types for Ingestion into GEE

GBDX工具

这是一个简单的cli到digital globe的gbdx平台,它是从社区用户(免费提供的层)的角度设计的。该平台允许您访问DG的所有开放数据,也可以打开Ikonos数据以及Landsat和Sentinel数据集。您可以在此处创建笔记本帐户。笔记本电脑设置提供了额外的工具、gui和交互式框架,而cli简化了使用自己的本地计算机进行批处理和执行调用的一些操作需求。此工具将允许您使用几何图形执行简单seach,以获取资产摘要,将元数据导出为json文件,并将图像足迹导出为组合和单独的geojson文件。

simple_search       Simple search to look for DG assets that intersect your AOI handles KML/SHP/GEOJSON
metadata            Exports metadata for simple search into constitutent folders as JSON files
footprint           Exports footprint for metadata files extracted earlier
                    and converts them to individual geometries (GeoJSON)and combined geometry (GeoJSON) file

卫星工具

此工具允许您访问Satellogic共享的打开数据,并过滤和传递几何体对象以获取微观(多波段)和宏观(高光谱)光栅、元数据和基本元数据。下载工具是处理快速下载的多部分下载程序。metalist工具可用于创建一个简单的元数据列表,以便将图像批量上载到gee中进行分析。包含了重新投影工具,可根据需要处理批处理重新投影。该工具使用作为geojson对象传递到geojson.io的几何体。satlist生成带列表url,然后您可以使用multiproc工具使用multiprocessing下载链接。

satraster           Filter and download Satellogic Imagery
satlist             Get url for band list based on filtered Satellogic Imagery
multiproc           Multiprocess based downloader based on satlist
satmeta             Filter and download Satellogic Metadata
metalist            Generates Basic Metadata list per scene for Satellogic Imagery
reproject           Batch reproject rasters using EPSG code

GEE工具

此工具允许您使用gee2drive工具功能来浏览、匹配和导出gee中的现有集合。导出要求所有带宽类型都是同一类型的。在过去的几个月里,我在他们的栅格数据目录中维护了最新google earth引擎资产的目录。我每周都更新这个名单。此工具可下载此列表的最新版本,并允许用户根据需要浏览波段类型和导出收藏。

Samapriya Roy. (2018, October 6). samapriya/satadd: satadd: CLI pipeline for Planet, Satellogic,
Google Earth Engine and Digital Globe Imagery (Version 0.0.3). Zenodo. http://doi.org/10.5281/zenodo.1450622
0

更改日志

v0.0.4

  • 已修复在Windows上安装Shapely的问题
  • 更新了credrefresh以更好地刷新gbdx令牌

v0.0.3

  • 为Satellogic图像添加了更好的文件名解析功能
  • 为卫星图像的多处理下载添加了错误处理功能

v0.0.2

  • 现在搜索gbdx中可用的所有DG和非DG资产
  • 增加了为raster创建url列表和使用多处理下载支持的功能

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

推荐PyPI第三方库


热门话题
java使用ContentExchange设置请求属性   java Spark/Hdfs/Hdfsclient兼容性   java springcloudstreamkafka配置:instanceCount和instanceIndex   Java中web服务序列化日期   java用动态数据替换占位符   java git gc似乎覆盖了一个packfile,留下了一个打开的文件描述符,其中包含对“oldxxx.pack”的引用   为什么Apache项目对Java版本敏感?   java Anylogic帮助如何在导入的3dobject通过输送机上的多个“站”时更改其颜色?   JavaEclipseNeonM2E可以导入一个大型项目,但似乎不能自动解决依赖关系   java@FindBy搜索具有满足条件的子元素的元素   java如何将ActionEvent e与键绑定一起使用?   java转换以集中方式从外部库抛出的异常   java中用户文件/数据文件与系统/程序文件的区别   java使用变量字符串或字符作为对象名   字体使用Java图形操纵字符串中每个字符的形状   JavaFX图表移动数据   java RandomAccessFile:将所有项设置为相同的字节数?   java Google Play inapp Billing onPurchasesUpdated()错误响应代码1   java在不知道属性名和属性数的情况下处理json对象   java是否可以一次从HazelcastInstance(映射和列表)中删除所有数据?