Sometimes a map can reveal truths we'd rather not know.
For over 50 years, the human race has lived under the shadow of the threat of nuclear war. Eric A. Meyer's HYDESim (High-Yield Detonation Effects Simulator) web site, which uses Google Maps in a somewhat novel way to illustrate the blast effects of a nuclear detonation. You can see the results for yourself at http://meyerweb.com/eric/tools/gmap/hydesim.html. Figure 3-12 shows the default view, which illustrates the effect of a 150 kiloton explosion at ground level in downtown Manhattan.
Figure 3-12. Depiction of the blast wave of a 150-kT nuclear explosion in downtown Manhattan
The blast effect of a nuclear explosion is usually reckoned in terms of overpressure, which is a measure of how much force is exerted on people and buildings at a given distance away from ground zero. On the map, this is shown as four concentric rings of decreasing intensity, which spread outward from the hypothetical explosion site, representing overpressures of 15 psi, 5 psi, 2psi, and 1 psi, respectively. The display on the left shows the blast radius for .25 psi overpressure as well, although this ring is not shown on the map.
What exactly do these figures mean, though? The descriptions shown in Table 3-1 are taken from section 5 of the Nuclear Weapons FAQ at http://nuclearweaponarchive.org/Nwfaq/Nfaq5.html.
Overpressure |
Structural effects |
Human injuries |
---|---|---|
1 psi |
Window glass shatters. |
Light injuries from fragments occur. |
3 psi |
Residential structures collapse. |
Serious injuries are common, fatalities may occur. |
5 psi |
Most buildings collapse. |
Injuries are universal, fatalities are widespread. |
10 psi |
Reinforced concrete buildings are severely damaged or demolished. |
Most people are killed. |
20 psi |
Heavily built concrete buildings are severely damaged or demolished. |
Fatalities approach 100%. |
Although the results are simplified, they sure don't look prettyat that location and yield, such a nuclear explosion would literally wreck all of downtown Manhattan. What's worse, this map doesn't take the effects of heat or radiation into account. (On the other hand, this map doesn't take the attenuating effects of terrain and weather into account, either.) Although the destructive effects of nuclear weapons are hardly news to anyone, it is still kind of morbidly interesting to be able to see them on a map. Additionally, the site allows you to see the effects on certain other U.S. cities listed in the drop-down box at the upper right, and, if you happen to know the latitude and longitude of a place that particularly interests you, you can enter them into the coordinates box below that.
|
Finally, you can adjust the yield of the hypothetical explosion, which is measured in kilotons of TNT. By experimenting, we can see that a 1 megaton nuclear explosion over the Brooklyn Bridge would destroy most of Manhattan, Queens, and Brooklyn. Fortunately, these high-yield nukes have been phased out of most of the world's military stockpiles. On the other hand, we can see that even a relatively "small" detonation on the order of 5 kilotons could wreak utter mayhem in significant parts of the city.
3.7.1. The Code
From a technical standpoint, what makes this hack interesting is this bit of JavaScript code, which you can find for yourself by viewing the source of the aforementioned web page:
var base = new GIcon(); base.image = "radii.png"; base.shadow = 't.png'; base.shadowSize = new GSize(1, 1); var GZ = new GIcon(base); GZ.image = "crosshair.png"; GZ.iconSize = new GSize(13, 13); GZ.iconAnchor = new GPoint(6, 6); GZ.infoWindowAnchor = new GPoint(6, 6); var p15 = new GIcon(base); p15.iconSize = new GSize(det.radius.p15*2/mpp, det.radius.p15*2/mpp); p15.iconAnchor = new GPoint(det.radius.p15/mpp, det.radius.p15/mpp); p15.infoWindowAnchor = new GPoint(det.radius.p15/mpp, det.radius.p15/mpp); var p5 = new GIcon(base); p5.iconSize = new GSize(det.radius.p5*2/mpp, det.radius.p5*2/mpp); p5.iconAnchor = new GPoint(det.radius.p5/mpp, det.radius.p5/mpp); p5.infoWindowAnchor = new GPoint(det.radius.p5/mpp, det.radius.p5/mpp);
This code, which you'll find in the buildOverlays( ) function, uses the standard GIcon marker object from the Google Maps API to render the blast radius rings using the same semi-transparent radii.png image. Each one is sized separately, according to the blast radii calculated from the detonation yield in the Detonation( ) constructor (not shown here), and the mpp variable, which stores the map scale at the current zoom level. Additionally, a crosshair icon is created to represent ground zero itself.
The upshot is that when the map is loaded, or whenever the detonation location is moved, the individual blast radius markers are stacked on top of one another at the same location on the map. The semi-transparent circles then give the visual impression of blast intensity decreasing, as it moves away from ground zero. The result, which perfectly conveys the desired information, is a very clever use of the Google Maps marker icons, which are usually used to represent grocery stores or yard sales! The same technique could be used to represent any kind of data via Google Maps that involves concentric radii of decreasing intensity. One immediately thinks of volcanic explosions or earthquake damage as candidates for this kind of interface, but there are probably less destructive topics that could be illustrated the same way.
Certainly, the prospect of nuclear war, or even of an isolated nuclear explosion in a populated area, is a terrifying one. So far, humanity has managed to show considerable restraint in its application of nuclear weapons, but an estimated 20,000 nuclear warheads still exist in the world's military arsenals. Ridding ourselves of this menace remains one of the most important outstanding issues in international politics. Hopefully, access to the kind of information offered by the HYDESim site will bring home to people how tragic the possibilities are, and just how imperative it is that the menace never becomes a reality.
3.7.2. See Also
You Are Here: Introducing Google Maps
Introducing the Google Maps API
Mashing Up Google Maps
On the Road with Google Maps
Google Maps in Words and Pictures
API Tips and Tricks
Extreme Google Maps Hacks