Need to turn serial data from weather radar into a image.

Hi all, I have been building a custom weather radar and have everything on the radar side of things working great. The radar is sending data to the serial port just fine. But I have no idea how to turn that data into a image. I would like a radar image similar to the ones you see from weather radar and I would like for every time the radar detects something above a certain value for processing to draw a dot (Of which many dots will be drawn) to make up a image. How in the world can I do this? In short I want to change the serial data (Attached) into a actual radar image.

So the vertical scale is reflectivity in DBz and the horizontal scale is velocity or distance... Higher the number for velocity the closer..

Thanks for any pointers. waveform



  • Is your data radial, or a pie slice? How do the axes relate to direction? Trying to understand because I'm not familiar with weather radar involving collections of dots -- I'm more familiar with things like this:

  • Its going to be on a rotating dish so I guess that would be radial.. So that image that you see of the radar image is made up of many hits or "dots" if you will. Each hit has a reflectivity value which is changed to a color value on the map. Ex. a high reflectivity value will show as red or yellow or a low one would show as green or blue.

  • edited January 2018

    Is the data example image you have data from when the dish is rotating, or not rotating? (It seems like not-rotating?) How do we know in the data when we have made one complete rotation -- is that a time period?

  • The dish is not rotating when that data was captured. Making the dish rotate is the next step. I plan to make the dish rotate 180* and time it. So for example the code in processing would show the dish at it's furthest left or right and then I would time it for how long it takes to get to the other side. The data will by no means be that intense.

    I have tested the radar and it does detect rain, but the radar uses continuous wave doppler so in order to get good data the dish needs to be moving. The following image was a test yesterday.. You can see where the radar got returns from a cloud (I'm guessing about 20 mi away) radar return

  • Is this already a Processing desktop project using the serial library? Are you able to e.g print sampled serial values, and do you have the sample code that you are starting with? That might be a great place for people to start helping you, as it seems what you need to do is:

    1. use a high-pass filter to collect polar points ( x, r )
    2. convert them to Cartesian coordinates ( x, y )
    3. draw them
    4. optionally, interpolate between your points to fill out a 2D grid, and draw it.

    There are a number of ways to solve these problems using Processing built-in functions. See for example:

    Note that you can also store polar coordinate data in PVectors before conversion if you wish. Most of the object methods assume a Cartesian coordinate, but for storage it works just fine.

Sign In or Register to comment.