Surfer转MapGIS格式的方法技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
","; m(7); ","; m(8); ","; m(9); ","; m(10); ","; m(11); ","; m(12); ","; m(13) '; ","; m(14); ","; m(15); ","; m(16)
y=y+1 GoTo 12 End If
Surfer 等值线图
MapGIS 等值线图(已校正)
If x(y) = n Then Input #1, m(1), m(2), m(3), m(4), b, m(6), m(7), m(8), m(9), m(10),
m(11), m(12), m(13) ', m(14), m(15), m(16) Print #2, c(n); ","; d(n); ","; m(3); ","; m(4); ","; b; ","; m(6);
字符高度、字符宽度、字符间隔、字符串角度、中文字体、西文字体、字形 水
平(0)或垂直排列(1)、 颜色、 图层、 透明输出。
对比 MapGIS 和 Mapinfo 的数据格式可以看出,图形中每个标注转成 MapGIS
明码文件(*.WAT)后,坐标位置发生了变化变。只要用 MapInfo 中的第一组坐
MapGIS 是中国地质大学研发的优秀的国产 GIS 软件,在物探中常用的图形 制作和数据图形模块具有自动进行线段跟踪、结点平差、线段裁剪和延伸等编 辑,良好的中文支持、丰富的地质专用填充花纹和标准地形地质图模型等功能。 但较 Surfe 比在数据网格化、颜色充填、等值线绘制等方面还有较大的差距。 而 MapGIS 没有提供 Surfer 的转换模块,在实际使用中非常不方便,不能充分 发挥 Surfer 和 MapGIS 独特的优势。本文根据多年的工作经验,论术了 Surfer 转 MapGIS 图形文件格式方法和技术,利用 Surfer 和 MapGIS 各自的优点,总结 出一套较好的数据成图方法。
据描述,数据与图形是一一对应的。TEXT 是对文本即标注的描述,其中“-300”
是标注的内容,接下来是标注的位置(左下角坐标和右上角坐标)、角度和字体。
MapGIS 的数据交换文件是 ASCⅡ的明码文件,点文件是*.WAT,其文件格式
为:
逻辑结构:
文件头 ,点数, 1 号点, 2 号点, ……
具体如下:
Surfer 是美国 Golden software 公司出品的一套功能强大的成图软件,具 有完美的二维数据处理、显示和一定的三维显示功能。在物探工作中常用的等 值线图,如平面等值线图、拟断面图等,和点位图、三维表面图都可用 Surfer 绘制。Surfer 用交互式菜单操作,具有多种数据网格化方法和函数运算功能, 数据输入方便,除了 ASCII 码 X、Y、Z 文件以外,还可识别 EXCEL(*.xls)、 Microsoft SYLK(*.slk)、Comma Separated Variables(*.CSV)等文件,可输出 AutoCAD、MapInfo、ArcInfo、光栅图、Windows 位图、JEPG、GIF 等 20 多种图 形文件。
12 Loop 11 Close End If Next v
File2.Path = Dir1.Path MsgBox "结束" End Sub
图 2 是经标注偏移校正后的 MapGIS 图形。
3. 结论
Surfer 是物探工作者常用的作图软件。作者通过大量的经验积累,总结了 在物探工作中将 Surfer 等值线图转为 MapGIS 图形文件的方法技术,文中的程 序已经过调试,并证明有效的。程序的实现节省了大量的人工修图工作,提高 了工作效率,还能保持图形精度。因此,这转换不仅是可行的,而且是十分有 用的。
12423.0477170243)
COLUMNS 7
Primary char (32)
Secondary char (32)
ID3 char (32)
ID4 char (32)
ZLEVEL float
LAYERNUM integer
LAYERNAME char (32)
DATA
……
TEXT "-300"
Surfer 转 MapGIS 图形文件格式的方法技术
王身龙 夏训银 王建新 王洪生 张进国
华北地质勘查局五一九大队,保定 071051 摘 要 介绍了 S surfer 转 mapgis 图形文件的方法技术,通过剖析 mapinfo 数据交换文件和 mapgis 明码文件的结构,总结了 mapinfo 数据在转换过程中存在的标注偏移问题,并编写了相应的程序,经 证明是有效的。 关键词 .surfer;mapgis;格式转换;偏移;校正
If File1.Selected(i) = True Then Open Dir1.Path + "/" + File1.List(i) For Input As #1 j=0 y=0 Do While Not EOF(1) Line Input #1, a b = Mid(a, 1, 4) g = Mid(a, 1, 5) If b = "TEXT" Then j=j+1 Input #1, c(j), d(j), e, f 'Write #2, c, d End If If g = "POINT" Then j=j+1 y=y+1 x(y) = j h = "" For n = 5 To Len(a) h = h + Mid(a, n, 1) If Mid(a, n, 1) = " " Then c(j) = h h = "" End If Next n d(j) = h 'Input #1, c(j), d(j), e, f 'Write #2, c, d
1768.863253792918
12260.02280268517
1812.463877792919
12284.71719068517
Angle 278.4
FONT ("Arial", 0, 6, 0)
……
上文中第 1 至第 14 句这为文件头部分,描述的是文件版本、文字格式、分
格符、投影类型和数据库中表的字段数等。数据部分以 DATA 开始,是对图形数
参考文献:
[1] 朱庆俊,李风哲.Surfer 软件在地球物理资料处理中的应用[J],物探与化探,2007,31(3):250-251。 [2] 王会秋,彭培好.陈文德等,Surfer、MapGIS 在地球化学图制图中的对比研究[J],四川地质学 报.2009,29(3), 342-343 [3] 毛兴华,胡方西.将 Mapinfo 和 Surfer 结合绘制等值线[J].测绘通报,2001(10),39-40 [4] 陈华根,吴健生,王家林,MapGIS 明码文件的 Matlab 编程实现及其意义[J].物探化探计算技术, 2000,22(4),351-355
逐个替换 MapGIS 明码文件(*.wat)中的坐标。以下是程序清单。 Private Sub Command1_Click() On Error GoTo 11 Dim a, b, g, h As String Dim c(5000), d(5000), x(5000), e, f As Currency Dim m(20) As Currency Dim n, j, y As Integer For i = 0 To File1.ListCount - 1
作者简介 王身龙,男,1977 年生,2001 年毕业于吉林大学地球探测与信息技术学院,获学士学位,工程 师,主要从事矿产勘查和物探数据处理工作。
1. Surfer 转 MapGIS 图形文件
Surfer 转 MapGIS 格式的主要目的是利用 Surfer 强大的网格化和成图优势, 使用 Surfer 进行网格化和成图,最后用 MapGIS 进行图面编辑和整饰。由于 MapGIS 没有提供一个专门的转换模块,不能直接将 Surfer 图形文件转成 MapGIS 的点、线、面文件,通常是先将 Surfer 图形文件输出成 AutoCAD 的 DXF 或 MapInf 的 MIF 格式,再转换成 MapGIS 的 WT、WL、WP 图形格式。对于包含充填色阶时, 最好输出成 MapInf 的 MIF 格式,这是因为 AutoCAD 的 DXF 转换成 MapGIS 的 WT、 WL、WP 格式时,不能转换其区文件,而 MapGIS 则可以识别 MIF 的区文件信息。
Surfer 等值线图
MapGIS 等值线图(未校正)
图 1 Surfer 转成 MapGIS 图形格式
将 Surfer 图形文件转换成 MapGIS 的 WT、WL、WP 图形文件后,图中的线型、
标注的大小和标注的位置等会发生一定程度的变化(图 1),对于线型、标注大
小可在 MapGIS 中很容易使用参数统改编辑成你满意的形态。标注位置的偏移却
文件头:WMAP9022 点数:n 1 号点 1744.433779,12263.630234,1,0,"-300",19.755510,19.755510, 7.902204,278.399994,1,1,0,0,1,101,0
…… 对于图形中标注来说,点的信息包括坐标、ID、点类型(0)、“字符串”、
End If Loop Close End If Next i For v = 0 To File2.ListCount - 1 If File2.Selected(v) = True Then Open Dir1.Path + "/" + File2.List(v) For Input As #1 Open Dir1.Path + "/" + "x" + File2.List(v) For Output As #2 Line Input #1, a Print #2, a Line Input #1, a Print #2, a n=0 y=1 Do While Not EOF(1) n=n+1
Surfer 还具有软件小,占用资源少,内存管理优异等等特点,已广泛地应 用于教学、科研、测绘、地质等领域[1-4]。但在物探工作的使用中也存在不足之 处,主要体现在 Surfer 中文支持不好,地质专用的填充花纹不够丰富,没有标 准的地质图件模块。同时,Surfer 图形文件不是中国地质调查局规定的图形文 件格式。因此,在物探工作中需要把 Surfer 图形文件转换成我国地质勘查工作 成图与归档资料指定的图形文件格式—MapGIS 图形格式,
标来替换掉 MapGIS 明码文件(*.WAT)中的坐标,就可以实现图形中标注的偏
移问题。
针对图形标的偏移校正,我们用 VB 编写了一个简单的程序来实现。由于
Mapinfo 的(*.mif)MIF 文件中的点与 MapGIS 明码文件(*.wat)中的点是按
顺序一一对应的,因此,就可以在*.mif 文件中按顺序一一读取第一组坐标,
没有一定的规律性,不能用统改参数的方式进行编辑。当图中标注较少时可通
过移动的方式进行编辑,当标注量比较大时,这种编辑方式显然是不可取的,
需要从根本上解决问题。
2. 标注偏移的校正
标注偏移是发生在由 MapInf 的 MIF 格式转成 MapGIS 的 WT、WL、WP 格式这 一环节。这是由于两都数格式不同造成的。
Mapinfo 的 MIF 数据格式是一种外部数据交换标准,是 ASCII 码文件。文
件格式为
VERSION 300
CHARSET "WindowsLatin1"
DELIMITER ","
COORDSYS Nonearth
Unitபைடு நூலகம் "m"
Bounds (-120.7050939670 , 10345.4579648438) ( 2023.0472584132 ,
图 2 文本坐标矫正后效果对比图
Input #1, m(1), m(2), m(3), m(4), b, m(6), m(7), m(8), m(9), m(10), m(11), m(12), m(13), m(14), m(15), m(16)
Write #2, c(n), d(n), m(3), m(4), b, m(6), m(7), m(8), m(9), m(10), m(11), m(12), m(13), m(14), m(15), m(16)
y=y+1 GoTo 12 End If
Surfer 等值线图
MapGIS 等值线图(已校正)
If x(y) = n Then Input #1, m(1), m(2), m(3), m(4), b, m(6), m(7), m(8), m(9), m(10),
m(11), m(12), m(13) ', m(14), m(15), m(16) Print #2, c(n); ","; d(n); ","; m(3); ","; m(4); ","; b; ","; m(6);
字符高度、字符宽度、字符间隔、字符串角度、中文字体、西文字体、字形 水
平(0)或垂直排列(1)、 颜色、 图层、 透明输出。
对比 MapGIS 和 Mapinfo 的数据格式可以看出,图形中每个标注转成 MapGIS
明码文件(*.WAT)后,坐标位置发生了变化变。只要用 MapInfo 中的第一组坐
MapGIS 是中国地质大学研发的优秀的国产 GIS 软件,在物探中常用的图形 制作和数据图形模块具有自动进行线段跟踪、结点平差、线段裁剪和延伸等编 辑,良好的中文支持、丰富的地质专用填充花纹和标准地形地质图模型等功能。 但较 Surfe 比在数据网格化、颜色充填、等值线绘制等方面还有较大的差距。 而 MapGIS 没有提供 Surfer 的转换模块,在实际使用中非常不方便,不能充分 发挥 Surfer 和 MapGIS 独特的优势。本文根据多年的工作经验,论术了 Surfer 转 MapGIS 图形文件格式方法和技术,利用 Surfer 和 MapGIS 各自的优点,总结 出一套较好的数据成图方法。
据描述,数据与图形是一一对应的。TEXT 是对文本即标注的描述,其中“-300”
是标注的内容,接下来是标注的位置(左下角坐标和右上角坐标)、角度和字体。
MapGIS 的数据交换文件是 ASCⅡ的明码文件,点文件是*.WAT,其文件格式
为:
逻辑结构:
文件头 ,点数, 1 号点, 2 号点, ……
具体如下:
Surfer 是美国 Golden software 公司出品的一套功能强大的成图软件,具 有完美的二维数据处理、显示和一定的三维显示功能。在物探工作中常用的等 值线图,如平面等值线图、拟断面图等,和点位图、三维表面图都可用 Surfer 绘制。Surfer 用交互式菜单操作,具有多种数据网格化方法和函数运算功能, 数据输入方便,除了 ASCII 码 X、Y、Z 文件以外,还可识别 EXCEL(*.xls)、 Microsoft SYLK(*.slk)、Comma Separated Variables(*.CSV)等文件,可输出 AutoCAD、MapInfo、ArcInfo、光栅图、Windows 位图、JEPG、GIF 等 20 多种图 形文件。
12 Loop 11 Close End If Next v
File2.Path = Dir1.Path MsgBox "结束" End Sub
图 2 是经标注偏移校正后的 MapGIS 图形。
3. 结论
Surfer 是物探工作者常用的作图软件。作者通过大量的经验积累,总结了 在物探工作中将 Surfer 等值线图转为 MapGIS 图形文件的方法技术,文中的程 序已经过调试,并证明有效的。程序的实现节省了大量的人工修图工作,提高 了工作效率,还能保持图形精度。因此,这转换不仅是可行的,而且是十分有 用的。
12423.0477170243)
COLUMNS 7
Primary char (32)
Secondary char (32)
ID3 char (32)
ID4 char (32)
ZLEVEL float
LAYERNUM integer
LAYERNAME char (32)
DATA
……
TEXT "-300"
Surfer 转 MapGIS 图形文件格式的方法技术
王身龙 夏训银 王建新 王洪生 张进国
华北地质勘查局五一九大队,保定 071051 摘 要 介绍了 S surfer 转 mapgis 图形文件的方法技术,通过剖析 mapinfo 数据交换文件和 mapgis 明码文件的结构,总结了 mapinfo 数据在转换过程中存在的标注偏移问题,并编写了相应的程序,经 证明是有效的。 关键词 .surfer;mapgis;格式转换;偏移;校正
If File1.Selected(i) = True Then Open Dir1.Path + "/" + File1.List(i) For Input As #1 j=0 y=0 Do While Not EOF(1) Line Input #1, a b = Mid(a, 1, 4) g = Mid(a, 1, 5) If b = "TEXT" Then j=j+1 Input #1, c(j), d(j), e, f 'Write #2, c, d End If If g = "POINT" Then j=j+1 y=y+1 x(y) = j h = "" For n = 5 To Len(a) h = h + Mid(a, n, 1) If Mid(a, n, 1) = " " Then c(j) = h h = "" End If Next n d(j) = h 'Input #1, c(j), d(j), e, f 'Write #2, c, d
1768.863253792918
12260.02280268517
1812.463877792919
12284.71719068517
Angle 278.4
FONT ("Arial", 0, 6, 0)
……
上文中第 1 至第 14 句这为文件头部分,描述的是文件版本、文字格式、分
格符、投影类型和数据库中表的字段数等。数据部分以 DATA 开始,是对图形数
参考文献:
[1] 朱庆俊,李风哲.Surfer 软件在地球物理资料处理中的应用[J],物探与化探,2007,31(3):250-251。 [2] 王会秋,彭培好.陈文德等,Surfer、MapGIS 在地球化学图制图中的对比研究[J],四川地质学 报.2009,29(3), 342-343 [3] 毛兴华,胡方西.将 Mapinfo 和 Surfer 结合绘制等值线[J].测绘通报,2001(10),39-40 [4] 陈华根,吴健生,王家林,MapGIS 明码文件的 Matlab 编程实现及其意义[J].物探化探计算技术, 2000,22(4),351-355
逐个替换 MapGIS 明码文件(*.wat)中的坐标。以下是程序清单。 Private Sub Command1_Click() On Error GoTo 11 Dim a, b, g, h As String Dim c(5000), d(5000), x(5000), e, f As Currency Dim m(20) As Currency Dim n, j, y As Integer For i = 0 To File1.ListCount - 1
作者简介 王身龙,男,1977 年生,2001 年毕业于吉林大学地球探测与信息技术学院,获学士学位,工程 师,主要从事矿产勘查和物探数据处理工作。
1. Surfer 转 MapGIS 图形文件
Surfer 转 MapGIS 格式的主要目的是利用 Surfer 强大的网格化和成图优势, 使用 Surfer 进行网格化和成图,最后用 MapGIS 进行图面编辑和整饰。由于 MapGIS 没有提供一个专门的转换模块,不能直接将 Surfer 图形文件转成 MapGIS 的点、线、面文件,通常是先将 Surfer 图形文件输出成 AutoCAD 的 DXF 或 MapInf 的 MIF 格式,再转换成 MapGIS 的 WT、WL、WP 图形格式。对于包含充填色阶时, 最好输出成 MapInf 的 MIF 格式,这是因为 AutoCAD 的 DXF 转换成 MapGIS 的 WT、 WL、WP 格式时,不能转换其区文件,而 MapGIS 则可以识别 MIF 的区文件信息。
Surfer 等值线图
MapGIS 等值线图(未校正)
图 1 Surfer 转成 MapGIS 图形格式
将 Surfer 图形文件转换成 MapGIS 的 WT、WL、WP 图形文件后,图中的线型、
标注的大小和标注的位置等会发生一定程度的变化(图 1),对于线型、标注大
小可在 MapGIS 中很容易使用参数统改编辑成你满意的形态。标注位置的偏移却
文件头:WMAP9022 点数:n 1 号点 1744.433779,12263.630234,1,0,"-300",19.755510,19.755510, 7.902204,278.399994,1,1,0,0,1,101,0
…… 对于图形中标注来说,点的信息包括坐标、ID、点类型(0)、“字符串”、
End If Loop Close End If Next i For v = 0 To File2.ListCount - 1 If File2.Selected(v) = True Then Open Dir1.Path + "/" + File2.List(v) For Input As #1 Open Dir1.Path + "/" + "x" + File2.List(v) For Output As #2 Line Input #1, a Print #2, a Line Input #1, a Print #2, a n=0 y=1 Do While Not EOF(1) n=n+1
Surfer 还具有软件小,占用资源少,内存管理优异等等特点,已广泛地应 用于教学、科研、测绘、地质等领域[1-4]。但在物探工作的使用中也存在不足之 处,主要体现在 Surfer 中文支持不好,地质专用的填充花纹不够丰富,没有标 准的地质图件模块。同时,Surfer 图形文件不是中国地质调查局规定的图形文 件格式。因此,在物探工作中需要把 Surfer 图形文件转换成我国地质勘查工作 成图与归档资料指定的图形文件格式—MapGIS 图形格式,
标来替换掉 MapGIS 明码文件(*.WAT)中的坐标,就可以实现图形中标注的偏
移问题。
针对图形标的偏移校正,我们用 VB 编写了一个简单的程序来实现。由于
Mapinfo 的(*.mif)MIF 文件中的点与 MapGIS 明码文件(*.wat)中的点是按
顺序一一对应的,因此,就可以在*.mif 文件中按顺序一一读取第一组坐标,
没有一定的规律性,不能用统改参数的方式进行编辑。当图中标注较少时可通
过移动的方式进行编辑,当标注量比较大时,这种编辑方式显然是不可取的,
需要从根本上解决问题。
2. 标注偏移的校正
标注偏移是发生在由 MapInf 的 MIF 格式转成 MapGIS 的 WT、WL、WP 格式这 一环节。这是由于两都数格式不同造成的。
Mapinfo 的 MIF 数据格式是一种外部数据交换标准,是 ASCII 码文件。文
件格式为
VERSION 300
CHARSET "WindowsLatin1"
DELIMITER ","
COORDSYS Nonearth
Unitபைடு நூலகம் "m"
Bounds (-120.7050939670 , 10345.4579648438) ( 2023.0472584132 ,
图 2 文本坐标矫正后效果对比图
Input #1, m(1), m(2), m(3), m(4), b, m(6), m(7), m(8), m(9), m(10), m(11), m(12), m(13), m(14), m(15), m(16)
Write #2, c(n), d(n), m(3), m(4), b, m(6), m(7), m(8), m(9), m(10), m(11), m(12), m(13), m(14), m(15), m(16)