Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/a3r0id/nesdis-goes

Downloads satellite imagery directly from star.nesdis.noaa.gov. Also compiles gifs and a few other utilities.
https://github.com/a3r0id/nesdis-goes

compiles-gifs geospatial geospatial-analysis imagery imagery-analysis nesdis osint reconnaissance sattelite scraper weather

Last synced: 2 months ago
JSON representation

Downloads satellite imagery directly from star.nesdis.noaa.gov. Also compiles gifs and a few other utilities.

Awesome Lists containing this project

README

        

# nesdis-goes (Unofficial)
This API downloads and manipulates GOES-16/17 satellite imagery directly from star.nesdis.noaa.gov based on various searchable data-points.

## Setup:
> Simply move the contents of `/src` to your project folder.

*Sped up to 8x for first half of gif.*


![](https://raw.githubusercontent.com/hostinfodev/nesdis-goes/master/ezgif-1-41d268808025.gif)

## Basic Usage:
This API accepts a mixed query (dictionary):

(sector: `string`)
> The group of imagery's region (string of keywords).
``Example: "north pacific ocean"``

(band: `string`)
> The group of imagery's type or band(string of keywords).
``Example: "cloud weather"``

(dimensions: `list`)
> The desired dimensions of each image in the group of images's.
``Dimensions are limited to [250,250] or [500, 500] or [1000, 1000] or [2000, 2000].``

For all options visit:
[Here for all sectors](https://www.star.nesdis.noaa.gov/goes/index.php)
[Here for all bands](https://www.star.nesdis.noaa.gov/goes/conus.php?sat=G17)

### API Methods:
`API.showimages()`


> Opens each image received, will cause issues if many results (buggy).

`API.makeGif(GIFname: string)`


> Creates a GIF from each image received.

`API.cleanUp()`


> Deletes all downloaded images.

`API.payload`


> The final query result object, holds all results from query.

```python

# Import the API
from NesdisAPI import nesdis

# BASIC USAGE
API = nesdis(
{
"sector": "virginia state",
"band": "physics micro",
"dimensions": [250,250]
}
)

myGif = "test1.gif"

API.makeGif(myGif)

API.cleanUp()
```

## Advanced Usage:

Accepts same query as *Basic Options* plus:

(time: `dict`)
> Sets either a timeframe from now and minus `x` amount of either hours(`int`) or days(`int`)

> Example: `"time": {"days": 2}`

**or**

> sets a split time from, essentially a time between **x**(`datetime string`) and **y**(`datetime string`),
we'll use "oldest" and "newest" instead of x/y.

> Example: `"time": {timeframe: {"oldest": "2020-08-01 12:30", "newest": "2020-08-1 13:30"}}`

(type: `string`)
**Do Not Change** - *for further implementations only*

Sets the type of images to select.
Types are: `default`(defaults to this and really shouldn't be changed), `thumbnail`, `unknown`, `banner`
Note: Not really useful at this point in time, I will use this later to call specific images that are not the default slid images like thumbnails etc.

```python

# Import the API
from NesdisAPI import nesdis

# ADVANCED USAGE
API = nesdis(
{
"sector": "virginia state",
"band": "physics micro",
"time": {timeframe: {"oldest": "2020-08-01 12:30", "newest": "2020-08-30 23:30"}},
"dimensions": [250,250]
}
)

print(API.payload)

myGif = "test1.gif"

API.makeGif(myGif)

API.cleanUp()
```

Note: I'll eventually move this to a module that way it can be installed easier via PIP and properly imported.