You could try building one using a global Digital Elevation Model. There are several freely available like TanDEM-X, SRTM, or ASTER GDEM. You'd have to look for all the pixels containing a negative value. Adjacent negative pixels would give you connected regions below sea level, and you could easily estimate their area just by multiplying the number of pixels of a region by the area of one pixel.
I'm not saying it would be easy. The main challenge would probably be that some regions would be split across several tiles.
An update on this. I spent a couple hours trying this as an exercise. I downloaded three tiles from the ASTER global DEM centered around Badwater Basin (Death Valley, USA), one of the regions in the Wikipedia list. I wrote a small (~20 lines) Matlab script that does the following:
- Binarization of the images, so that every pixel above sea level is set to 0 (black) and every pixel below sea level is set to 1 (white).
- Concatenation of the three arrays in order to have only one image for the next step (I manually added a fourth, all black array for the sake of dimension consistency).
- With a binary image, Matlab has a useful function called
regionprops
that finds all connected regions and returns their properties, such as their area (as a number of pixel).
Here is the result:
I'm pretty happy with it, as it looks very similar to the yellow area labelled "below sea level" on this USGS map.
Now, how does it translate in terms of area? According to Matlab, the white region has an area of 1 236 989 pixels. Each pixel being approximately 30x30 meters, it yields a below sea level area of 1 113 km$^2$. The only figure I could find online is 1 425 km$^2$ from Encyclopedia Britannica, with no source. But for me that's close enough to have confidence in my estimate!
Some shortcomings:
- I knew exactly which tiles contained this particular below sea level region. If you were to go through all tiles (almost 23 000!), you'd have to figure a way to detect when a region is split across multiple tiles in order to reconstruct the region by concatenation. Doesn't seem that hard, but not trivial.
- I did not take into account the fact that there is a one pixel overlap between adjacent tiles (it should not change change the result much).
- I did not take into account the fact that pixel size actually vary (the resolution is one arc second, which is ~30 meters at the equator but changes with latitude).