All Projects β†’ sam210723 β†’ Xrit Rx

sam210723 / Xrit Rx

Licence: mit
πŸ“‘ Receive images from weather satellite GEO-KOMPSAT-2A (GK-2A).

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Xrit Rx

himawari-rx
πŸ“‘ Receive images from weather satellite Himawari-8 via HimawariCast.
Stars: ✭ 21 (-54.35%)
Mutual labels:  weather, satellite, satellite-imagery
goes2go
Download and process GOES-16 and GOES-17 data from NOAA's archive on AWS using Python.
Stars: ✭ 77 (+67.39%)
Mutual labels:  satellite, satellite-imagery
deck.gl-raster
deck.gl layers and WebGL modules for client-side satellite imagery analysis
Stars: ✭ 60 (+30.43%)
Mutual labels:  satellite, satellite-imagery
georaster-layer-for-leaflet
Display GeoTIFFs and soon other types of raster on your Leaflet Map
Stars: ✭ 168 (+265.22%)
Mutual labels:  satellite, satellite-imagery
Ossim
Core OSSIM (Open Source Software Image Map) package including C++ code for OSSIM library, command-line applications, tests, and build system
Stars: ✭ 182 (+295.65%)
Mutual labels:  satellite, satellite-imagery
Bv
Quickly view satellite imagery, hyperspectral imagery, and machine learning image outputs directly in your iTerm2 terminal.
Stars: ✭ 215 (+367.39%)
Mutual labels:  satellite, satellite-imagery
goestools
πŸ“‘ LRIT demodulator from weather satellite GEO-KOMPSAT-2A (GK-2A).
Stars: ✭ 23 (-50%)
Mutual labels:  weather, satellite
lightweight-temporal-attention-pytorch
A PyTorch implementation of the Light Temporal Attention Encoder (L-TAE) for satellite image time series. classification
Stars: ✭ 43 (-6.52%)
Mutual labels:  satellite, satellite-imagery
google-maps-at-88-mph
Google Maps keeps old satellite imagery around for a while – this tool collects what's available for a user-specified region in the form of a GIF.
Stars: ✭ 93 (+102.17%)
Mutual labels:  satellite, satellite-imagery
geoblaze
Blazing Fast JavaScript Raster Processing Engine
Stars: ✭ 80 (+73.91%)
Mutual labels:  satellite, satellite-imagery
R2cloud
Decode satellite signals on Raspberry PI or any other 64-bit intel.
Stars: ✭ 125 (+171.74%)
Mutual labels:  satellite, satellite-imagery
Torchsat
πŸ”₯TorchSat 🌏 is an open-source deep learning framework for satellite imagery analysis based on PyTorch.
Stars: ✭ 261 (+467.39%)
Mutual labels:  satellite, satellite-imagery
Geotiff.io
Static website for viewing and analyzing GeoTIFF's in the browser
Stars: ✭ 53 (+15.22%)
Mutual labels:  satellite, satellite-imagery
Sanchez
False-colour geostationary satellite image compositor
Stars: ✭ 61 (+32.61%)
Mutual labels:  weather, satellite
WorldWeather
The largest three-dimensional web-based interactive browser of satellite, weather, climate, and other time-aware geospatial data on the web, built upon NASA's revolutionary WorldWind technology.
Stars: ✭ 49 (+6.52%)
Mutual labels:  weather, satellite
Noaa Apt
NOAA APT weather satellite image decoder, for Linux, Windows, RPi 2+ and OSX
Stars: ✭ 257 (+458.7%)
Mutual labels:  weather, satellite
Satpy
Python package for earth-observing satellite data processing
Stars: ✭ 679 (+1376.09%)
Mutual labels:  weather, satellite
Skyplotwidget
QT skyplot widget to visualize relative satellite positions
Stars: ✭ 10 (-78.26%)
Mutual labels:  satellite
Weatherapp
Cute weather app built in Electron
Stars: ✭ 32 (-30.43%)
Mutual labels:  weather
Wego
weather app for the terminal
Stars: ✭ 6,918 (+14939.13%)
Mutual labels:  weather

πŸ“‘ xrit-rx - LRIT/HRIT Downlink Processor

GitHub release Python versions Github all releases GitHub license

xrit-rx is a packet demultiplexer and file processor for receiving images from geostationary weather satellite GEO-KOMPSAT-2A (GK-2A). It is designed for use with goesrecv (originally by Pieter Noordhuis), or xritdecoder by Lucas Teske.

xrit-rx receives Virtual Channel Data Units (VCDUs) over the network from either goesrecv or xritdecoder and demultiplexes them into separate virtual channels, each containing a different type of image data. The demultiplexed packets are assembled into complete files which are output as images such as the ones below.

GK-2A Wavelengths

Getting Started

A guide for setting up the hardware and software components of a GK-2A LRIT receiver is available on my site. It also covers the types of images that can be received, image post-processing techniques and data decryption.

The RTL-SDR Blog has also written a guide for setting up the hardware and software required to receive imagery from GOES-16/17 and GK-2A. Once you are able to receive the GK-2A LRIT downlink with goesrecv, you can begin installing and configuring xrit-rx.

Installing xrit-rx

Download the latest version of xrit-rx (xrit-rx.zip) from the Releases page, then unzip the contents to a new folder.

numpy, pillow, colorama and pycryptodome are required to run xrit-rx. Use the following command to download and install these packages:

pip3 install -r requirements.txt

Images downlinked from GK-2A are encrypted by the Korean Meteorological Administration (KMA). Decryption keys can be downloaded from KMA's website and used with xrit-rx. More information is available in the setup guide.

Configuring xrit-rx

All user-configurable options are found in the xrit-rx.ini file. The default configuration will work for most situations.

If xrit-rx is not running on the same device as goesrecv / xritdecoder, the ip option will need to be updated with the IP address of the device running goesrecv / xritdecoder.

List of options

rx section

Setting Description Options Default
spacecraft Name of spacecraft being received GK-2A GK-2A
mode Type of downlink being received lrit or hrit lrit
input Input source goesrecv or osp goesrecv
keys Path to decryption key file Absolute or relative file path EncryptionKeyMessage.bin

output section

Setting Description Options Default
path Root output path for received files Absolute or relative file path "received"
images Enable/Disable saving Image files to disk true or false true
xrit Enable/Disable saving xRIT files to disk true or false false
channel_blacklist List of virtual channels to ignore
Can be multiple channels (e.g. 4,5)
0: Full Disk
4: Alpha-numeric Text
5: Additional Data
none

goesrecv section

Setting Description Options Default
ip IP Address of a device running goesrecv Any IPv4 address 127.0.0.1
vchan Output port of goesrecv Any TCP port number 5004

osp section

Setting Description Options Default
ip IP Address of a device running Open Satellite Project xritdecoder Any IPv4 address 127.0.0.1
vchan Output port of Open Satellite Project xritdecoder Any TCP port number 5001

udp section

Setting Description Options Default
ip IP Address to bind UDP socket to Any IPv4 address 127.0.0.1
vchan Port number to bind UDP socket to Any UDP port number 5002

dashboard section

Setting Description Options Default
enabled Enable/Disable dashboard server true or false true
port Port number for server to listen on Any TCP port number 1692
interval Update interval in seconds integer 1

Dashboard

xrit-rx includes a web-based dashboard for easy monitoring and viewing of received data. The current GK-2A LRIT schedule is also displayed on the dashboard (retrieved from KMA NMSC).

Dashboard

By default the dashboard is enabled and accessible on port 1692 via HTTP (no HTTPS). These settings can be changed in the [dashboard] section of xrit-rx.ini.

HTTP API

xrit-rx has a basic API accessible via HTTP primarily to support its web-based monitoring dashboard. This may be useful for integrating xrit-rx with other applications.

The API only supports GET requests and will return either a 200 OK or 404 Not Found status. The root endpoint is located at /api which returns information about the current xrit-rx configuration (example below).

{
  "version": 1.1,
  "spacecraft": "GK-2A",
  "downlink": "LRIT",
  "vcid_blacklist": [
    4,
    5
  ],
  "output_path": "received/LRIT/",
  "images": true,
  "xrit": false,
  "interval": 1
}

The API also supports a special dynamic endpoint for retrieving image files over a network. This endpoint uses the start of the relative decoder output path found in the configuration object at the API root endpoint (/api).

For example, if output_path is "received/LRIT" the endpoint will be /api/received/LRIT. From there the URL follows the folder structure created by xrit-rx for saving received images (e.g. /api/received/LRIT/20190722/FD/IMG_FD_047_IR105_20190722_075006.jpg). The API does not currently support directory listing.

List of Endpoints

URL Description Example MIME
/api General configuration information see above application/json
/api/current/vcid Currently active virtual channel number { "vcid": 63 } application/json
/api/latest/image Path to most recently received product { "image": "received/LRIT/[...].jpg" } application/json
/api/latest/xrit Path to most recently received xRIT file { "xrit": "received/LRIT/[...].lrit" } application/json

Acknowledgments

libjpeg

xrit-rx uses libjpeg for converting JPEG2000 (J2K/JP2) images to Portable Pixmap Format (PPM) images. A compiled 32-bit binary for Windows is included in xrit-rx releases along with the libjpeg LICENSE (GPLv3) and README.

The source code for libjpeg can be found at https://github.com/thorfdbg/libjpeg.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].