It was a bright but rainy day at the height of the fall colors, so we took a Sunday drive out to the boonies.  I took the camera, but didn’t use it, though the trees were very colorful.  Fortunately, I did take the GPS!  This video shows the location of our car on a map in relation to the weather as we drove along.  If that sounds boring, don’t worry, it has an epic soundtrack thanks to Free Music by DanoSongs.com.  Note that the time scale in this video is not constant, as explained in the production notes after the break.

We’d never been to Hermann before, so we stopped at the winery.  It’s a very picturesque town, but  it was infested with Oktoberfest tourists, and we didn’t stay long.  Much later we stopped in Cuba for a fast-food dinner after deciding to try to beat the storms out of Rolla.  It was dark by then.  There was some spectacular cloud-to-cloud lightning to the north of the highway on the way back to town, before the rains caught us again.

YouTube Preview Image

Looks good full screen.  I wonder if YouTube does a two-pass reencoding?  This looks a lot better now than when I first uploaded it.

Read the rest of this entry »

Out, d*mn spot!

The NOAA weather radar images from the National Weather Service have a reflectivity key on the side. To get rid of the ground clutter & other low intensity noise, just remove the colors from the image corresponding to returns below a certain threshold dBZ.  It sounds like it ought to be simple, but they threw a small monkey wrench into things.

Transparent NOAA radar composite without noise removalnoaa-dbz-scaleHere are a copy of the key clipped from the large composite map along with a part of the transparent radar-only composite on a checkered background. If everything at or below 5 or 10 dBZ is removed, most of the noise goes away, but the interesting weather remains. However, the composite national image does not consist of the pure colors shown in the key. Areas of the “same” color consist of a smattering of pixels that have almost the same value. It’s easy for your eye to see them as identical, but not quite as simple for a computer when comparing bits.

I entertained the idea of looking at the colors in terms of hue, saturation, and lightness instead of red, green blue. All pixels above a certain brightness and/or saturation could be removed. Those would correspond to white and grey areas, and to the light blue/cyan areas (below 15 dBZ) if the parameters are chosen carefully. Some initial tests looked promising, but then I discovered that the graphics tools I use (ImageMagick and GraphicsMagick) have a method that seems custom-made for this purpose — a method to turn transparent all pixels in an image of a given color, with a fuzz factor. The fuzz factor allows for matching all pixels close to the given color, and that’s just what is needed.

That’s enough of the bit-twiddling details — see the library documentation and my utility’s source code for the nitty-gritty. Lets look at the results.

Read the rest of this entry »

Polyconic projection of the Earth centered on meridian 180 degrees west, showing a bowed gap where east meets west.

Polyconic projection of the Earth centered on meridian 180 degrees west, showing a bowed gap where east meets west.

I did a single polyconic projection of a Blue Marble image of the globe in an earlier article, comparing it to the sample projection in the proj (v.3) documentation.  Although seemingly elongated, I called it a success.  But when animated by reprojecting 360 times, varying the central meridian from -180° to +180°, I saw that something weird happens where the outside edges meet — there is sometimes, not always, a gap.  I don’ t know if this is just an artifact of the projection that is to be expected, or if there’s a problem somewhere in my method or the software.  You can see it in the picture at the right and in the animation below.

Read the rest of this entry »

NOAA radar overlaid on a part of NASA's Blue Marble image of the southeast US.

NOAA radar overlaid on a part of NASA's Blue Marble image of the southeast US.

The gdal set of GIS utilities is nothing new, and they are even incorporated into other GIS programs. But that does not mean that everyone who will ever need to master them has already done so, and it does not mean that mastering them is simple.  It’s not really difficult to start using utlities like gdalwarp directly, but there are details that keep it from being really simple. This article is part of my notes to myself as I try to learn some of this.

I wrote an article about using gdalwarp to perform a pair of standard projections from a rectilinear view of the Earth using a Blue Marble image from NASA’s Earth Observatory. Below I discuss using a custom projection to do something marginally useful — combining the Blue Marble with some NOAA weather imagery.

Below are the steps that went into making that image.  Note that I work in Linux, but Windows and likely Mac versions of these tools exist.

Read the rest of this entry »

Here are the results of some playing with gdalwarp and NASA’s Blue Marble images of the Earth.  My experiences with gdalwarp and NOAA’s national weather radar mosaic, used to create a time-lapse animation of twelve months of weather, prompted a comment on the video’s YouTube page by someone having difficulty using gdalwarp with Blue Marble images.  That prompted me to write up how I used my limited understanding of gdalwarp and related subjects for those radar images.  But of course I had to try my hand on the Blue Marble next.  What follows is how I went about it and the results I got.

Read the rest of this entry »

A video with sound is superior to one without, whether it’s music that fits the mood, or background sound that fits the subject, such as wind or storm noise for a weather-related video. But a series of still images that make up a time-lapse animation does not come with any sound. Here are a couple of sources for sounds that are licensed under a variety of mashup-friendly licenses. Read the rest of this entry »

So I got around to converting this little site from hand-coded HTML into a CMS-managed blog.  This should make it much easier to add to from time to time. See the about page if you’re inexplicably curious about the idea here.