利用QGIS绘制本地等高线图
利用GIS软件绘制本地等高线图是一个很老土的案例了,网上有无数的教程,但是用QGIS来绘制的教程就仅我一家了:)
首先要解决的问题仍然是数据的问题,绘这么一幅图除了QGIS软件之外,还需要两个数据:
1 本地(东莞)的数字高程数据文件
2 本地(东莞)的行政边界shape文件
其中后者很容易获得,不多说,下面主要讲讲前者的获取。
高程数据是很令人眼花的数据类型,因为目前网络上提供免费下载的全球高程数据有很多种,而每种高程数据又常常有多种不同的格式,所以到底有多少种全球高程数据可能已经难以用一篇文章完整叙述。我认为对我们地理教师而言,一般使用GTOP30和SRTM两种高程数据比较合适,因为这两种数据虽然精度不高,但恰好适合于我们的日常地理教学应用,而且比较容易下载,网络上的镜像站点多。
(另外可以考虑gdem-v2数据、GMTED2010数据、DLR之SRTM X波段数据和aster gdem数据等,精度都比GTOP30要高,尤其后两者精度更高)
就本案例而言,我准备采用GTOP30数据。这是一种比较古老的数字高程数据,分辨率低。大约是1000米,但是这对于我们中学地理教学来说已经足够。 GTOP30把全球划分为不同的区域,每个区域的高程数据作为一个文件下载。先按照下列说明找到自己的区域的文件名:
https://lta.cr.usgs.gov/sites/default/files/tiles.gif
从这个说明可以看到本市的高程数据位于E100N40文件,然后去下载的位置:
ftp://edcftp.cr.usgs.gov/data/gtopo30/global/
下载该文件并解压。
以下是详细的操作过程:
1 打开GTOP30文件,使用“图层”--〉“增加栅格图层”,结果如下:
可以看到刚才下载的数字高程文件其实覆盖的面积很大,而我们需要的仅仅是其中一小块。为了从这幅巨大的地形图当中把本市部分抽取出来,需要对这幅栅格图左一个掩模操作,而做掩模操作的前提是要有本市的矢量数据。
2 制作本市的行政区域矢量文件。这里要使用“图层”--〉“增加矢量图层”来打开国家基础地理信息中心提供的全国行政区划矢量文件boum4_4m当中BOUNT_poly.shp(这个文件只要是用过GIS软件的地理老师都很熟悉了)。结果如下:(俺没有修改投影方式,选用WGS84坐标系统)
然后放大地图并选择本市:
再在图层文件上右键,选择“另存”,填写新的文件名,并勾选“Save only selected features”,如下图:
再把新产生的本市行政区矢量文件载入并移除原来的庞大的全国行政区矢量文件,如下图:
3 接着对原来的高程文件用本市行政区作一个掩模处理:“栅格”--〉“提取”--〉“剪裁器”,填写输出文件名并选择掩模选项,新的高程图形如下:
4 创建等高线图:栅格”--〉“提取”--〉“等高线”,结果如下:
本市的等高线图就做好了,但是还存在一些小问题:
1)河流没有表现
2)边界存在误差
3)本市的最高峰接近900米没有体现出来
也许换用高精度的高程数据这些小问题会有所改善。