哪个快?用300万个图斑测试ArcGIS Pro的成对叠加与经典叠加

​​​
点击下方全系列课程学习

点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合+系列直播回放

点击学习——>遥感影像综合处理4大遥感软件ArcGIS+ENVI+Erdas+eCognition


在使用ArcGIS Pro的过程中,很多朋友发现,Pro有个成对叠加工具集。很多人只是简单的认为它们只是经典叠加工具开启多线程的并行状态。其实不然。

图片

        下面我介绍一下ArcGIS Pro成对叠加工具(成对缓冲、成对裁剪、成对融合、成对擦除、成对整合和成对相交)和经典叠加工具(缓冲区、裁剪、融合、擦除、整合和相交)的区别。

        这次我测试的数据是两个图层,数据量近300万个图斑,有足够的数据量来说明问题。且我在ArcGIS Pro、ArcGIS10.8、QGIS、FME都做了效率测试,来看看ArcGIS Pro的64位的框架是否真的那么快。

图片

        我首先也明确一个问题:ArcGIS Pro中的成对相交和相交是有本质区别,只有在特定情况才是一样,且他们的计算引擎也是不一样的。所以本次测试会主要围绕成对相交和相交展开。

本期目录

1、成对叠加工具概述

2、经典叠加工具与成对叠加工具的区别

3、成对相交与相交比较

4、实际测评

成对叠加工具集概述

工具

说明

成对缓冲

用于使用并行处理方法在输入要素周围某一指定距离内创建缓冲区多边形。

成对裁剪

此工具用于以其他要素类中的一个或多个要素作为模具来剪切要素类的一部分。在您想要创建一个包含另一较大要素类的地理要素子集的新要素类(也称为研究区域或感兴趣区域 (AOI))时,裁剪工具尤为有用。

成对融合

可使用并行处理方法基于指定的属性聚合要素。

成对擦除

计算输入和擦除要素的成对交集。只将输入要素处于擦除要素之外的部分复制到输出要素类。

成对整合

分析一个或多个要素类中要素之间的要素折点的坐标位置。彼此间距离在指定范围内的折点被认为表示同一个位置,并被指定一个共有坐标值(换句话说,将它们定位于同一点)。该工具还会在要素折点位于边的 x,y 容差范围内以及线段相交的位置处添加折点。

成对相交

计算输入要素的成对交集。输入要素图层或要素类中相叠置的要素或要素的各部分将被写入到输出要素类。成对交集是指从第一个输入中选择一个要素,然后将其与所重叠的第二个输入中的要素相交。

经典叠加工具与成对叠加工具的区别

成对缓冲和缓冲区

下面对成对缓冲和缓冲区工具进行了比较:

  • 这两种工具都使用并行处理。对于成对缓冲工具,默认启用并行处理。对于缓冲区工具,可通过“并行处理因子”环境进行启用。

  • 默认情况下,成对缓冲工具的输出要素的平滑度低于通过缓冲区工具创建的输出要素。

  • 成对缓冲工具可控制缓冲区输出要素的平滑度。有关最大偏移偏差参数的信息,请参阅工具文档。

  • 缓冲区工具提供了一些输出缓冲区选项,例如侧类型和末端类型。

    图片

成对裁剪和裁剪

  • 这两种工具都使用并行处理。对于成对裁剪工具,默认启用并行处理。对于裁剪工具,可通过“并行处理因子”环境进行启用。

    图片

成对融合和融合

  • 这两个工具的输出相似,并且可以互换使用。

  • 成对融合工具默认使用并行处理。 融合工具没有并行功能。

    图片

成对擦除和擦除

  • 这两个工具的输出相似,并且可以互换使用。

  • 这两种工具都使用并行处理。对于成对擦除工具,默认启用并行处理。对于擦除工具,可通过“并行处理因子”环境启用并行处理。

    图片

成对整合和整合

  • 成对整合工具默认使用并行处理。

  • 成对整合工具的内部容差稍稍大于整合工具,因为用于执行集成的基础引擎存在差异。

    图片

成对相交和相交

  • 这两个工具的输出基本上互不相同。在未评估工作流以及必须如何更改才能考虑不同输出的情况下,这两个工具不能互换使用。有关详细信息,请参阅成对相交的工作原理。

  • 这两种工具都使用并行处理。对于成对相交工具,默认启用并行处理。对于相交工具,可通过“并行处理因子”环境进行启用。

图片

    综上,除了成对相交和相交外其他成对叠加工具,主要是运行效率以及一些微小容差上的区别,基本可以互换使用以提高运行效率。

成对相交与相交比较

比较相交和成对相交

使用成对相交,第一个输入中的某一要素可以与第二个输入中的每一个要素相交。这与相交工具的工作原理本质上不同。使用相交,无论要素属于哪个输入图层,所有要素均可相交。

相交工具
  • 可以相交多个要素图层或要素类

  • 查找所有输入要素的相交,无论其属于哪个输入要素图层,同时创建表示所有要素几何相交的拓扑结构

成对相交工具

  • 仅适用于两个输入要素图层或要素类

  • 从第一个输入要素图层中获取要素,使其与第二个输入图层中的各要素相交,每次一个,同时创建表示相交的新要素

相交工具

        无论属于哪个输入要素图层,要素间的所有叠加(相交)均计算在内。因为所有相交均计算在内,输出可能会包括比所有合并输入要素数量更多的要素。还有许多情况,全部输入共包括数万个要素,但由于所有要素之间均存在着复杂叠加,所以输出包括数亿个要素。

        例如,以下所示的两个要素图层。一个包括 10 个要素 - 点周围的缓冲区,另一个包括一个要素 - 一个方形。

图片

输入 1 包括 10 个叠加面要素,以 OID 标注

图片

输入 2 - 1 面,以 OID 标注。

        下图显示以上两个要素图层相交的结果。注意:无论属于哪个输入要素图层,要素间的所有叠加(相交)均计算在内。这会产生远超出原输入要素数量的要素。输出中的面(167 个要素)比合并输入中的面(输入总数为 11 个要素)多很多。这会增加相交工具中新要素的数量,根据输入中叠加的复杂程度,输出可能增长迅速。

图片

成对相交工具

使用成对相交工具,输出将更简单。每个输出要素都是输入 1 中的某一个要素与输入 2 中要素的相交。使用相交工具,输入 1 中要素间的相交将计算在内,而使用成对相交则不会。

成对相交输出:10 个输出要素。

图片

    综上,想要用成对相交代替相交提高工作效率,只有当两个输入图层内部没有自重叠才可以哦。

实际测试

这次我使用近300万(3000000)个地类图斑和84个区县图层进行相交分析,计算每个区县的地类面积汇总情况。

测试环境:服务器  CPU E5-2680 V4(服务器级CPU) RAM 128GB,测试配置还是比较强悍的

图片

  • 4.1 使用ArcGIS10.8相交分析:运行时间 44分钟 

  • 4.2 ArcGIS Pro 3经典相交分析:运行时间58分钟(做了2次测试) 

  • 4.3 ArcGIS Pro 3成对相交分析:运行时间22分钟 

  • 4.4 QGIS 3相交分析:运行时间18分钟

  • 4.5 FME2020相交分析:持续的内存错误,没有继续测试。大家可以使用AreaonAreaOverlay,但是推荐使用Clipper转换器,实现更加快捷。加上为了懒,我就不再等了。FME在运行效率上本身不具有优势。

计算结果上:

    ArcGIS Pro 的经典相交与ArcGIS10.8的相交图斑个数基本相同,相差8个,汇总后的面积一致,且ArcGIS10.8的相交效率优于ArcGIS Pro的经典相交???

我为此做了2次测试。··················

    ArcGIS Pro成对相交后图斑个数,相差4054个图斑,面积相差0.7平方米,对于总数十万平方公里以上基本忽略不计。

所以,计算成果一致,成对相交有十分突出的计算效率。但是注意不是任何情况下成对相交与经典相交可以通用。

   但是此次由于数据格式问题,数据内部几何问题,QGIS有很多漏算的图斑,导致后续计算错误,图斑汇总面积缺失2千平方公里,后续可修复等问题后再做计算,可见不同软件格式的数据再不同平台之间计算时就会存在数据丢失的情况。且QGIS目前在百万级图斑计算时容易出现

   所以大批量数据运算时目前还是采用ArcGIS系列工具来进行运算。

    ArcGIS Pro的成对相交工具具有明显的效率优势。但是要注意他与经典相交的区别。

ArcGIS Pro 3.1.5 破解+安装+软件分享+测试说明

ArcGIS Pro稳定版 3.0.2 破解+安装+软件分享+测试说明

5 推荐学习

ArcGIS全系列实战视频教程——9个单一课程组合
4大遥感软件!遥感影像解译!ArcGIS+ENVI+Erdas+eCognition
ArcGIS10.X入门实战视频教程(GIS思维)
ArcGIS之模型构建器(ModelBuilder)视频教程
ArcGIS之遥感影像分类及成果应用视频课程
ArcPy结合数据驱动模块的批量制图
ArcGIS之Data Reviewer空间数据质量检查

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/881547.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计之:教学平台微信小程序(

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

全国职业院校技能大赛(大数据赛项)-平台搭建hive笔记

在大数据时代,数据量呈爆炸性增长,传统的数据处理工具已难以满足需求。Hive作为一个开源的数据仓库工具,能够处理大规模数据集,提供了强大的数据查询和分析能力,是大数据学习中的关键工具。在全国职业院校技能大赛&…

Git使用详解:从安装到精通

前言 什么是Git Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。 可以理解: git是一个管理源代码的工具,主要用于企业团队开…

【数据结构C语言】【入门】【首次万字详细解析】入门阶段数据结构可能用到的C语言知识,一章让你看懂数据结构!!!!!!!

前言:欢迎各位光临本博客,这里小编带你直接手撕入门阶段的数据结构的C语言知识,让你不再看见数据结构就走不动道。文章并不复杂,愿诸君耐其心性,忘却杂尘,道有所长!!!&am…

学习笔记——RegNet:Designing Network Design Spaces

RegNet:Designing Network Design Spaces RegNet:设计一个网络设计空间 论文地址: https://arxiv.org/pdf/2003.13678 1、前言 在这项工作中,作者提出了一种新的网络设计范例。 作者的目标是帮助增进对网络设计的理解并发现跨设置…

网络安全:建筑公司会计软件遭受暴力攻击

黑客正在暴力破解基金会会计服务器上高权限账户的密码,这些账户广泛用于建筑行业,从而侵入企业网络。 这一恶意活动最先被 Huntress 发现,其研究人员于 2024 年 9 月 14 日检测到了此次攻击。 Huntress 已经发现这些攻击对管道、暖通空调、…

元学习的简单示例

代码功能 模型结构:SimpleModel是一个简单的两层全连接神经网络。 元学习过程:在maml_train函数中,每个任务由支持集和查询集组成。模型先在支持集上进行训练,然后在查询集上进行评估,更新元模型参数。 任务生成&…

时间安全精细化管理平台存在未授权访问漏洞

漏洞描述 登录--时间&安全精细化管理平台存在未授权访问漏洞导致与员工信息泄露 FOFA: body"登录--时间&安全精细化管理平台" 漏洞复现 POC: IP/acc/_checkinoutlog_/

Linux开发工具(git、gdb/cgdb)--详解

目录 一、Linux 开发工具分布式版本控制软件 git1、背景2、使用 git(1)预备工作——安装 git:(2)克隆远程仓库到本地(3)把需要提交的代码拷贝到本地仓库(4)提交本地仓库文…

基于协同过滤+SpringBoot+Vue的剧本杀服务平台系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于协同过滤JavaSpringBootV…

Liveweb视频汇聚平台支持GB28181转RTMP、HLS、RTSP、FLV格式播放方案

GB28181协议凭借其在安防流媒体行业独有的大统一地位,目前已经在各种安防项目上使用。雪亮工程、幼儿园监控、智慧工地、物流监控等等项目上目前都需要接入安防摄像头或平台进行直播、回放。而GB28181协议作为国家推荐标准,目前基本所有厂家的安防摄像头…

【数据结构-二维差分】力扣2536. 子矩阵元素加 1

给你一个正整数 n ,表示最初有一个 n x n 、下标从 0 开始的整数矩阵 mat ,矩阵中填满了 0 。 另给你一个二维整数数组 query 。针对每个查询 query[i] [row1i, col1i, row2i, col2i] ,请你执行下述操作: 找出 左上角 为 (row1…

Qt圆角窗口

Qt圆角窗口 问题:自己重写了一个窗口,发现用qss设置圆角了,但是都不生效,不过子窗口圆角都生效了。 无边框移动窗口 bool eventFilter(QObject *watched, QEvent *evt) {static QPoint mousePoint;static bool mousePressed f…

灵当CRM系统index.php存在SQL注入漏洞

文章目录 免责申明漏洞描述搜索语法漏洞复现nuclei修复建议 免责申明 本文章仅供学习与交流,请勿用于非法用途,均由使用者本人负责,文章作者不为此承担任何责任 漏洞描述 灵当CRM系统是一款功能全面、易于使用的客户关系管理(C…

在Linux中运行flask项目

准备 这里我准备了一个GitHub上某个大佬写的留言板的Flask项目,就用这个来给大家做示范了。 查看留言板的目录结构 查看主程序所用的库函数 只有一个第三方库 Flask 安装pip sudo apt install python3-pip -y测试 pip 安装成功 修改pip镜像源 修改pip的默认下载…

表格标记<table>

一.表格标记、 1table&#xff1a;表格标记 2.caption:表单标题标记 3.tr:表格行标记 4.td:表格中数据单元格标记 5.th:标题单元格 table标记是表格中最外层标记&#xff0c;tr表示表格中的行标记&#xff0c;一对<tr>表示表格中的一行&#xff0c;在<tr>中可…

嵌入式 开发技巧和经验分享

文章目录 前言嵌入式 开发技巧和经验分享目录1.1嵌入式 系统的 定义1.2 嵌入式 操作系统的介绍1.3 嵌入式 开发环境1.4 编译工具链和优化1.5 嵌入式系统软件开发1.6 嵌入式SDK开发2.1选择移植的系统-FreeRtos2.2FreeRtos 移植步骤2.3 系统移植之中断处理2.4系统移植之内存管理2…

搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(二)-索引

场景 首先介绍测试的场景&#xff0c;本文schema定义 pdm文档索引&#xff0c;包括nested&#xff0c;扩展字段&#xff0c;文档属性扩展&#xff0c;其中_content字段是组件保留字段&#xff0c;支持文本内容 索引 索引服务索引的操作&#xff0c;包括构建&#xff0c;put …

缓存数据和数据库数据一致性问题

根据以上的流程没有问题&#xff0c;但是当数据变更的时候&#xff0c;如何把缓存变到最新&#xff0c;使我们下面要讨论的问题 1. 更新数据库再更新缓存 场景&#xff1a;数据库更新成功&#xff0c;但缓存更新失败。 问题&#xff1a; 当缓存失效或过期时&#xff0c;读取…

C++——string的了解和使用

目录 引言 为什么要学习string 1.C语言中的字符串 2.C中的字符串 auto和范围for 1.auto 1.1 auto的介绍 1.2 注意事项 2.范围for 标准库中的string类 1.string类的迭代器 1.1 begin()与end()函数 1.2 rbegin()与rend()函数 2.string类的初始化和销毁 3.string类…