免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 2497|回复: 15
收起左侧

[经验共享] ArcGIS QGIS ENVI FME 四种主流栅格镶嵌工具对比

[复制链接]

4

主题

4529

铜板

5

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
183

爱心勋章地信专家组冰雪节勋章

发表于 2021-5-7 09:22 | 显示全部楼层 |阅读模式
ArcGIS QGIS ENVI FME  四种主流栅格镶嵌工具对比


​
前言:比较 ArcGIS QGIS FME ENVI 这四种专业软件工具的栅格镶嵌速度,帮助你做出最好的选择。到底谁最快,快来看一看...

​

​

​

比较说明


说明
“执行栅格镶嵌完成后,将结果完整保存下来。”
这是一个完整的测试过程,必须将镶嵌完成的结果保存到本地才行。
完成一次测试过程,记录一次完成时间。
另外保存下来的栅格像元输出类型都设置为16位的无符号整型格式,即 16bit unsigned ;
输出文件格式依然为 tif。
每次仅仅开启需要进行栅格镶嵌的软件。

配置情况
使用的是自己的旧笔记本,已经是时代的眼泪了。不过也要开启倔强的性能模式。
CPU i5-7300HQ 基准频率2.5GHz,睿频3.2GHz;
GPU GTX1050;
然后这些软件都是安装在固态硬盘中。

版本号
ArcGIS 10.3 版本 未开启64位 gp,启动硬件加速模式;
QGIS 3.16 版本;
ENVI 5.3.1 64位 非 Classic 版本;
FME 2018。


​

​

数据处理


SRTM 数据,就是高程栅格, 文件后缀为 HGT。
共24幅影像。

​ArcGIS 未镶嵌前 hgt格式

​


由于不知道是什么原因,ENVI5.3 sp1 暂时无法打开 HGT 格式的文件。
为了让每个软件工具都能打开文件,所以现在要将所有 HGT 格式转换为最为常见的 tif 格式。

使用 ArcPy 进行批量转换,代码量也很小:

  1. # -*- coding:utf-8 -*-
  2. # -------------------------------------------
  3. # Name:              readraster
  4. # Author:            Hygnic
  5. # Created on:        2021/4/19 23:31
  6. # Version:           
  7. # Reference:         
  8. """
  9. Description:         将Hgt文件转换为栅格tif
  10. Usage:               
  11. """
  12. # -------------------------------------------
  13. from __future__ import absolute_import
  14. from __future__ import unicode_literals
  15. import os
  16. import arcpy
  17. ​
  18. ​
  19. arcpy.env.workspace = r"E:\MyD\dem\chengdu\t"
  20. arcpy.env.overwriteOutput = True
  21. ​
  22. ​
  23. class HGT2TIF(object):
  24.    
  25.     def __init__(self, hgt):
  26.         self.hgt = hgt
  27.         
  28.         # function
  29.         self.convert()
  30. ​
  31.     def convert(self):
  32.         raster = arcpy.Raster(self.hgt)
  33.         name =  os.path.basename(self.hgt) # N28E104.hgt
  34.         purename = os.path.splitext(name)[0]
  35.         raster.save("{}.tif".format(purename))
  36.         
  37.         
  38. if __name__ == '__main__':
  39.     dir_path = r"E:\MyD\dem\chengdu\H48"
  40.     hgt_files = os.listdir(dir_path)
  41.     for hgt in hgt_files:
  42.         hgt_path = os.path.join(dir_path, hgt)
  43.         HGT2TIF(hgt_path)
复制代码

使用 arcpy.Raster 创建栅格对象,与栅格对象关联的栅格可使用 save 方法保存。
dir_path 是存放 HGT 文件的地址。


运行代码后,获得了栅格 tif 格式的影像。

​ArcGIS 未镶嵌前 tif格式

​



​

​

ArcGIS 栅格镶嵌


第一个测试的就是大家使用非常多的 ArcGIS desktop 软件,这个软件自然不必多说。其实我更想使用 ArcGIS pro 不过没有钱买不起,也无法破解。
先打开ArcMap,打开工具栏;
使用镶嵌至新栅格工具进行镶嵌。该工具位于数据管理工具->栅格->栅格数据集->镶嵌至新栅格。

参数设置如下:

重复运行几次后的时间消耗表如下:

花费时间(秒)
第一次
7.36
第二次
7.55
第三次
7.32

所以使用 ArcGIS 执行栅格镶嵌的时间就是7秒多。


​

​

QGIS 栅格镶嵌


QGIS,目前最火热、社区最活跃的开源 GIS 平台。
打开 QGIS,使用 Merge 工具。
该工具来自于 GADL 包。位于QGIS 右侧工具栏,GDAL->Raster miscellaneous->Merge
或者在上方工具栏中快捷打开


​
Note: 该功能需要开启核心插件 GDAL 工具,该插件默认开启。但是如果找不到该工具的话就去设置中开启该核心插件。

​


栅格镶嵌参数设置如下:

其运行速度让人惊讶不已


其运行时间在2.4~2.57秒之间,速度完全秒杀了 ArcGIS,当然情理之中,毕竟一个20岁年轻人打一个60岁的中老年人。


​

​

ENVI 栅格镶嵌


ENVI 是图像处理和分析的行业标准软件。
图像分析人员、GIS 专业人员和科学家可以使用它从地理空间影像中提取及时、可靠、准确的信息。
ENVI 的各种功能经过科学验证,并且易于使用,同时与 Esri 的 ArcGIS 平台紧密集成。


作为专精遥感影像处理的 ENVI 来说,在栅格数据处理的强大不必多说。
但是就其速度而言能打败 QGIS 吗?
打开 ENVI ,添加数据。
在主界面的右边找到 Seamless Mosaic 工具,单击打开,进行镶嵌操作。


由于现这个版本不会显示工具运行的时间,故运行时间使用手机秒表计算。
运行时间为:20.5秒。确实时间挺长的。

但是 ENVI 栅格镶嵌方面的选项是最多的,同时各种效果和辅助线能帮助操作人员更精细化的操作。



​

​

FME 栅格镶嵌


按照官网的话来说,FME(Feature Manipulation Engine) 是一个对空间数据有着广泛支持的数据整合平台,是加拿大Safe Software公司开发的空间数据转换处理系统。


FME 不仅能在数百种空间数据和非空间数据之间进行转换,还能在空间数据的基础上对其进行空间分析、投影变换、计算等。
无需用户在不同的数据格式之间解码转换,即可构建自动化的工作流。

打开 FME workbench 直接搜索 mosaic,然后选择 RasterMosaicker 转换器(只要是栅格镶嵌,如果记不到名字,进入软件直接搜 mosaic 就行,这些软件关于栅格镶嵌工具的名称基本都是这个)。

添加一个读取器(黄色部分),读入 tif 文件,然后连接上左侧的  RasterMosaicker


添加一个输出转换器,设置输出地址和输出格式,输出栅格名称为 all_fme。


点击上方 按钮,运行栅格镶嵌工作流,运行时间如下:


2.7秒,速度和 QGIS 一个等级。


​

​

结论


镶嵌结果
4种软件工具最后镶嵌的成果基本一致,如下图,所以放上一张展示一哈:


时间比较
一个程序运行的时间是分为几部分了,有单纯的 CPU 计算工作的时间,也包括了各种系统调用的消耗。
所以只能笼统的做一个比较;
同时由于测试的数据量不大,测试结果不能100%代表这4个程序在运行大量级栅格时的表现。

测试结果

软件
平均耗时(秒)
ArcGIS 10.3
7.41
QGIS 3.16
2.45
ENVI 5.3.1
20.5
FME 2018
2.82

ArcGIS desktop 10.3 版本已经很老了,历史很长,为了维护整个系统的稳定一定也有了很重的历史包袱 。所以时间较长可以理解;
Ersi 公司已经推陈出新,投入到了新一代的 ArcGIS pro,相信 ArcGIS pro 的速度不会让人失望。

ENVI 在内部实现栅格镶嵌时的判定应该比较多吧,毕竟选项最多。可是20s的速度还是让我比较失望,可能 ENVI 在大量级数据处理上表现会好些吧;
尽管如此,使用 ENVI 提取、分析、计算遥感影像的数据依然是非常热门的选择。

QGIS,开源软件,没有 ArcGIS 的历史负担。前进势如破竹,其高性能表现让人惊讶。

FME 作为商业软件,行业级别的协议和标准。同时深耕于数据领域,在这方面的速度当然不会让人失望。

所以呢,综上所述,需要进行大批量的栅格镶嵌推荐使用 FME,毕竟是商业软件,稳定性不会太差。如果是好用免费的话推荐使用 QGIS


​

​

结束语


日新月异,希望大家不要再抱着 ArcGIS desktop 不放,如今当 ArcGIS 已经广泛应用于政府单位的时候,你更应该朝前看,去学习拥抱更新、更先进的东西。
你应该走在客户的前面,在前面等他。

​

​

​分享GIS,不止于Python。荟GIS精粹,关注我,带你飞!




​







0

主题

149

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
13
发表于 2021-5-7 15:41 | 显示全部楼层
技术帖子 感谢作者
回复 支持 反对

使用道具 举报

4

主题

4529

铜板

5

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
183

爱心勋章地信专家组冰雪节勋章

 楼主| 发表于 2021-5-7 17:29 | 显示全部楼层

谢谢支持
回复 支持 反对

使用道具 举报

4

主题

4529

铜板

5

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
183

爱心勋章地信专家组冰雪节勋章

 楼主| 发表于 2021-5-7 17:30 | 显示全部楼层
其实更想测试 arcgis Pro 的
回复 支持 反对

使用道具 举报

47

主题

2万

铜板

20

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3631
发表于 2021-5-28 17:59 | 显示全部楼层
谢谢分享
回复

使用道具 举报

5

主题

1870

铜板

16

好友

助理工程师

Rank: 5Rank: 5

积分
249
发表于 2021-6-1 11:59 | 显示全部楼层
厉害厉害大佬,学习学习。目测你怕是广安的老乡吧?arcgispro网上有破解版的呀,arcgispro处理速度要比desktop。非要把这几款软件做个对比的话,你也用改用10.8的desktop啥。还是挺牛逼的,会写代码的都是大佬
回复 支持 反对

使用道具 举报

4

主题

4529

铜板

5

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
183

爱心勋章地信专家组冰雪节勋章

 楼主| 发表于 2021-6-3 20:49 | 显示全部楼层
向向向 发表于 2021-6-1 11:59
厉害厉害大佬,学习学习。目测你怕是广安的老乡吧?arcgispro网上有破解版的呀,arcgispro处理速度要比desk ...

哈哈哈,我去看看 arcgis pro 破解版
回复 支持 反对

使用道具 举报

1

主题

265

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
19
发表于 2021-6-9 15:38 | 显示全部楼层
谢谢分享
回复

使用道具 举报

2

主题

2万

铜板

1

好友

银牌会员

Rank: 12Rank: 12Rank: 12

积分
856
发表于 2021-9-9 08:44 | 显示全部楼层
感谢分享
回复

使用道具 举报

10

主题

1万

铜板

19

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3722
发表于 2021-11-4 20:30 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表