FME动态转换

article/2025/9/10 3:45:30

FME动态转换

    • 什么是动态转换
    • 创建动态转换
      • 动态读模块
      • 动态写模块
    • 动态结构处理
    • 动态结构
      • 动态要素类型
      • 动态属性
      • 结构几何定义

B站视频凑合看: 创建动态转换
结构处理(要素,属性,几何类型)

什么是动态转换

大多数转换要考虑源数据的结构(我们拥有的)和用户的目标数据的结构。需要(我们想要的)。动态转换的布局既不反映源结构,也不反映目标结构。它是一种通用布局,旨在处理数据,而不考虑使用的结构。

动态读模块
在读模块方面,动态工作空间与使用合并参数非常相似。要素类型可自由进入工作空间,无论它们是否在其中定义。无论属性或几何类型如何,也会读取数据。

动态写模块
动态工作空间的写模块端模仿读模块部分;要素类型将写入目标数据集,无论它们是否在工作空间中定义。
此外,所有属性和几何都会被写入,无论它们是否也在写模块要素类型中预定义。

创建动态转换

当作者使用“生成工作空间”对话框创建转换时,所谓的工作流有两个选项:静态结构和动态结构。

“静态结构”选项是包含结构的工作空间的默认值。选择“动态结构”选项将创建一个具有动态读模块和写模块的无结构工作空间。
但是,也可以创建一个工作空间,其中只有读模块是动态的,或者只有作者…

动态读模块

“添加读模块”对话框具有类似的静态和动态选项;但是,在本例中,我们尝试通过标注它们“单个要素类型”和“单个合并要素类型”来使它们更加用户友好:
在这里插入图片描述

实质上,动态读模块类似于仅设置合并要素类型选项。

动态写模块

添加写模块对话框包含有关如何定义要素类型及其属性的选项。最常用的是手动和自动。还有一个选项可以在动态模式下添加写模块:
在这里插入图片描述

注意:
自动与动态。自动属性从与其连接的任何转换器中获取其定义。如果“源数据集”参数发生更改,则该更改将不起作用。
动态属性是不同的。如果更改了SourceDataset参数,则属性定义将来自读取的任何源数据,而不管连接到该源数据的内容如何。

动态结构处理

蛋蛋的,对于读模块来说,真正发生的只是打开了合并功能类型设置:

但是,对于写模块,对话框稍微复杂一些:
在这里插入图片描述

结构的三个组件1)要素类型、2)属性、3)几何、都具有不同的设置方式。

源数据结构
默认情况下,动态转换中的写模块结构不是在工作空间中定义的,而是由源数据集定义的。因此,无论选择什么数据集作为输入,都会定义所选的输出结构。
但是,写模块要素类型中的参数允许我们更改该结构的定义方式。我们可以选择将结构从完全不同的数据集带到源。
写模块功能类型具有标记为“结构源”的动态参数:
在这里插入图片描述

此参数定义将从何处获取目标结构。默认情况下,此参数设置为正在读取的任何源数据集。这样,输出结构始终是输入的副本。
但是,可以将其设置为使用任何格式的任何读模块数据集作为传出结构的源。
在这里插入图片描述

例如,此处的工作空间作者正在将公园数据转换为Esri地理数据库,但已选择Excel电子表格作为输出数据集的所需结构。
如果数据是扇出的(例如通过NeighborhoodName),则Excel电子表格应该为每个邻域提供不同的工作表,并且该结构将用作结构此工作空间中的输出。

结构源读模块
可以将“源结构”参数设置为指向任何读模块作为动态结构的源。但是,在大多数情况下,我们从数据集中需要的只是结构,而不是数据。
这是可以使用结构源读模块的地方。
结构源读模块是返回数据集结构但不返回数据的读模块。一个是使用菜单栏上的“读模块”>“将读模块添加为资源”添加的:
在这里插入图片描述

在这里,用户将PostGIS数据库添加为资源,并显示在“导航”窗口中:
在这里插入图片描述

一旦可用,资源读模块就可以用作动态写模块的源结构。

为什么使用外部结构?
使用外部数据集结构的主要原因是遵循固定数据标准。也许最有用的方面是,如果数据集的结构发生更改,则工作空间会自动使用它。无需手动更新工作空间,因为输出要求已更改。

SchemaMapper转换器对于将数据与所需的结构进行协调非常有用-这是因为SchemaMapper也可以使用外部查找表,这意味着动态可以更改工作空间以满足任何所需的输出结构,而无需在workbench中进行编辑!

动态结构

动态要素类型

结构有三个主要组件:
要素类型
属性
几何类型

定义要素类型名称
在静态写模块要素类型中,要素类型名称通常为固定值。但是,它也可以通过属性(或从属性构造的字符串)来定义。我们称之为Fanout。
在动态平移中,会自动设置扇出。默认情况下,名为fme_feature_type的FME属性用作要素类型名称:
在这里插入图片描述

fme_feature_type是一个FME属性,用于在传入要素上存储原始要素类型的名称。默认使用此属性是有意义的,因为这样所有数据都将写入与其来源相同的要素类型,并且我们得到的输出是输入的副本。
但是,如果您愿意,没有理由不能使用其他属性来定义一组不同的输出要素类型:
在这里插入图片描述

例如,在这里,作者使用NeighborhoodName来提供要创建的图层的名称。例如,要素可能具有“市中心”、“西区”或“锦绣”值。
在运行时,FME会查找每个源结构,以查找名为Downtown的表。它将使用该表的结构来定义动态写模块输出中允许的属性和几何图形。
结构要求

当然,请注意,这与扇出并不完全一回事。扇出从静态定义创建图层。动态工作空间从其他位置(源结构)获取该定义。因此,所选要素类型名称必须与该源结构中存在的图层匹配。

动态属性

定义属性名称
这可能是动态转换中最复杂的部分,所以让我们一步一步地进行解释,在必要时回到一些旧的地方。
正如我们所看到的,在动态转换中,每个传入的要素都有一个属性(fme_feature_type或其他属性),该属性指定到哪个要素键入要写入的数据。
结构源参数定义这些要素类型的存在位置,并使用它们来定义写入输出的属性和几何类型。
在这里插入图片描述

例如,在这里,我们有一组正在写入Esri地理数据库的公园数据。请注意,输出要素类型(表)名称设置为邻域名称属性。
结构是从Excel电子表格中获取的,并添加为资源读模块。如果对于特定功能,NeighborhoodName=“Strathcona”,则作者在Excel电子表格文件中查找名为Strathcona的工作表,然后写入使用与该表相同的属性的要素。
但是。…在此对话框的“源结构”参数下方是“结构定义名称”的设置。结构定义名称将覆盖属性定义:
在这里插入图片描述

例如,在这里,用户仍指定NeighborhoodName以提供要写入的要素类型,但通过说它们必须来自表来覆盖属性叫公园。

结构定义名称是一个固定值,所有输出要素类型都具有相同的属性定义。但是,结构定义名称也可以来自属性;意味着一个属性定义要素类型名称,另一个属性定义属性结构将从中获取的要素类型!

添加或删除属性
除了指定要使用的属性集外,有时(即使在动态转换中)也需要添加或删除特定属性。这很简单。
添加新属性
将新属性添加到动态要素类型的所有输出中,只需编辑要素类型定义以添加该属性即可:
在这里插入图片描述

换言之,添加到要素类型定义中的任何属性都会添加到通过该定义输出的所有要素中,而不管源结构或资源结构如何。
例如,在上面,用户添加一个属性以在工作空间中存储区域计算器转换器的结果。
删除属性
删除现有属性是通过动态结构定义对话框完成的。该对话框的底部是用于删除属性的字段:
在这里插入图片描述

编辑[…]按钮将打开一个对话框,您可以在其中选择或手动输入源结构中但不希望在输出中显示的属性
动态几何类型
结构的三个主要组件:
要素类型
属性
几何类型
…最后一个要研究的是几何类型;特别是工作空间作者如何确定哪些几何对特定要素类型有效。

结构几何定义

输出数据集中允许的几何类型取决于所使用的格式。某些格式允许任何几何(或几何混合)存在于要素类型中。
但是,某些格式不允许在单个要素类型中混合使用几何,这可能会导致问题。
例如,地理数据库写模块要素类型允许您选取该文件中允许的几何:
在这里插入图片描述

在动态工作空间中,这种情况会发生变化。允许的几何类型取决于所选结构中定义的几何类型:
在这里插入图片描述
注意
默认情况下-当源结构与读模块正在读取的源数据相同时-则允许的几何是该源数据集的副本。
但是,当源结构参数更改为指向另一个数据集时,允许的几何类型即由该数据集的结构定义。
如果要写入的数据的几何与该结构不同,并且目标格式不支持多种几何类型,则将删除要素。

固定几何定义
即使在动态转换中,工作空间作者也可以将允许几何图形的动态结构参数设置回固定值。例如,作者可以选择geodb_polygon(对于地理数据库)或shape_polygon(对于Shapefile)。
这将覆盖所选结构源定义的几何,以便可以写入面要素(但仅限面要素)。

以第一个要素定义几何
用于定义几何类型的另一个选项是“第一个特征定义几何类型”。
在这里插入图片描述

在动态平移中,几何类型可能难以处理,因为对于源数据中可能存在哪些几何类型以及效果如何存在一定程度的不确定性它们将与源结构中指定的几何类型匹配。但是,这种相同的不确定性使得难以设置固定的几何定义。
“第一个特征定义几何类型”选项可解决此问题。选定后,到达写模块的第一个特征将设置几何类型。这样,作者就不需要事先知道正在处理的几何图形或结构允许的几何图形。
例如,如果第一个要素是面,则该要素类型的几何类型将设置为仅面;如果发往相同要素类型的后续要素不具有相同的面几何,则将拒绝这些要素。


http://chatgpt.dhexx.cn/article/vXHT36iK.shtml

相关文章

FME助力新型基础测绘之存量测绘成果数据转换地理实体

​ 目前,新型基础测绘建设正在如火如荼地进行中,它是对传统基础测绘业务的转型升级,是测绘地理信息服务的发展方向和基本模式。要想充分了解新型基础测绘建设的核心内容,地理实体是必不可少的一个关键要素。 地理实体是指现实世…

使用FME 批量OSGB转FBX(OBJ) (亲测)

首先感谢这个UP主(这种好视频,必须支持):OSGB单体模型批量转FBX,并保留原有文件目录_哔哩哔哩_bilibili 视频地址:链接:https://pan.baidu.com/s/18JCTpgAhWT1l5x8zJW9q0A?pwdr25e 提取码&am…

FME自动实现CAD转PDF的几种方式——以标准房屋建筑面积测算表为例

买房 对许多人来说都是人生大事之一, 关乎着定居、关乎着家庭、关乎着人生的再进一步。 要说买房以后最期待的事情是什么? ——拥有红本本,肯定是最重要的一项。 细心的你不难发现,房本除了房屋信息、房主信息以外还包含房屋平…

FME在变更地类流向统计中的应用

“国土变更调查”是全面查清我国土地利用状况,掌握详实准确的土地基础数据,摸清家底,提高土地资源的信息化管理和社会化运用,保障我国国民经济平稳健康发展,以及促进国土资源的合理开发和可持续利用的一项年度工作。 …

基于FME实现不动产数据一键导出自然资源部汇交格式

基于FME实现不动产数据一键导出 自然资源部汇交格式 自2015年中华人民共和国国务院令第656号签《不动产登记条例施行》施行。各省市区县在2017年相继成立不动产登记机构,整合原有国土部门土地登记。房管部门房产登记,林业部门的林业登记,实…

安装 FME Desktop 2020 教程(内置补丁可以有效激活软件)

介绍:FME Desktop 2020是由加拿大Safe Software公司开发的空间数据转换处理系统,采用先进的数据转换技术,内置几十个转换器,能够满足绝大部分用户的空间数据格式转换功能。除此之外,该软件基于OpenGIS组织提出的新的数…

利用FME PythonCaller调用7z解压压缩包

利用FME PythonCaller调用7z解压压缩包 一、概述 在一些项目中有时候需要对文件目录完整性进行检查,而需要检查的数据又是压缩包的形式。我们都知道FME可以直接读取压缩包里的文件,当通过FME FeatureReader转换器去读取路径时,发现压缩包里面…

FME2020安装

1、先安装fme-flexnet-win-x64.msi 弹出txt后修改dummy.txt 修改后的dummy.txt 计算机名 ID 双击"makekey.bat" 生成safe.lic 2、安装fme-desktop-2020.0-b20200-win-x64.msi 3、将safe.lic拷贝到C:\Program Files\FlexServer\下 4、激活下

基于FME实现地铁路径规划

在建设智慧城市的背景下,智慧交通、智慧出行等建设在近几年日常生产、生活中占比逐渐加大。 路径规划是智慧交通、智慧出行建设过程当中较重要的专题分类。不管是百度、高德等公共服务平台,亦或是地方政府部门都在大力推动导航发展。路径规划作为数据导…

安装FME

一、FME软件获取 在 FME中国官方下载选择合适的版本,演示安装的是32位“FME Desktop 2022.2 for Windows”版本。 二、手动安装 1、安装“SafeFLEXlmInstaller” 2、安装“FME_Ddesktop” 3、安装“中文包” 4、官方许可 点击免费试用,申请官方许可。…

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

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

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 应用程序应具有“真实”…