开箱即用的卫星图像处理方法

skykit的Python项目详细描述


天空套件

易于使用开箱即用的卫星图像包为python爱好者。

fun添加到卫星冷却中

Warning: This is still a work in progress. Please do not use in production, yet.

说真的,这是什么?

sky-kit是一套简化卫星图像处理的方法,可用于开发人员和数据科学家之间的通信。与任何卫星图像提供商合作,都应该像这样简单:

from skykit.providers import <ProviderName>

安装

与任何python包一样,pip是您的朋友:

pip install skykit

用法

快速启动

以下显示了Sentinel-2(包括法国巴黎)从2019年3月1日到2019年3月8日的瓷砖的详细信息:

fromdatetimeimportdatefromskykit.providersimportSentinel2sat=Sentinel2(username="xxx",password="yyy")tiles=sat.query(coordinates=(2.349014,48.864716),# Paris (FR) coordinatesdates=(date(2019,3,1),date(2019,3,8))# From march 1, 2019 to march 8, 2019)len(tiles)# returns 6tile=tiles[0]# Pick any tile you want, or filter moreprint(tile['summary'])# returns 'Date: 2019-03-02T10:50:29.024Z, Instrument: MSI, Mode: , Satellite: Sentinel-2, Size: 730.27 MB'

在前面的示例中,tiles变量将包含sentinel-2查询返回的每个磁贴的元信息。

功能

连接到卫星图像提供商

实际上,Sky Kit支持以下勾选的提供商(其他人也会来):

  • []哨兵1
  • [X]哨兵2
  • []陆地卫星7号
  • []陆地卫星8号
  • []modis
  • []CBERS-4
  • []浅绿色

所有图像提供程序都分组到skykit.providers模块中。调用提供者(如sentinel-2)可以这样做:

fromskykit.providersimportSentinel2

然后我们需要初始化与提供者的连接。例如,使用sentinel-2:

sat=Sentinel2(username="xxx",password="yyy")

Nota: Sentinel 1 & 2 require having credentials to connect to Copernicus Open Access Hub. Once created, insert your credentials in the code above.

待办事项
  • []编写更好的文档。查找readthedocs.io
  • []添加提供商
  • []创建Tile的可重用抽象,以创建tiles的统一使用,无论是哪个提供者
  • []轻松使用tiles元数据(通常是关于场景和卫星的)
  • [X]允许使用多边形进行查询
  • []允许使用地址进行查询
  • []使用友好的日期(如文本:"26/03/2019"),使用from="..."to="...",而不是date=(...)
  • []允许在特定波段工作。例如:
image=tile.get('b04')# or tile.b04() ???
  • []更多测试<;--紧急
  • []创建一个ci/cd管道,将tags发布到pypi

这个清单并不详尽。

贡献

请建议使用github的pull请求进行贡献。

许可证

读取LICENSE.txt文件。

谢谢

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

推荐PyPI第三方库


热门话题
java刷新系统。用自己的记录器输出   使用Jython将参数从Java传递到Python   JavaSocksV4代理   java如何使用通知?   java@DirtiesConext不工作   java将多个jar组合成一个(使用maven)   java使用相等运算符比较两个类   java我怎样才能让两个JOptionPane一起出现在我的第一页上,并让它们在两个页面上都有正确的答案?   html无法访问java中资产文件夹内的文件   通过post命令向SpringWebApp发送对象时,java对象字段为null   单个实例中静态变量的类更改值(Java)   java解决方案是什么   试图检查网站所有受支持的密码套件的安全性,在java中遇到chacha20和poly1035问题