首页 省内新闻 外埠新闻 行业介绍 业务信息  水文测验  简报公报 水文文学 水文人物 水文法律法规 下载
当前位置: 首页 >> 水文科技动态 >> 水文技术 >> 正文

浅谈如何将Mapinfo与Surfer结合绘制地下水等值线图

来源:邢台水文局 文章作者:张猛 录入时间:11-05-30 09:02:44

Mapinfo 是一个对地理信息进行编辑显示的软件,熟悉此软件的操作可以大大提高我们的工作效率,由于其界面友好、操作简单、价格便宜等特点,在水利、环保、城市规划、气象等部门都得到广泛应用。但是此软件也存在着一定的缺陷,在我使用 Mapinfo绘制地下水等值线的过程中就遇到过困难,无法对等值线自动生成,而手画起来又相当的繁琐麻烦。最后经过摸索我发现可以将 MapinfoSurfer软件相结合的方法来绘制等值线就相对简单容易了。 Surfer 具有的强大插值功能和绘制图件能力,成为用来处理 XYZ数据的首选软件,尤其在绘制等值线方面具有很强大的功效。

下面我结合个人的学习体会把绘制等值线的具体操作方法和大家进行分享:

首先我们来了解将 MapinfoSurfer结合绘制等值线的基本思路:在 Surfer中根据我们的数据文件自动生成需要的等值线(可以对其进行修改),然后将 Mapinfo中生成的底图(如行政区划图)经过格式转换添加到 Surfer中,最后将两幅图进行覆盖叠加得到我们需要的成果图。

一、利用 Surfer绘制等值线:

1 、将我们的数据文件(点坐标)转换成 Surfer认识的文件格式“ .GRD”。比如我的数据文件是一个 Excel表“ text.cls”,表格中有三列数据分别是“ XYZ”, XY代表点坐标的经纬度, Z代表( XY)上的值,也就是我们画等值线的依据。然后将该表另存为“ test.txt”格式,但是这样还不能绘制等值线,还要将其转换为“ .GRD”格式;打开 Surfer(我们以 Surfer8.0版本为例)点击工具栏里“网格 数据”,在打开的对话框中选择“ test.txt”,打开网格化数据对话框,选择生成 XYZ对应列,在“网格化方法”中选择一种插值方法(最常见的就是加权举例平方反比法和克里格法,这两种方法在插值点与取样点重合时,插值点的值就是样本点的值,而其他方法不能保证如此),然后确定,这样我们画图需要的 grd文件“ test.grd”就生成了。

2 、生成等值线。打开 Surfer,点击工具栏“地图 等值线 新建等值线图”,选择“ test.grd”,等值线就自动生成了。在所画的等值线图中双击鼠标,或者点击右键,选中“属性”,就可以对等值线的属性进行各种设置(如填充颜色,修改比例和等级等等)。

二、在绘制好的等值线图上添加背景地图(如行政区划图)。

1 、先要将 Mapinfo生成的底图,也就是行政区划图(例如 xzqh.tab)的格式进行转换为 Surfer认识的“ .bln”格式。首先在 Mapinfo中打开 xzqh.tab,点击工具栏“表 转出”,将其转为交换文件“ .mif”格式的文本文件,然后用记事本打开,会发现 mif文件有如下文件头:

Version 300

Charset "WindowsSimpChinese"

Delimiter ","

CoordSys Earth Projection 1, 104

Columns 5

AREA Float

PERIMETER Float

BOUNT_ Integer

BOUNT_ID Integer

CNTY_CODE Decimal(6, 0)

Data

将此文件头删去,剩下的部分就是该底图图形对象的坐标控制信息,其中开头是“ Pline n”代表的是曲线, n代表是后面节点的个数。将 Pline删掉,改为 n   1两列,注意文件中其他的一些格式控制符也要全部删去。然后另存为“ .bln”格式(也可以打开 Surfer点击“文件 打开”,选中该 mif交换文件,进行修改后另存为 bln格式),这样 Mapinfomif文件就成功转换成了 Surfer所承认的 bln文件。

2 、将转换好的 bln格式底图文件添加到等值线图中。在 Surfer中点击工具栏“地图 基面图”选中 bln文件,确定,就画出了行政区划图。

三、将两幅图进行叠置。

选中所有图形对象,点击“地图 覆盖地图”就实现了二者的叠加。但是这样还不能作为最后的成果图,因为二者叠加后在行政界线外面还存在着多余的等值线,这就要对其进行白化操作:

我们回过头来看下刚才的 bln文件, bln文件具有以下格式:

Length flag

X1 Y1

X2 Y2

Xn Yn

其中, length是背景地图中曲线中坐标点的个数,也就是刚才的 n,如果 Xn=X1Yn=Y1,那么所有的点将围成一个圈,如果不是这样,则是一条不闭合的曲线。 Flag的值取 10,当取 1时,闭合曲线里面的等值线可用此 bln文件白化掉(即将闭合曲线中的等值线消除);如果取值 0,则是曲线外面的等值线被白化。上面我取的值为 1,当然也可以改成 0

那么如何进行白化操作呢?以上面的例子为例,打开 Surfer软件,点击“网格 白化”选中“ test.grd”,确定;然后在新的对话框中选择“ xzqh.bln”,确定;再次输入要输出的 grd文件的名字,确定,就可以得到一个被白化过的 grd文件(比如为 out.grd),再利用 out.grd做等值线图,按前面的步骤操作就可以得到我们的最终成果图了。

当然,我们的成果图也可以转换为 Mapinfo格式。在 Surfer中点击“文件 输出”选择 mif格式进行保存,然后在 Mapinfo中点击“表 转入”选中 mif文件,保存再打开就出现了我们的成果图,也可以对其进行修改。

MapinfoSurfer结合绘制等值线是比较实用的方法,虽然过程有一些繁琐,但是却对我们的工作有着很大的帮助,以上只是我个人在使用中总结的一些经验和体会,希望对大家有所帮助。

审稿:郭兰洲

责任编辑:陈 超
主办单位: 河北省水文水资源勘测局 地址:石家庄市建华南大街85号
电话:0311-85696505  E-MAIL:[email protected]
Copyright @ 2002-2005 HBSW.NET,All Rights Reserved