项目作者: ahinkka

项目描述 :
Weather radar product display
高级语言: JavaScript
项目地址: git://github.com/ahinkka/ppi.git
创建时间: 2017-12-22T10:06:26Z
项目社区:https://github.com/ahinkka/ppi

开源协议:GNU General Public License v3.0

下载


PPI

PPI is a weather radar product display running in the browser. Despite it’s
name referring to a very specific product,
PPI, it can
(theoretically) be used to visualize any raster products in Cartesian
coordinates.

Screenshot

There’s a deployment running at https://radar.a3h.net/ that displays
FMI‘s PPI reflectivity products for individual radars.

Features

  • reprojection
  • coloring
  • product animation
  • decent base map
  • keyboard shortcuts (SPACE, LEFT, RIGHT, S, P, F)
  • rudimentary cursor tool (show value under cursor)

Future plans

  • show distance to points of interest, e.g. to closest localities / max reflectivity
  • range rings
  • more products (or moments, e.g. radial velocity)
  • more color scales
  • product metadata display (PRF etc)
  • rendering optimizations
  • different animation speeds
  • time rather than product based animation
  • atmospheric pressure data overlay
  • other than FMI data (NEXRAD?)

Known issues

  • animation state doesn’t currently survive page refresh
  • does unnecessary product loads at initialization

Components

There are three main components:

  1. product downloader (only for FMI right now),
  2. distribution collector (collects downloaded products, saves them for web distribution),
  3. client software (JavaScript single page app written in modern JS; React, Redux, OpenLayers)

Create deployment

  1. cd client
  2. make clean && make
  3. cd ..
  4. mkdir -p client/build/radar
  5. python fmi/dist_builder/collect_radar_products.py /path/to/where/you/downloaded/the/stuff | \
  6. python collect.py fmi/dist_builder/raster_to_json.py client/build/data
  7. cd client
  8. make

Thoughts and ideas

  • Line density display:
    https://twitter.com/archillect/status/938533533810937856
    • FMI summer color scale for reflectivity
      http://wms.fmi.fi/fmi-apikey/<>/geoserver/Radar/ows?service=WMS&request=GetLegendGraphic&format=image%2Fpng&width=500&height=100&layer=anjalankoski_dbzh&style=Radar+dbz+Summer
      • From QGIS coloring, should look at the above legend graphic instead
        1. FMI reflectivity (summer)
        2. 0 => 255, 255, 255 (nodata)
        3. 21 => 108, 235, 243 (kohtalainen)
        4. 62 => 65, 154, 90 (kohtalainen)
        5. 84 => 241, 243, 90 (sakea)
        6. 168 => 206, 2, 2 (sakea)
        7. 189 => 131, 10, 70 (hyvin sakea)
        8. 251 => 244, 244, 244 ()
    • Smoothing where every value around is some data value and the value in the
      point is not scanned or no echo.

Licensing

GPLv3