Topographic Maps Using SRTM3 Data

11:32 pm PHT

Last weekend, I played around with the public domain data obtained by the Shuttle Radar Topography Mission or SRTM. I wanted to use this data to create topographic maps that I can contribute to Wikipedia.

The SRTM data is a digital elevation model or DEM, which is data depicting the surface topography or terrain of a piece of land. The SRTM DEM data has been released in 1° by 1° tiles (of latitude and longitude) at a resolution of 1 arcsecond for U.S. territory (SRTM1) and 3 arcseconds for the rest of the world (from 56°S to 60°N) (SRTM3). 3 arcseconds is about 90 meters at the equator.

I’ve actually played with DEM data before and this is the USGS GTOPO30 data set, which has a resolution of 30 arcseconds (around 1 km). I’ve used this to create my physical map of the Philippines, a general map of Cavite, and a general map of Siquijor. Note that the topography is quite “blurred” already in the Siquijor map.

SRTM3 data, having 100 times more data, can create really beautiful topographic maps. Below is a mock-up showing the area around Manila Bay and Cavite. Observe that the cliffs of the Tagaytay Ridge is much more defined compared to my existing Wikipedia map. You can spot Mt. Makiling off to the east, Taal Volcano just to the south, and Mt. Banahaw (the Mt. Cristobal summit) along the right edge of the image. The Marikina fault line is just visible to the north (beside the La Mesa watershed).

However, there are two problems with the SRTM data. One is that the raw data available has, what are called, void areas. These are spots where no height data has been obtained. In the image above, those are the red spots (e.g., the rim of Mt. Samat’s Mt. Mariveles’ crater in Bataan). There are some places on the web where you can obtain void-filled data, but I haven’t seen any place yet that has the Philippines covered. Anyway, the voids can be naïvely filled up by interpolating from the surrounding data. The accuracy of this method breaks down when the void covers a large area. So far I haven’t seen any problematic voids, but since I haven’t fully downloaded all the tiles for the Philippines, I’m not yet sure if I can correct the data using this method.

The second, albeit minor, problem is that the SRTM data was obtained using radar technology. This means that opaque objects—like buildings, bridges, and ships—can show up as landforms in the data. While most of these has been corrected, the U.S. National Geospatial-Intelligence Agency, which spearheaded the SRTM project, understandably cannot account for the whole world.

An example of this problem can be seen in Google Earth, which uses SRTM data for its 3D terrain feature. Shown below is a screenshot of the Ortigas area facing northeast in Google Earth. As you can see, there’s a noticeable hill in the Tektite Towers area and elsewhere. As anybody who works in Ortigas can attest, the business district is quite flat. The hills you see are the result of the buildings reflecting added height to the terrain.

Nevertheless, it’s been really fun playing around with this data. (The raw data covering the Philippines is about half a Gig in size.) I’ve already created a Perl script to read the data and produce raw image files that I can manipulate in an image editor. Right now I can take a tile of data and produce a hypsometric-tinted image, and a pair of images depicting shadows and highlights in the terrain, based on a light source coming from the northwest.

Well, the algorithm to generate the lighted images is actually just a delta function of the underlying data. Simply put, if the slope of the terrain going southeast is negative, the place is in “shadow.” The higher the magnitude of the slope, the darker the shade. On the other hand, if the slope is positive and the higher the value, the brighter the spot is.

Some things I still need to do is to download the rest of the data (I currently only have Luzon so far), fill in the voids, and modify the image generator to take in coordinate boundaries of the region I want to render. I also need to obtain updated vector data for the shoreline and water bodies. Right now, the publicly available shoreline data is too outdated—the reclaimed areas are not yet even added.

Okay. Enough geekiness for now.  :D

Filed under , , , , , and

Add your comment | 6 comments


Comment times are in Philippine time (+0800).


On 9:42 a.m., 27 Feb 2007, ramil wrote:

“Okay. Enough geekiness for now”

ehehe nice. tuloy mo lang. that’s what makes your blog interesting


On 2:29 p.m., 1 Mar 2007, joyce wrote:

01100011011011110110111101101100  :)

mashado ka na euge! too geeky in an attractive way for your own good! bwiset


On 8:06 a.m., 2 Mar 2007, seav wrote:

ramil, sure.  :)

joyce, well i have more geeky and nerdy stuff to talk about. my blog is, after all, a personal-slash-tech blog. there’s tons of non-geeky content to suit my non-geeky audience. hehehe.  :p


On 4:24 a.m., 19 Oct 2007, Peleg wrote:


Your works ( are just great; I admire it.

I have a funny situation, and I thought that maybe you (are anybody else) might help me to solve it.

Actually, the thing is that I have built an imaginary world, and I am looking for a way to draw maps to this world. I don’t want to use huge grapics programs (like GIMP) in order to do it for a few reasons:—too heavy—does not appear as a neutral data that can be manipulated by other programs afterwards.—other reasons as well

Anyway, when I’ve seen how you created the map of the Philipinnes by using raw data, I thought—it can be done! But: how? Did you release the program (that you have programmed?) that does it?

I don’t have any buisness cause, only fun—I’d like to create a nice physical maps, and other maps (using layers?) of my imaginary worlds, using raw data. Is that possible?

Would you give me a hint or direction?

Thanks ahead!!

(hope for your reply—email is ok…)

Peleg, London.


On 11:35 a.m., 24 Apr 2008, Lars M. wrote:

Wehey, I was looking for a map of Marikina faultline and I saw this in ’search results’. Nice article, eugene! Regards sa mga taga-citech, miss u all there.

Lars M.


On 3:21 p.m., 3 May 2008, seav wrote:

@Larry, thanks for dropping by virtually! How about dropping by the office?  :-)

Post your comment here

Comments moderated: Comments for this entry is now moderated. That means that the author will have to approve the comment before it can be viewed by the public.

Remember The Data Above? (Uses Cookies)

Comment shown to:

Comment notes

Your name and e-mail address are required. Your e-mail won't be displayed.