Santorini Topography – From Shuttle to Sim
This past week I had a rare opportunity to explore using the virtual world of Second Life (SL) as an immersive means of visualizing and exploring real life topography. Generally, a SL sim already has set terrain and arbitrarily replacing that would break everything developed on it. When a friend is obtaining a new sim (Numantia Maris) and wants something with islands and a lot of water, however, it’s a fresh canvas on which to paint data and create an immersive experience of the topography.
The topography data were part of the dataset produced by the Shuttle Radar Topography Mission (SRTM). The location used was the Greek islands of Santorini. Santorini is interesting both historically and geologically in being the site of a massive volcanic eruption about 1600 BCE.The eruption is thought to have sent tsunami waves up to 75 ft high into the coast of Crete (68 miles distant), contributing to the end of the Minoan civilization. This explosion also may have been the source of the Atlantis legend. Because it was buried by the eruption, the excavation site of Akrotiri was exceptionally well-preserved and has yielded insights into both artwork and architecture.
The finished global data product is at three arc-second resolution (roughly 90 m) delivered in one-degree tiles. The area of interest is selectable using the Earth Explorer. Selecting an area, choosing the SRTM elevation data set, and requesting data makes one or more tile files available. In the case of Santorini, only the N36E25 tile was needed. This included Santorini and all or parts of several other islands as shown in this reduced resolution picture of the tile.
I used Python 2.6 to read in the BIL (Band Interleaved by Line) file and the corresponding Python Imaging Library (PIL) to display it. Once read as binary data, the 1,442,401 16-bit integers of the data tile could be unpacked into a numpy integer array and then reshaped into a 1201 by 1201 array. It was then trivial to sub-select the portion of the array containing Santorini. I then filled-in the small number of missing data points by diffusing in data from the sides of the missing area.
Under it’s “Miscellaneous Functions” category, SciPy contains several PIL interface routines that allow resizing and rotating images stored as arrays. These made it trivial to resample and rotate the selected data portion to a 256 by 256 array with the desired orientation. By happenstance, it turned out that the desired region for Santorini contained 256 x 256 measurements and didn’t have to be resampled.
The 256 by 256 image size was chosen because a SL sim is 256 by 256 meters. Given that measurements are about 90 m apart, mapping the measurements onto a sim one-for-one creates about a 1:90 scale model horizontally. Vertically, I took the log of the elevations and then scaled the result to 50 m. This compresses the vertical scale in a manner appropriate for SL terrain. Since the SRTM data did not provide ocean bottom values, I created a set of fractal noise varying about an initial value of 7.5 m. Note that SL uses 20 m as its nominal sea-level height. The noise was produced by successive doubling from an initial grid of one square, where the scale of vertical noise was reduced by 2-1/2 at each iteration. The noise was then added in where the topography height was zero. Finally, the data were written out as a SL raw file.
One uploads the raw file onto the waiting sim. Nothing happens for a minute or two. Then, suddenly the land takes form with the shape of Santorini. A bit of playing with the four terrain textures height interpolated by the SL sim software, and there is reddish volcanic rock rising from the sea before us. It’s very definitely a scale model, but one large enough to sail a boat into the caldera.
My appreciation to Stonehedg Magic, owner of Numantia Maris, and to Desmond Shang, governor of the Victorian, steampunk realm of Caledon, for making this effort possible.





Leave a Reply