The data includes the estimated depth of the quakes as well as the geographic coordinates. Below is my first effort to use that data to visualize the fault zone in 3 dimensions. There is a lot of data that gets in its own way, so an animation that tilts and rotates was chosen as a a means to see it from different angles.
In order to view this animation you need a modern browser that supports HTML5 videos in Ogg Theora format. The current versions of FireFox and Chrome work., though if you insist there is another version on YouTube.
I’m fairly well pleased with how it turned out, but I’m concerned the reliability of some of the data. That is discussed below along with notes on how it was produced.
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.
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.
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.
Here 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.
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.