草业开源空间信息技术应用研究——以GRASS GIS处理地形图为例

2010-03-31 06:11郑逢令储少林任玉平赛里克都曼
草业科学 2010年11期
关键词:栅格数据草业栅格

郑逢令,储少林,任玉平,赛里克·都曼

(新疆畜牧科学院草业研究所,新疆 乌鲁木齐 830000)

开源软件具有代码公开、在遵守一定协议的前提下可自由使用并根据需要更改源代码等优点,对比动辄需支付几万到几十万元人民币费用的纯商业软件,使用开源空间信息软件的成本非常低[1-2]。在开源空间信息技术领域,以地理资源分析支持系统(geohraphic resources analysis support system,GRASS)GIS为核心软件,C语言系列为基础开发语言的软件,因其技术成熟、系列完整、成本低廉的优点,在众多领域得到了广泛应用[3-5]。但由于相关中文参考资料的稀缺,加之中国有特定的地理数据和投影坐标系,所以在中国草业空间信息领域此方面的研究较缺乏。草业领域中的许多工作如草地资源调查、退牧还草工程、草地生态退化与修复,都常会面对处理数量庞大、类型多样的栅格数据,最常见的如地形图、遥感图像、作为数字化底图的各种图片形式的草地类型图、草地利用现状图等,而目前完成这些工作使用的软件都是成本较高的商业软件,如MAPINFO、ARCGIS、ERDAS等[6-8]。目前国内对这方面的关注程度虽然越来越高,但已有的研究多集中在比较窄的领域特别是web GIS方面,或侧重各种开源空间信息技术一般性的介绍[3,9-10],而对利用开源技术解决实际生产或科研上遇到的问题,鲜有涉及。怎样利用开源空间技术处理草业相关的空间数据,用以代替昂贵的商业软件,是值得去深入挖掘的[4]。为此,以功能齐全的开源空间信息软件GRASS GIS软件,利用开源技术对草地遥感和草业空间信息数据中常用的栅格数据进行处理,以此作为开源空间信息技术应用于草业的初步研究探索。

1 GRASS GIS软件简介

GRASS(geographic resources analysis support system)GIS即地理资源分析支持系统,是基于通用公共许可协议(GNU general public license GNU GPL)的一个开源软件,具备数据管理、图像处理、数字制图、空间建模和数据可视化等功能。它是使用标准C语言编写的一套基于文件结构的平台,对用户端采用功能分层模式,并且支持栅格数据文件和矢量数据文件,GRASS是一个开放的地理信息系统资源,GRASS软件作为一款功能强大的开源地理信息软件,同时具有处理遥感数据的功能。它主要功能包括地理数据管理、图像处理、图表生成、空间建模和许多数据可视化显示等[11-13]。

在使用GRASS GIS(或简称GRASS)软件之前,必须要设置数据区域,数据集合,因为栅格数据在 GRASS中是以特有的格式存在的。GRASS中使用的GUI界面主要是tk/tcl和wx-python界面。

GRASS采用目录形式存储数据,最高级的目录称为GRASS Database,在GRASS Database中,GRASS会为每一个项目区域自动创建一个子目录树(区域-Location)。所有项目数据都存储在Location子目录下。Location又可以被细分为地图子目录,称为地图集(mapsets)。GRASS就是以这样的结构组织存取数据的。

2 GRASS GIS软件投影和区域设置

要设置数据的区域,必须要正确设置软件的投影。在GRASS中,通常有3种方式来设置投影和区域[12-13]。

2.1 导入已含有正确投影信息的数据创建区域有些情况下,数据已经包含了所有必需的投影信息,使用导入模块将投影信息与数据一并导入。因此,可以使用数据中的投影信息生成新的区域。

2.2 输入EPSG代码创建区域通过输入适当的EPSG代码,自动指定投影(请参阅http://www.epsg.org/)。这会为区域指定标准投影和国家格网系统的参数。可以在进入EPSG codes界面后浏览与各个投影系统相对应的EPSG代码或元数据中找到。

如果项目区域有EPSG代码,那么它可以用来自动创建新区域。点击按钮“Create Location from EPSG”并输入适当的代码值。点击按钮“EPSG Codes”会列出已有的代码值,如新疆地区常用的UTM投影坐标系45N带的EPSG Code为32645(+proj=utm+zone=45+ellps=WGS84+datum=WGS84+units=m+no_defs)。

2.3 文本模式下创建自定义区域因为中国大比例尺的地形图基本采用北京54坐标系和西安80坐标系,在特定的坐标系背景下,使用前2种方式很难创建正确和详细的区域参数,因此以文本模式创建自定义区域这一方式显得尤为重要。以在退牧还草实际工作中用到的和田地区北京54坐标系下的地形图投影设置为例,说明在GRASS软件环境下高斯投影坐标系的设置。

为了定义区域的投影,点击按钮“Create New Location”。GRASS自动切换到文本模式下(图1),此处GRASS Database为grassdata,设置Location为gauss14,mapset取默认的PERMANENT。在此可以输入创建新区域的数据。

根据提示按ESC+ENTER键进入下一步骤。选择区域的坐标系统,这里选择D(图2)。

图1 文本模式下自定义区域参数

图2 文本模式下区域坐标系统的选择

接下来,根据提示选择并设置与北京54坐标系对应的tmerc(横轴莫卡托)投影(图 3A、B),s-42(pulovo 1942)椭球体(图3C),并设置本次使用地形图gauss14带以下关键参数(图3D):

最后设置区域的四至界限和像元大小,就完成了一副Gauss投影的北京54坐标系14带(6度带)地形图的区域设置(图4)。

3 栅格数据的处理

栅格数据在空间信息软件中常用而必要的操作主要有:数据输入、栅格数据的配准、波段合成、图像镶嵌和剪切、投影变换、数据的输出。至于其他相关操作,请参阅相关文献或网站[11-13]。

3.1 栅格数据的输入通过File菜单下的Import raster map,可以很容易地将常用栅格格式输入到GRASS中,表1为GRASS中可导入的栅格格式与相应的模块。

本研究中,使用r.in.gdal模块将一副扫描地形图 test.JPG输入到 GRASS,打开 GRASS(tcltk或w xpython图形界面),随意进入一个区域和图集,进入GRASS主界面,通过import raster map->import raster data using GDAL,然后在r.in.gdal图形界面下,浏览文件夹,选择彩色地形图test.JPG,确定导入,在此界面下选择输出的栅格名和Location名为 test。重新打开GRASS,登录界面中便会出现刚才创建的test区域(location),选择permanent图集进入GRASS主界面。这时可以看到新出现的 test区域,在permanent地图集中有红绿蓝3个单色波段,这是GRASS自动将原始图像分成了这3个波段,3个波段为一组(GROUP),所有软件功能作用到任一个单色波段,也同时视为作用到其他2个波段。需要时可使用r.composite模块合成为RGB图像。选择一副test.blue波段在display窗口中打开,至此已经成功输入JPG格式的地形图(图5),其他格式也是如此操作,篇幅所限,不在此多做说明,感兴趣的读者可参阅相关资料。

3.2 栅格数据配准将扫描输入的地形图栅格配准处理成具有地理参考坐标的图像数据,赋予投影等重要参数,是进行其他重要操作的先决条件。

要利用前面导入的test.JPG图像,建立一个区域,介绍栅格图像的配准方法和步骤。

图3 文本模式下北京54坐标系统的设置

图4 北京54坐标系14带(6度带)地形图的区域设置

表1 Grass中可导入的常用栅格数据及相应模块

图5 JPG栅格图像输入

图6 配准前栅格图像图集、组和图像的选择

1)首先进入先前所建的gauss14区域目录,在文件下拉菜单中选择georectify选项开始配准工作。

2)选择Location test,permanent test,在这里选择group test,图像选择 test-blue,然后georectify,开始配准(图6)。

3)在跳出的界面下,选择GCP取点,可利用放大、缩小、PAN等工具辅助选点,rectify method选择1ST即可。点至少要取4个(图7)。

4)在满足RMS误差的要求下(根据工作要求不同,误差的要求也不同),点击rectify maps,GRASS进行配准状态并完成配准。

图7 GCP点的选择

3.3 镶嵌和裁剪在GRASS中做图像镶嵌可以通过r.mosaic这个模块完成,一次最多可以完成4副相邻栅格图像的镶嵌。对图像任意区域和形状的剪切要通过MASK这个功能完成。在地形图的处理中,要去掉相邻地形图的边框以外的部分,拼接边框以内的内容,常用到裁剪操作。以下就使用配准过的图像重点说明使用MASK功能是如何完成这一操作的。

先在GRASS中打开已经配准好一副已经配准过的14带的118号地形图图像。要形成用作MASK的图像,一般要先沿着地形图边框成一个覆盖边框以内的面(质心+图形边界),这里将此矢量文件称作maskvec,然后通过矢量转化为栅格的功能(文件->转换地图类型->矢量转栅格),将新建的 maskvec文件转换成栅格文件maskg(图8),接着在栅格菜单中选 mask这一项,用作mask的栅格图像是maskg(图9)。

这时在display窗口中看到的地形图就是去掉边框外内容的图像。这样就可以做其他的操作如拼接等(图10)。

3.4 栅格图像投影变换在GRASS中,要进行栅格数据的投影变换,先要设置好目标投影,目标投影可以是已存在的投影,如果没有现成的,一定要设置对投影的参数和目标投影的范围,然后进行投影变换。下面就常用的高斯投影下的北京54坐标系和经纬度坐标系之间的转换做一个说明。

1)进入根据前面3.3章节所述方法设置好经纬度区域(范围要大于或等于与北京54坐标系区域,地形图可参考四至坐标),这里设置的区域名称是 testll。

2)选择栅格->制作地图->reproject(投影变换)(图11)。

图8 GRASS中矢量转栅格的操作

图9 GRASS中选择用作 MASK的栅格

图10 使用MASK功能后只保留边框内的内容

图11 在tk/tck界面下manager窗口中选择重投影工具

3)在跳出的界面中,Location选择gauss14,被投影的栅格图像可选test组中的任意图像,这里选择 test.blue3108,投影后的名称这里填testpro,其他选择默认值即可(图12)。

4)运行后,成功重投影成对应经纬度的图像,图13中Map Display 1为投影后的图像,在输出窗口中可以看到其区域范围和投影设置。

3.5 栅格图像输出经过配准校正、重投影、镶嵌剪切等基本操作,得到合适的结果图像后,如果要在其他软件中继续使用,一般需要将GRASS中特殊格式的数据转化成通用栅格数据,GRASS有专门的栅格输出模块(File->Export raster map),可方便的输出各种常见栅格格式,参见3.1节栅格数据的输入的有关内容。

图12 选择投影前图像的和投影后图像名称

图13 投影后图像

4 讨论

GRASS软件完全可以完美处理草业空间栅格数据与矢量数据,其开源的特点,使得其使用起来成本很低,更可以修改源代码以适应草业行业或特定区域的应用,虽然其基本操作与大多数商业软件相比有很大的不同而让初学者无所适从,但从GRASS软件发展的历程来看,大的趋向是操作简单化、平台多样化,功能日趋完善和强大。更令人兴奋的是,GRASS与同是开源软件的QGIS 、POSTGRESQL 、POSTGIS 、MAPSERVER 的整合日益完善[12],而且当GRASS作为一个地理信息和遥感系统的SERVER端时,能显示出更强大的威力,如Geobrain项目中[14-15],GRASS就是一个服务器端强大的数据处理中心。总而言之,GRASS作为一个开源空间信息领域的核心软件,在开源和草业空间信息领域都必将发挥巨大的影响。

[1]孙剑.GIS的开源梦想[J].软件世界,2007,16:50-51.

[2]高昂.GIS项目中的开放源代码选择[J].程序员,2007(5):82-85.

[3]胡庆武,陈亚男,周洋,等.开源GIS进展及其典型应用研究[J].地理信息世界,2009(1):46-54.

[4]吴枫,郑逢令.开源空间信息技术在草业上的应用前景[J].草食家畜,2009(1):50-51.

[5]路金阁,杨永国.基于开源软件的WebGIS服务器构建[J].测绘与空间地理信息,2008,31(5):145-147.

[6]赵军,王雪平,金蓉.ArcGIS在草地资源规划中的应用[J].草业科学,2007,23(3):1-4.

[7]唐川江,周俗,张绪校,等.基于“3S”技术的阿坝县退牧还草工程效益监测[J].草业科学,2006,23(6):55-62.

[8]靳瑰丽,安沙舟,范燕敏,等.MapInfoGIS在几种草地类型图数字化方法中的应用[J].草业科学,2008,25(7):24-28.

[9]熊静,张菁.基于MapServer的遥感影像发布系统的研究[J].遥感应用,2007(1):53-57.

[10]Otto Dassau,Stephan Holl.GRASS 6.0中文手册[EB/OL]张俊,译.(2005-07-12).http://www.gdfhannover.de/lit_html/grass60_v1.2_zh_CN/index.html.

[11]M artin.GRASS Documentation[EB/OL].2008-06-28.http://grass.fbk.eu/gdp/index.php.

[12]Neteler.GRASS Mailing Lists[EB/OL].2009-08-19.http://grass.fbk.eu/community/support.php.

[13]Neteler M,Mitasova H.Open Source GIS:A GRASS GIS Approach[M].New York:Springer,2007.

[14]Di L P.Geobrain User Guider[EB/OL].2008-06-18.http://geobrain.laits.gmu.edu/OnAS/User_Guide.pdf,.

[15]Di L,M cDonald K.The NASA HDF-EOS Web GIS Software Suite(NWGISS)[A].Earth Science Satellite Remote Sensing[M].Berlin:Springer-Verlag,2005.

猜你喜欢
栅格数据草业栅格
青海草业
基于邻域栅格筛选的点云边缘点提取方法*
2017 年第1 期《草业科学》审稿专家
面向移动GIS的快速检索方法研究
基于GDAL的标准图幅生成及数据批量裁剪方法*1
基于ArcGISEngine的南水北调工程基础栅格数据管理
不同剖面形状的栅格壁对栅格翼气动特性的影响
2015年3月草业科学大事记
2015年6月草业科学大事记
基于CVT排布的非周期栅格密度加权阵设计