Out-of-the-box methods for satellite imagery processing
Project description
Sky Kit
Easy to use out-of-the-box satellite imagery package for Python aficionado.
Adding fun to satellites coolness 😎
Warning: This is still a work in progress. Please do not use in production, yet.
Seriously, what is it? 🧐
Sky kit is an ensemble of methods to ease satellite imagery processing, from and to developers and data scientists. Working with any satellite imagery provider, should be as easy as:
from skykit.providers import <ProviderName>
Install 🚀
As with any python package, pip is your friend:
pip install skykit
Usage 🎡
Quick Start
The following shows details of a tile from Sentinel-2, that includes Paris (France), from 01/03/2019 to 08/03/2019:
from datetime import date
from skykit.providers import Sentinel2
sat = Sentinel2(username="xxx", password="yyy")
tiles = sat.query(
coordinates=(2.349014, 48.864716), # Paris (FR) coordinates
dates=(date(2019,3,1), date(2019,3,8)) # From march 1, 2019 to march 8, 2019
)
len(tiles) # returns 6
tile = tiles[0] # Pick any tile you want, or filter more
print(tile['summary']) # returns 'Date: 2019-03-02T10:50:29.024Z, Instrument: MSI, Mode: , Satellite: Sentinel-2, Size: 730.27 MB'
In the previous example, the tiles variable will include meta information of every tile returned from Sentinel-2 query.
Features
Connecting to satellite images providers
Actually, Sky kit support the following ticked providers (others coming):
- Sentinel 1
- Sentinel 2
- Landsat 7
- Landsat 8
- Modis
- Cbers-4
- Aqua
All image providers are grouped into skykit.providers module. Invoking a provider (like Sentinel-2) can be done like this:
from skykit.providers import Sentinel2
We then need to initialize the connection with the provider. eg with 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.
Todo 🔭
- Write a better documentation. Look for readthedocs.io
- Add providers
- Create a reusable abstraction of
Tile, to create a uniform use of tiles, no matter which provider - Ease working with tiles meta data (usually about the scene and satellite)
- Allow querying using a polygon
- Allow querying using an address
- Use friendly dates (like text:
"26/03/2019"), of usefrom="..."andto="..."instead ofdate=(...) - Allow working on specific bands. Something like:
image = tile.get('b04') # or tile.b04() ???
- More tests <-- ⚠ URGENT
- Create a CI/CD pipeline to publish tags into PyPi
This list is not exhaustive.
Contribution 💪
Please suggest contributions using Github's Pull Requests.
License 🤮
Read the LICENSE.txt file.
Thanks 🙏
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skykit-0.1.3.tar.gz.
File metadata
- Download URL: skykit-0.1.3.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8195dd8ad90f27926e7fc262949dce4e6db5893066f5ff589ddf6220a5a34312
|
|
| MD5 |
7e9ab5db12cae46961d416a20c7c69aa
|
|
| BLAKE2b-256 |
bf11b29cdf6819e489eba32e52bf66464ffc6c301d266376c29a43d2c55f38b4
|
File details
Details for the file skykit-0.1.3-py3-none-any.whl.
File metadata
- Download URL: skykit-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
387a4fe8f7967045b5659f54dc406a2672ba1dbb02d97a514ef212e557e49336
|
|
| MD5 |
71f96d3c356c82984b3bfb6aa2e650f0
|
|
| BLAKE2b-256 |
71b5275e3f2c58247a407d8107b8787e537664b24f7a799550b9ad9c120a8ea6
|