基于Global Mapper批量生成HYPACK系统测线的方法

时间:2022-07-13 01:25:23

基于Global Mapper批量生成HYPACK系统测线的方法

[摘要]简要地介绍HYPACK综合导航软件的应用情况和存在的问题;给出Global mapper软件的坐标转换设置和批量导出HYPACK测线文件的方法;利用Global Mapper生成HYPACK导航系统测线的方法,提高了野外调查生产效率,并可以检验测线坐标数据,确保采集数据的正确性。

[关键词]Global Mapper AWK 批量 测线 坐标转换

[中图分类号] P217 [文献码] B [文章编号] 1000-405X(2015)-7-166-1

1引言

HYPACK是美国Coastal Oceanographics Inc.公司开发用于海洋调查和水道测量的商业软件。软件的测量模块具有设置灵活,支持硬件多的特点,接入DGPS、单波束测深仪等仪器后能向用户提供高质量的航行定位和测深数据,同时提供了强大的内业编辑、绘图和土方量计算功能,目前该软件最新版本为HYPACK2014。但HYPACK 的极个别功能未能完全符合我国的国家规范以及行业规范,例如测线的批量导入等是HYPACK软件的缺陷。

本文应用Global Mapper软件(以下简称GM),结合awk编程语言工具,通过编写简单的awk程序语言,导出符合GM软件使用的测线,然后再导入GM,设置对应的坐标系和投影,最后批量导出符合HYPACK综合导航系统使用测线文件,方便批量导入HYPACK系统使用。

2 GM及awk简介

GM是一款地图绘制软件,支持导入点、线、面等测线文件,其预置许多常用坐标系和转换参数,支持包括高斯投影、UTM投影等在内的数百种地图投影,用户通过设定相关的坐标系和投影方式,可以导出符合调查项目所需的坐标系统,利用其对文本格式数据的处理,配合坐标系统和投影参数设置,亦可方便地实现文本数据坐标参考系统的转换。

AWK是一种用于处理文本的编程语言工具,运行效率高,而且代码简单,对格式化的文本处理非常快速。AWK在很多方面类似于shell编程语言,尽管 AWK 具有完全属于其本身的语法。其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母,在最初创造AWK时,其目的是用于文本处理,并且这种语言的基础是,只要在输入数据中有模式匹配,就执行一系列指令,对于文本处理,执行效率明显高于其他编程语言工具。

3批量导出测线的方法与过程

3.1利用AWK处理原始测线文件

调查项目或者施工设计里面,原始测线格式一般为word表格格式,如下表1原始测线表所示,表中只列举了部分调查测线。

利用awk处理前:

(1)网上下载awk应用包,修改对应的autoexec.bat文件后放置于C盘根目录下,然后在windows自带的cmd下,运行autoexec.bat,安装GMT环境变量,如下图1所示。GMT环境建立后,即可使用awk编程语言工具。

(2)拷贝表格,粘贴到无格式linename.txt文本文档中,如下:

test1 220000.000 1130000.000 220000.000 1140000.000

test2 210500.000 1130000.000 210500.000 1140000.000

test3 210000.000 1130000.000 210000.000 1140000.000

test4 200500.000 1130000.000 200500.000 1140000.000

test5 195500.000 1130000.000 195500.000 1140000.000

test6 195000.000 1130000.000 195000.000 1140000.000

(3)分析测线格式:字段1测线名 字段2起点纬度 字段3起点经度 字段4终点纬度 字段5终点经度,格式比较规律。

利用awk处理时:

(1)切换到linename.txt数据目录下,输入awk语句:

awk '{print $1,"\n" substr($2,1,2) ":" substr($2,3,2) ":" substr($2,5,6),substr($3,1,3) ":" substr($3,4,2) ":" substr($3,6,6),"\n" substr($4,1,2) ":" substr($4,3,2) ":" substr($4,5,6),substr($5,1,3) ":" substr($5,4,2) ":" substr($5,6,6)}' linename.txt>convertlinename.txt

其中,print为打印;$1,"\n",为字段1后加入换行符;substr($2,1,2),为提取字段2中从第一个字符算起的两个字符;linename.txt为测线原始文件名,convertlinename.txt为转换后输出的文件名;利用awk处理文本文件,可以忽略其空格和Tab的区别。

(2)输出结果convertlinename.txt内容如下:

test1

22:00:00.000 113:00:00.000

22:00:00.000 114:00:00.000

test2

21:05:00.000 113:00:00.000

21:05:00.000 114:00:00.000

test3

21:00:00.000 113:00:00.000

21:00:00.000 114:00:00.000

这样的结果,符合GM软件测线输入格式。

3.2利用GM导入awk生成的测线文件,再导出HYPACK系统适用的测线文件

(1)打开GM软件,然后Fileopen Data File(s),因将要导入的是测线文件,所以Import Type选项里选择Point、Line、and Area Features;测线文件中,纬度在前,所以Coordinate Column Order/Format选项里选择Y/Northin/Latitude Coordinate First,如图2所示。

(2)导出测线前,需将所有其他底图的图层去掉,只保留测线图层,然后设置和施工项目设计一致的投影参数,在这里,假定为UTM投影。操作ToolsconfigureProjection选项卡中,Projection:选择UTM,Zone:选择49,Datum:默认选择WGS84,具体如图3所示。

(3)GM导出HYPACK测线:FileExportExport Vector Format,选择Hypack Linefile,然后确定。

(4)测试GM生成的HYPACK测线文件,如图4所示,测试通过,测线可以批量导入;通过和人工输入的做对比,结果一致。

4结论

(1)利用awk编程语言工具,可以快速处理规律文本数据,可以根据不同特点的字段格式,自由更改输入和输出的文本格式;

(2)利用awk编程语言和Global Mapper批量生成HYPACK系统测线的方法,可以适应不同的原始坐标格式;在HYPACK系统多测线调查作业的情况,利用此方法可以节省调查人员输入测线的时间,省略重新编译程序的步骤,减少错误率。

参考文献

[1]李红兵,喻威,李纪东,杨有才,徐岩,宁林春.Global Mapper参与测绘数据的管理和分析[C].成都:中国海洋协会:2009.

[2]施建平,魏彩虹,段金梅.利用Global Mapper实现文本格式坐标的参考系统转换[J].测绘技术装备,2013,15(2):76~78.

[3]胡家赋 ,刘宇明.HYPACK导航系统在海洋资源勘探中的应用[J].海洋测绘,2003,23(6):21~23.

[4]刘方兰,肖波.Global Mapper系统在海洋调查中的应用[J].海洋技术,2011,30(1:):24~26.

[5]李文杰.Global Mapper在物探测量中的应用[J].北京测绘,2012,5:48~50.

[6]石庆冬.浅谈AWK与C语言的相似之处[J].科技资讯,2008,33:25~26.

上一篇:现代数字化制图技术在煤矿地质测量中的应用分... 下一篇:滑坡变形监测过程中GPS技术的应用