zoukankan      html  css  js  c++  java
  • 数字高程模型和地图——thematicmapping.org译文(一)

    作者: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的山脉


    Fannaråkhytta

    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地区的海拔情况。比较暗的区域就是海拔低的地方,亮的区域就是海拔高的地方。

    山体阴影是一种更有效的来可视化地形数据的技术,我们将在下一篇中进行说明。

  • 相关阅读:
    谈URL中末尾斜杠对SEO的影响
    ORDER BY一个较高级的用法
    MYSQL5.5 提示 Mysq error:Cannot load from mysql.proc
    mysql 数据库信息泄露
    [转]PclZip简介与使用
    通过telnet命令查看memcache运行状态
    [转载]PHP上传问题总结(文件大小检测,大文件上传)
    Silex 基于Symfony2组件的微型框架
    [转]推荐一些不错的计算机书籍
    [转]Beanstalkd简介(job生命周期)
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6313982.html
Copyright © 2011-2022 走看看