作者:BjørnSandvik(Google Plus:https://plus.google.com/118196887774002693676)
原文地址:http://blog.thematicmapping.org/2012/06/digital-terrain-modeling-and-mapping.html
这是新博客的第一篇,该系列主要关注于数字地形数据的使用和处理。数字地形数据与地形图和专题图相比,有更多的相关性。(后面一句搞不懂,不译了……囧)
我关注的区域是深受徒步旅行者和登山者爱好的挪威Jotunheimen山区。挪威最高的29座山都在Jotunheimen地区,包括非常高的Galdhøpiggen(海拔2469米)。下面是在2006年7月,我拍摄的几张美丽的风景照片:
Skogadalen山谷和Hurrungane的山脉
Bøverbreen冰川
对于数字地形数据在存储和处理过程中有很多的数据格式。我首先来看使用数字高程模型(DEM:http://en.wikipedia.org/wiki/Digital_elevation_model)来表示的山歌数据。一个栅格DEM是一个正方形或者像素个网格,每个方格表示该地理位置的高程。每个方格的大小(米或者弧秒为单位)表示该数据的分辨率。
在挪威,可以获得分辨率为10米(http://www.statkart.no/Norge_digitalt/Norsk/Basisdata/Hoydedata+DTM/)的数字地形数据,但是不幸的是,他还没有像公众提供。相反我在Viewfinder Panoramas(http://www.viewfinderpanoramas.org/dem3.html)上找到了合适的数据,从地形图创建的。你会发现这里有覆盖全球的DEM数据,地址为:http://srtm.csi.cgiar.org/,http://www.gdem.aster.ersdac.or.jp/search.jsp和http://www.shadedrelief.com/cleantopo2/index.html。
我从Viewfinder Panoramas下载了两个文件(N61E007.hgt和N61E008.hgt),每个覆盖的范围为1经度和纬度。位置在下图中用黄色标记:
你可以使用gdal提供的工具来拼接和裁切DEM数据,根据你的需要。我使用gdalbuildvrt工具来把两个高程数据拼接起来。
gdalbuildvrt jotunheimen.vrt N61E007.hgt N61E008.hgt
然后使用gdalwarp工具重投影和裁切数据根据我的需要。
gdalwarp -t_srs EPSG:32632 -te 432000 6790000 492000 6850000-r bilinear jotunheimen.vrt jotunheimen.tif
原始的DEM数据并没有投影信息,然后我给他赋了一个UTM的分带投影(UTM zone 32N (EPSG:32632))。使用UTM坐标用来对数据进行裁切,裁切后的数据覆盖面积是3600平方公里(60km×60km),如上图中的红色区域。我们在对DEM数据进行重投影的时候重采样方式一定要选择双线性插值,因为其他的插值方式会产生奇怪的条纹。
最终我们的了一个Jotunheimen地区的DEM数据,下载地址为:http://thematicmapping.org/playground/terrain/jotunheimen.tif。你可以在Windows中打开这个图像,但是你不会看到什么东西,因为图像机会都是黑色的。使用gdalinfo工具来查看这个数据的属性信息:
gdalinfo -mm jotunheimen.tif Driver: GTiff/GeoTIFF Files: jotunheimen.tif Size is 3134, 3134 Coordinate System is: PROJCS["WGS 84 / UTM zone 32N", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433], AUTHORITY["EPSG","4326"]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",0], PARAMETER["central_meridian",9], PARAMETER["scale_factor",0.9996], PARAMETER["false_easting",500000], PARAMETER["false_northing",0], UNIT["metre",1, AUTHORITY["EPSG","9001"]], AUTHORITY["EPSG","32632"]] Origin =(432000.000000000000000,6850000.000000000000000) Pixel Size =(19.144862795149969,-19.144862795149969) Metadata: AREA_OR_POINT=Area Image Structure Metadata: INTERLEAVE=BAND Corner Coordinates: Upper Left (432000.000, 6850000.000)(7d42'39.90"E, 61d46'36.81"N) Lower Left (432000.000, 6790000.000)(7d43'59.45"E, 61d14'18.21"N) Upper Right (492000.000, 6850000.000)(8d50'54.02"E, 61d46'58.29"N) Lower Right (492000.000, 6790000.000)(8d51'3.39"E, 61d14'39.21"N) Center (462000.000,6820000.000) (8d17'9.19"E, 61d30'42.34"N) Band 1 Block=3134x1 Type=Int16,ColorInterp=Gray ComputedMin/Max=15.000,2466.000
这些信息中包含什么东西?
l 图像格式为GeoTiff格式,该格式存储地理参考信息;
l 图像的大小是3134×3134个像素;
l 坐标系统是UTM分带投影中的33N带,使用WGS84椭球体;
l 坐标系的单位是米;
l 每个像素的大小是19×19米;
l 图像的四角坐标;
l 图像是16bit整数的单波段高程数据,最小高程是15米,最大高程是2466米。
接下来我们使用gdal_translate工具把GeoTiff转为PNG的灰度图像。
gdal_translate -of PNG -ot Byte -scale 15 2466 0 256 jotunheimen.tifjotunheimen.png
这个图像为您展示了Jotunheimen地区的海拔情况。比较暗的区域就是海拔低的地方,亮的区域就是海拔高的地方。
山体阴影是一种更有效的来可视化地形数据的技术,我们将在下一篇中进行说明。