以分割栅格为例实现FME模板的方案优化

article/2025/9/10 3:43:06

一、利用FME分割栅格

(一)问题的产生

对于FME使用者来说,利用FME完成栅格的批量分割是一件极为平常且容易的事情。只需要输入栅格和确定分割方案就可以实现利用FME对栅格数据的分割,再配合FME的“扇出”功能,就能够实现栅格文件的自动命名与输出。

 图一 FME分割栅格模板示意图

可是,如果我们面对的是一个SuperBigTif呢?

有这样一张Tif数据,范围覆盖全国,文件大小4.8个T,没有影像金字塔文件。需要将其发布到地图服务。由于没有影像金字塔,不支持服务发布,需要先对Tif进行重构影像金字塔。

在构建影像金字塔的过程中,由于数据过大,没有能够成功加载Tif数据的软硬件环境,导致无法对其进行影像金字塔的构建。

 图二 中国行政范围示意图(来源于高德)

需要对4.8个T的庞然大物进行分割,使得满足现有软硬件环境构建影像金字塔的服务。有了这个想法的时候,问题好像又回到了原点——无论是ArcGIS还是ArcGIS Pro,现有的硬件环境下都没有办法对这个Tif进行处理,经过尝试其他的软件,如Global Mapper、ENVI、ERDAS这些软件也因为其巨大的体积而无能为力。

实际上,FME常规的分割栅格方案对这个巨大的栅格进行分割也是必然会失败的,因为FME在现有硬件条件下也无法一次性完全将这个超大的Tif读取出来,最终会因为内存溢出而失败。

(二)解决的思路

FME在读取栅格数据(tif、img……)的时候就存在一个只读取指定范围部分的功能,这个特殊的功能就为我们处理超大栅格数据的时候留下了一线生机。我们一次只需要读取这个数据的小范围区域即可,读取多次后就能够覆盖读取全部范围。

这个范围参数在添加读模块的时候是没有办法将其设置为发布参数的,在读模块添加完成后在导航栏里面就可以进行参数的发布。借用发布参数我们就可以利用批处理来实现自动批量分幅。

根据全国的范围找来了1:10万标准分幅图,准备利用分幅图来提取范围作为批量处理的基础。

利用FME软件中WorkspaceRunner批处理转换器实现批量的处理。

(三)实现过程

1、制作基础转换模板:

(1)打开FME软件(建议使用64位的FME可以提高内存的使用率);

(2)添加TIFF读模块,并设置指定区域读写模式。 “Clip to Search Envelope”参数一定要勾选,这是关键;

 图三 FME中TIFF读模块设置指定读取区域示意图

(3)将指定区域参数设置为发布参数;

 图四 在导航栏进行参数发布

(4)创建输出tif文件名发布参数;

(5)添加写模块,并设置输出路径参数。

图五 基础模板及参数示意图

基础模板没有用到Clipper这个转换器,是因为设置了“Clip to Search Envelope”,也可以实现裁剪功能。

2、制作批量转换模板:

(1)打开FME软件(建议与基础模板同一个版本);

(2)添加1:10万标准分幅数据,作为批量模板的驱动因子;
 

 图六 1:10万标准分幅图

(3)计算每个分幅的四至坐标信息;

(4)添加“WorkspaceRunner”转换器并设置相关参数,并将其进行发布。

 图七 WorkspaceRunner参数设置

 想·图八 批量分割栅格模板

二、FME模板的优化思路

(一)抓住源头

FME是最适合数据生产、数据处理的一款软件,这是毋容置疑的,在众多ETL/自动化工具中FME基本免去了代码环节,适合一线数据处理人员进行快速的学习运用。并且在工具开发成本上是最为节约的,最大程度避免开发项目的“眼高手低”(开发成本高利润空间少,开发成本低却又没人愿意开发),由一线人员直接从实际需求出发解决现场问题。

所以FME的核心是尽可能多的将多个独立的子功能镶嵌到项目生产的每个环节,如果能形成体系就最好不过了。

由此,FME模板优化的第一个核心就是:放眼项目技术体系,综合考虑子功能。将各个工艺环节进行连通,形成工艺上的衔接,这样就可以避免因为工艺衔接而导致的模板功能的无法使用,减少意外情况的冗余开发。

(二)理解FME

我们在FME相关的技术推广普及中都会提及到一个词“快进快出”,FME是一个数据处理的流程,每一个模板都是经历数据“从左向右”的流水线模式,上一个节点任务完成后才能进行下一个节点任务。就像施工进度计划图一样,最长工期一定是整个网络路径中最长消耗时间。优化模板的方案以应该是从减少最大消耗时间开始。

 图九 施工进度计划网络图

减少时间消耗实现“快进快出”的方法:

  1. 合理分配储存数据,杜绝出现全国范围一张TIF的恐怖场景,减少读写压力。
  2. 提升软硬件配置,这是一个客观的物质基础,8GB内存条的缓存永远无法是128GB内存条的缓存相比拟的(非“唯武器论”)。
  3. FME的选择上使用64位软件的处理效率明显高于32位软件(但是需要考虑少数只支持32位软件的例外)。
  4. 尽量优化模板中的处理环节,避免或者减少阻塞类转换器的使用,比如:Sorter、FeatureMerger、Clipper、StatisticsCalculator……
  5. 学会利用批处理“WorkspaceRunner”功能,这里有一个误区就是很多使用者都希望一次做完整个数据。我们的核心是快速的得出正确的结果,我们需要的是这个功能能够正常运算并输出结果,而不是一次计算得出结果,如果涉及空间几何运算,数据量的“1+1=2”所花费的时间而不是时间消耗上的“1+1=2”,有可能是数倍不止。科学的化繁为简,将原本拥堵在高速上的车流疏通到徐徐前行是批处理的最要思想。
  6. 发掘FME功能上的其他优点,比如有_xmin,_ymin,_xmax,_ymax这四个参数,我们是通过多次“VertexCreator”来实现BOX还原还是通过“2DBoxReplacer”一步来完成呢,只有逐步去发掘FME本身的优点才能减少模板过程中的弯路。
  7. 多多总结积累FME模板过程的优秀的技巧,比如,读写模块本身就支持我们一次性读取某个数据源的全部要素和自动写出模式。DWG文件中有100个图层,我们是选择先读取全部后根据图层名称来筛选的方式还是单个图层读取后再来逐个连接的方式呢?事实上整个过程中将足够的技巧积累后我们写出的模板会减少很多意外报错情况的发生,从而从另一个层面实现了模板的优化。
  8. 好的模板都是优化修改而来的,这是一个共识,在不断的数据运行处理的过程中,我们通过不断暴露的问题来优化我们的解决方案才能发现前面模板中的不足并加以改进,一旦到了改无可改的地步了,这个模板也一定是最优化的方案了。

http://chatgpt.dhexx.cn/article/02t6obiM.shtml

相关文章

FME在测量平差上面的运用

一、基本原理 测量平差是德国数学家高斯于1821~1823年在汉诺威弧度测量的三角网平差中首次应用,以后经过许多科学家的不断完善,得到发展,测量平差已成为测绘学中很重要的、内容丰富的基础理论与数据处理技术之一。 图一 三角网平…

FME基础入门学习(一)

文章目录 一、FME Data Inspector二、FME WorkBench三、基础实验操作1.将dwg文件转换为SHP数据格式,并保留:颜色、线型两个属性,并为这两个属性设置别名(快速创建模板方式,快速创建缺点是无法修改输出名称,…

【FME实战教程】003:FME读取地理空间数据(矢量、栅格、点云、三维模型、数据库、地理服务)大全

FME读取地理空间数据(矢量、栅格、点云、三维模型、空间数据库、地理服务)大全。 文章目录 1. FME读取数据1.1 读取矢量1.1.1 读取Shapefile1.1.2 读取dwg 1.2 读取栅格数据1.2.1 影像DOM 1.3 读取地理数据库1.3.1 读取文件数据库(.gdb&#…

FME模板工具使用的中文版详细教程

目录 一、总体介绍 二、FME教程推荐 三、FME模板使用教程 一、总体介绍 FME工具在使用前请自行安装相应版本的FME软件,本教程操作使用的软件版本为FME2020.2。一般情况下,高版本的FME会兼容低版本FME编写的工具。所有的“.fme”格式的FME工具&#x…

FME常用转换器汇总

汇总一下FME常用转换器的使用方法和使用场景,方便随时查阅。 对象分析 【Tester】——筛选 用于按属性筛选要素或表。类似工具还有【TestFilter】。 【Sorter】——排序 根据某个字段进行排序,可选择数值或是字母,升序或是降序。 【Geomet…

设置css阴影和取消css阴影

之前用mui布局样式,但是一直都会有这个阴影,在浏览器调试也调试没用 这是设置阴影 /* 长 宽 模糊度 颜色*/ box-shadow: 0 1px 6px #ccc; 取消的话直接设置为0就行了,不建议直接去mui.css里面删掉,如果改掉mui里面的样式全部的样…

CSS高级篇——阴影

阴影可以让元素“浮起来”,盒子(box)和文本都可以用。 盒子阴影 box-shadow 属性值有一串: box-shadow: 5px 5px 3px 1px #999第一个值表示水平位移,正数往右,负数往左第二个值表示垂直位移,…

CSS的阴影

🌟 所属专栏:前端只因变凤凰之路 🐔 作者简介:rchjr——五带信管菜只因一枚 😮 前言:该系列将持续更新前端的相关学习笔记,欢迎和我一样的小白订阅,一起学习共同进步~ 👉…

用 CSS 设计漂亮的阴影,css阴影和原理,所有知识点多图动画演示

文章目录 1.为什么要使用阴影?好处 2.动画讲述原理2.1创建一致的阴影2.2投影角度2.3海拔2.4总结: 3.实战技巧3.1分层3.2颜色匹配阴影3.3总结 4.最后讲一下:filter: drop-shadow 以我的拙见,好的网站和 Web 应用程序应具有“真实”…

CSS系列之盒子阴影box-shadow(CSS3)

文章の目录 1、属性值规则2、取值2.1、inset 内/外阴影2.2、<offset-x> <offset-y>水平阴影/垂直阴影2.3、<blur-radius>模糊距离2.4、<spread-radius>阴影的尺寸2.5、<color>阴影的颜色 3、示例4、注意点写在最后 用于在元素的框架上添加阴影效…

HTML5生日祝福网页代码【粉色生日快乐模板】HTML+CSS+JavaScript

这是程序员表白系列中的100款网站表白之一&#xff0c;旨在让任何人都能使用并创建自己的表白网站给心爱的人看。 此波共有100个表白网站&#xff0c;可以任意修改和使用&#xff0c;很多人会希望向心爱的男孩女孩告白&#xff0c;生性腼腆的人即使那个TA站在眼前都不敢向前表白…

制作粉色少女系列❤生日快乐祝福网页❤(HTML+CSS+JS)

制作生日快乐祝福网页&#xff08;HTMLCSSJS&#xff09; 程序员爱情❤520/表白/七夕情人节/求婚❤专用html5css3js 生日快乐网站模板 HTML生日快乐祝福网页模板&#xff0c;该模板有多种动态效果图&#xff0c;全局采用蓝色装饰&#xff0c;适用于给女朋友的生日祝福&#xf…

HTML+CSS+JS制作一个生日祝福网站(程序员专属情人节表白网站)

❤ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套) 】 &#x1…

HTML5浪漫生日祝福电子贺卡网页模板(HTML5+CSS3+JS)_520表白/七夕情人节表白/告白网页制作/生日快乐html模板

htmlcssjs实现生日快乐代码&#x1f382;超炫酷效果&#x1f382;(含生日背景音乐)❤520/表白/七夕情人节/求婚❤专用炫酷动画网页的源代码 程序员爱情❤520/表白/七夕情人节/求婚❤专用html5css3js 生日快乐网站模板 HTML生日快乐祝福网页模板&#xff0c;该模板有多种动态效果…

如何做一个网页送给女朋友做生日礼物

如何做一个网页送给女朋友做生日礼物 本文里面涉及到python&#xff0c;HTML &#xff0c;css,JavaScript的知识&#xff0c;是基于python的flask框架做的一个小型网站&#xff0c;里面可以实现跳转功能&#xff0c;怎么配置flask的环境变量&#xff0c;去官方文档看就好了&am…

html生日祝福网站 html生日快乐网页代码 程序员专属情人节表白网站

❤ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套) 】 &#x1…

在线生日快乐网站,可以在线访问,通过网址!

在线生日快乐网站&#xff0c;可以在线访问&#xff0c;通过网址&#xff01; 详情可私信&#xff01; 详情可私信&#xff01; 点击查看详情

制作粉色少女系列 生日快乐祝福网页(HTML+CSS+JS)

程序员爱情❤520/表白/七夕情人节/求婚❤专用html5css3js 生日快乐网站模板 HTML生日快乐祝福网页模板&#xff0c;该模板有多种动态效果图&#xff0c;全局采用蓝色装饰&#xff0c;适用于给女朋友的生日祝福&#xff0c;只需简单修改&#xff0c;即可用网页生成打开。 戳下方…

HTML5生日蛋糕网页设计与制作 生日祝福制作代码 生日快乐网页模板【生日蛋糕树】HTML+CSS+JavaScript html七夕情人节网页制作

这是程序员表白系列中的100款网站表白之一&#xff0c;旨在让任何人都能使用并创建自己的表白网站给心爱的人看。 此波共有100个表白网站&#xff0c;可以任意修改和使用&#xff0c;很多人会希望向心爱的男孩女孩告白&#xff0c;生性腼腆的人即使那个TA站在眼前都不敢向前表白…

❤生日快乐网站模板HTML❤(精品制作)(HTML5+CSS3+JS)

生日快乐网站模板HTML&#xff08;精品制作&#xff09;&#xff08;HTML5CSS3JS&#xff09; 最近姐姐的生日快到了&#xff0c;想着也没有什么礼物送给她&#xff0c;恰好因为CTF的原因学了点HTML和JavaScript&#xff0c;就做了两个网页&#xff0c;当然因为网页(wo)很(ye)…