面朝大海,春暖花开
  • 首页
  • GIS使用
  • 大于100万行数据如何转换坐标、格网生成和裁剪、低格网数据提取

作者:xiaokcehui2023-7-12 7:52分类: GIS使用 标签: 巨量数据

在工作过程中,对于100万以下的数据,我们一般使用EXCEL进行操作,但对于大于1百万行的数据,EXCEL也无能为力。此时,解决办法有三种:(1)拆分成几个小于100万的文件,再用EXCEL操作;(2)自编程序实现数据的读写;(3)使用Surfer操作。前两种方法操作耗时较长,而第三种方法的Surfer不能进行坐标投影转换。鉴于此,本文将介绍一种由博主亲测的好用的方法,这个方法需要用到二款软件:Surfer20和GeoSoft8.4.1。下面以CARIS输出的10m格网的1000万行水深点(纬度,经度,水深点)为例说明巨量数据投影坐标转换、格网生成和裁剪和低格网数据提取。

1、投影坐标转换使用Geosoft软件。

(1)新建GeoSoft项目,新建数据库,用于存放水深数据,导入水深数据(txt)。使用导入向导(wizard),导入数据,从第一行开始,并选择间隔符号。设置每一列的属性,主要是:是否导入,列名。如果希望导入列的排序不变,可在列名前加字母顺序(a,b,c等)。

新建数据库shuishen。

无标题1.jpg

使用向导导入文本文件。

点击查看原图

指定列名。1000万行数据导入大约1分钟。

点击查看原图

(2)坐标转换,使用Coordinates/New Projected Coordinate System菜单命令。选择要转换的列,指定源坐标系统,然后选择转换后的列和目的坐标系统,投影坐标转换完成,耗时大约30秒。

指定要转换的列。

点击查看原图

指定源坐标系统,大地坐标系统。

点击查看原图

指定转换后的列。

无标题6.jpg

指定目的坐标系统,墨卡托投影(中央经线120度,基准纬度39度)。

无标题7.jpg

(3)导出转换后的坐标。

无标题8.jpg

2、使用Surfer20生成10m格网。GeoSoft生成10m格网需要至少1天,Surfer20生成10m格网,不到1个小时。有的人可能会使用Fledermaus,其生成格网的速度比Surfer20快,但是会留下一些少量空洞。

无标题9.jpg

建立bln文件,裁剪格网,bln文件的格式如下:

行数

x1,y1

x2,y2

...

xn,yn

首尾坐标相同,保证闭合

使用Surfer20的Grids/Assign NoData 裁剪grd,界面见下图。

无标题10.jpg

grd文件裁剪的结果见下图。

无标题11.jpg

3、提取低格网水深点。最后成图的格网一般比grd低一些,因此成图数据需要从grd上提取。使用Surfer20的Grids/Residuals可提取低网格的成图数据。

无标题12.jpg

由于超出测量范围的低网格水深点为空,因此,我们需要剔除这些空值,选中A、B、C和D列,使用Grids/Sort,以D进行排序,删除空值的行。

点击查看原图

最后,使用File/Save as输出提取的水深点。

4、小结

由于处理大于100万行的数据的机会不是很多,因此,使用此方法的时间间隔会比较长。每次使用都跟第一次使用一样,都会出现各种不顺利的状况,故而将此方法记录一下,便于检索查阅。

















参考文献

https://blog.csdn.net/xiaokcehui/article/details/124959914

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

已有 0/11991 人参与

发表评论:

欢迎使用手机扫描访问本站,还可以关注微信哦~