哪个快?用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中的成对相交和相交是有本质区别,只有在特定情况才是一样,且他们的计算引擎也是不一样的。所以本次测试会主要围绕成对相交和相交展开。
0 本期目录
1、成对叠加工具概述
2、经典叠加工具与成对叠加工具的区别
3、成对相交与相交比较
4、实际测评
1 成对叠加工具集概述
| 工具 | 说明 |
|---|---|
| 成对缓冲 | 用于使用并行处理方法在输入要素周围某一指定距离内创建缓冲区多边形。 |
| 成对裁剪 | 此工具用于以其他要素类中的一个或多个要素作为模具来剪切要素类的一部分。在您想要创建一个包含另一较大要素类的地理要素子集的新要素类(也称为研究区域或感兴趣区域 (AOI))时,裁剪工具尤为有用。 |
| 成对融合 | 可使用并行处理方法基于指定的属性聚合要素。 |
| 成对擦除 | 计算输入和擦除要素的成对交集。只将输入要素处于擦除要素之外的部分复制到输出要素类。 |
| 成对整合 | 分析一个或多个要素类中要素之间的要素折点的坐标位置。彼此间距离在指定范围内的折点被认为表示同一个位置,并被指定一个共有坐标值(换句话说,将它们定位于同一点)。该工具还会在要素折点位于边的 x,y 容差范围内以及线段相交的位置处添加折点。 |
| 成对相交 | 计算输入要素的成对交集。输入要素图层或要素类中相叠置的要素或要素的各部分将被写入到输出要素类。成对交集是指从第一个输入中选择一个要素,然后将其与所重叠的第二个输入中的要素相交。 |
2 经典叠加工具与成对叠加工具的区别
成对缓冲和缓冲区
下面对成对缓冲和缓冲区工具进行了比较:
-
这两种工具都使用并行处理。对于成对缓冲工具,默认启用并行处理。对于缓冲区工具,可通过“并行处理因子”环境进行启用。
-
默认情况下,成对缓冲工具的输出要素的平滑度低于通过缓冲区工具创建的输出要素。
-
成对缓冲工具可控制缓冲区输出要素的平滑度。有关最大偏移偏差参数的信息,请参阅工具文档。
-
缓冲区工具提供了一些输出缓冲区选项,例如侧类型和末端类型。
成对裁剪和裁剪
-
这两种工具都使用并行处理。对于成对裁剪工具,默认启用并行处理。对于裁剪工具,可通过“并行处理因子”环境进行启用。
成对融合和融合
-
这两个工具的输出相似,并且可以互换使用。
-
成对融合工具默认使用并行处理。 融合工具没有并行功能。
成对擦除和擦除
-
这两个工具的输出相似,并且可以互换使用。
-
这两种工具都使用并行处理。对于成对擦除工具,默认启用并行处理。对于擦除工具,可通过“并行处理因子”环境启用并行处理。
成对整合和整合
-
成对整合工具默认使用并行处理。
-
成对整合工具的内部容差稍稍大于整合工具,因为用于执行集成的基础引擎存在差异。
成对相交和相交
-
这两个工具的输出基本上互不相同。在未评估工作流以及必须如何更改才能考虑不同输出的情况下,这两个工具不能互换使用。有关详细信息,请参阅成对相交的工作原理。
-
这两种工具都使用并行处理。对于成对相交工具,默认启用并行处理。对于相交工具,可通过“并行处理因子”环境进行启用。
综上,除了成对相交和相交外其他成对叠加工具,主要是运行效率以及一些微小容差上的区别,基本可以互换使用以提高运行效率。
3 成对相交与相交比较
比较相交和成对相交
使用成对相交,第一个输入中的某一要素可以与第二个输入中的每一个要素相交。这与相交工具的工作原理本质上不同。使用相交,无论要素属于哪个输入图层,所有要素均可相交。
相交工具
-
可以相交多个要素图层或要素类
-
查找所有输入要素的相交,无论其属于哪个输入要素图层,同时创建表示所有要素几何相交的拓扑结构
成对相交工具
-
仅适用于两个输入要素图层或要素类
-
从第一个输入要素图层中获取要素,使其与第二个输入图层中的各要素相交,每次一个,同时创建表示相交的新要素
相交工具
无论属于哪个输入要素图层,要素间的所有叠加(相交)均计算在内。因为所有相交均计算在内,输出可能会包括比所有合并输入要素数量更多的要素。还有许多情况,全部输入共包括数万个要素,但由于所有要素之间均存在着复杂叠加,所以输出包括数亿个要素。
例如,以下所示的两个要素图层。一个包括 10 个要素 - 点周围的缓冲区,另一个包括一个要素 - 一个方形。
输入 1 包括 10 个叠加面要素,以 OID 标注
输入 2 - 1 面,以 OID 标注。
下图显示以上两个要素图层相交的结果。注意:无论属于哪个输入要素图层,要素间的所有叠加(相交)均计算在内。这会产生远超出原输入要素数量的要素。输出中的面(167 个要素)比合并输入中的面(输入总数为 11 个要素)多很多。这会增加相交工具中新要素的数量,根据输入中叠加的复杂程度,输出可能增长迅速。
成对相交工具
使用成对相交工具,输出将更简单。每个输出要素都是输入 1 中的某一个要素与输入 2 中要素的相交。使用相交工具,输入 1 中要素间的相交将计算在内,而使用成对相交则不会。
成对相交输出:10 个输出要素。
综上,想要用成对相交代替相交提高工作效率,只有当两个输入图层内部没有自重叠才可以哦。
4 实际测试
这次我使用近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空间数据质量检查
相关文章:
哪个快?用300万个图斑测试ArcGIS Pro的成对叠加与经典叠加
点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 在使用ArcGIS Pro的过程中,很多朋友发现,Pro有个成对叠加工具集。很多…...
超详细!百分百安装成功pytorch,建议收藏
文章目录 一、Anaconda安装1.1下载anaconda1.2配置Anaconda环境1.3验证anaconda是否安装成功 二、查看电脑显卡三、更新显卡驱动3.1下载驱动3.2、查看显卡驱动版本 四、cuda安装4.1CUDA下载4.2CUDA环境配置4.3验证CUDA是否安装成功 五、安装pytorch4.1下载pytorch5.2验证pytorc…...
web基础—dvwa靶场(四)File Inclusion
File Inclusion(文件包含) 有些 web 应用程序允许用户指定直接文件流的输入,或允许用户将文件上载到服务器。稍后 web 应用程序访问 web 应用程序上下文中用户提供的输入。通过这样种操作,web 应用程序允许恶意文件执行。 如果选择要包含的文件是目标计…...
【Python】练习:控制语句(二)第1关
第1关:分支结构基础实训 第一题第二题第三题第四题(※)第五题(※)第六题第七题 第一题 #第一题 for temp in [-280, -100, 0, 20, 120, 200]:#请在下面编写代码# ********** Begin ********** #if temp>-273.15:F9/…...
Vue3 : Pinia的性质与作用
目录 一.性质 二.作用 三.Pinia 的核心概念 四.使用 1.count.ts 2.count.vue Vue 3 中 Pinia 是一个专为 Vue 3 设计的状态管理库,它旨在提供一种简单、直观的方式来管理应用的状态。 一.性质 1.集成性:Pinia 是 Vue 3 官方推荐的状态管理库&…...
对接金蝶云星空调用即时库存信息查询API
文章目录 前言准备工作获取第三方授权权限与授权配置信息集成金蝶云SDK调用实现备注前言 对于有自己商品信息管理后台并且使用金蝶ERP系统管理物料的商家来说,将金蝶上物料的库存信息同步到管理后台就可以不用去金蝶上确认库存了,可以大大简化管理后台的库存变更工作,这篇文…...
pretrain Llama3
导入模块:导入了一些必要的模块,包括数学计算、时间处理、文件操作、深度学习框架(如torch)、以及自定义的LLama Transformer模型相关内容。 I/O配置:定义了模型输出路径、评估与日志记录的间隔步数、批次大小、最大序…...
[附源码]SpringBoot+VUE+Java实现人脸识别系统
今天带来一款优秀的项目:java人脸识别系统源码 。 系统采用的流行的前后端分离结构,内含功能包括 “人脸数数据录入”,“人脸管理”,“摄像头识别” 如果您有任何问题,也请联系小编,小编是经验丰富的程序员…...
数据库_解决SQL Server数据库log日志过大,清理日志文件方法
SQL Server数据库日志文件过大的原因主要有几个方面: 事务日志记录了所有对数据库进行修改的操作,如插入、更新和删除,这些操作会不断增加日志文件的大小。 长时间运行且未正确结束的事务会持续占用事务日志中的空间,导致日志文…...
引领长期投资新篇章:价值增长与财务安全的双重保障
随着全球金融市场的不断演变,长期投资策略因其稳健性和对价值增长的显著推动作用而日益受到投资者的重视。在这一背景下,Zeal Digital Shares(ZDS)项目以其创新的数字股票产品,为全球投资者提供了一个全新的长期投资平…...
灾备技术演进之路 | 虚拟化无代理备份只能挂载验证和容灾吗?只能无代理恢复吗?且看科力锐升级方案
灾备技术演进之路系列 虚拟化备份技术演进 摆脱束缚,加速前行 无代理备份仅能挂载/恢复验证吗? ——科力锐极简验证演练无代理备份来了 无代理备份无法应对平台级故障吗? ——科力锐应急接管无代理备份来了 无代理备份仅能同平台挂载吗&a…...
PowerShell install 一键部署Oracle23ai
Oracle23ai前言 Oracle Database 23ai Free 让您可以充分体验 Oracle Database 的能力,世界各地的企业都依赖它来处理关键任务工作负载。 Oracle Database Free 的资源限制为 2 个 CPU(前台进程)、2 GB 的 RAM 和 12 GB 的磁盘用户数据。该软件包不仅易于使用,还可轻松下载…...
【Kubernetes】常见面试题汇总(二十五)
目录 73.我们所有人都知道,从单片到微服务的转变解决了开发方面的问题,但却增加了部署方面的问题。公司如何解决部署方面的问题? 74.考虑一家拼车公司希望通过同时扩展其平台来增加服务器数量,公司如何有效地实现这种资源分配? …...
【踩坑】装了显卡,如何让显示器从主板和显卡HDMI都输出
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 背景介绍 装了显卡后,开机默认是从显卡的HDMI输出,但这很不方便。如何让视频仍然从主板输出?或者说让显卡HDMI和主板…...
spring boot启动报错:so that it conforms to the canonical names requirements
springboot 2.x的版本中对配置文件中的命名规范有了强制性的要求,如下图所示中的dataSource属性属于驼峰格式,但是在springboot 2.x中不允许使用驼峰形式。 根据错误提示可知将其使用 - 来分割即可 错误信息的含义:“Canonical names should…...
unix中如何查询和修改进程的资源限制
一、前言 一个进程在运行时,会用到各种资源,比如cpu的使用时间、内存空间、文件等等。那么,一个进程能够占用多少资源呢?cpu使用的时间有多长?进程空间有多大?能够创建多少个文件?这个就是本文…...
【LeetCode每日一题】——401.二进制手表
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 回溯 二【题目难度】 简单 三【题目编号】 401.二进制手表 四【题目描述】 二进制手表顶部…...
ROM和RAM的区别
ROM(Read-Only Memory,只读存储器)和RAM(Random Access Memory,随机存取存储器)是计算机系统中两种不同类型的存储技术,它们在功能、用途和特性上有显著的区别: 1. 存储数据的持久性…...
tomcat的配置
tomcat8最佳配置 <Executor name"tomcatThreadPool" namePrefix"catalina-exec-"maxThreads"500" minSpareThreads"100" prestartminSpareThreads"true"/><Connector executor"tomcatThreadPool" port&…...
SQL使用IN进行分组统计时如何将不存在的字段显示为0
这两天被扔过来一个脏活儿:做一个试点运行系统的运营指标统计。 活儿之所以称为“脏”,是因为要统计8家单位共12个项目的指标。而每个项目有3个用户类指标,以及分17个功能模块,每个功能模块又分5个维度的指标。也就是单个项目是1…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》
🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...
