FME学习之旅---day26
我们付出一些成本,时间的或者其他,最终总能收获一些什么。
【由于上周,上班状态不是很好,事情多又杂,没有学习的劲头,就短暂的休息了一下下。双休爬山,给自己上了强度,今天才缓过来,下周又是五一了,估计要到五一后过渡一下,学习的劲头又能恢复了】
教程:JSON 入门
本教程系列概述了如何使用 FME 读取、写入和转换 JSON 数据。
【由于工作的需要,会频繁的使用到json文件中存储的wkt格式的坐标数据,需要将其转换成shp;或者人工确定json中某一固定属性对应的值等一些重复枯燥的人工核实任务,所以想看一下FME中能否有较好的解决方法】
阅读JSON
JSON 读取器自动模式
1. 打开 FME Workbench 并添加 JSON 读取器

2.将 JSON 读取器架构扫描模式更改为 JSON 查询

表视图”将报告数据没有架构,但使用“要素信息窗口”会显示列表属性。仅包括天气的子数据,而不包括机场、城市等父数据:

从 JSON 中提取位置
案例中涉及的主要是将json中的点坐标暴露后,进行点要素的空间化,设置相关的样式,导出为KML格式。

1.添加JSON相关的读模块
根据教程中的下载相应的json数据,添加到读模块中

设置参数时,Schema Scan Mode为Auto(自动)

2.使用AttributeCreator将未暴露的坐标进行暴露,也可使用 AttributeExposer 转换器进行暴露

3.使用VertexCreator转换器,进行点坐标的空间化

4.使用CoordinateSystemSetter转换器,进行坐标系的设置,将坐标系定义为LL84

5.使用KMLPropertySetter转换器,设置fields.totalunits为点的标签

6.使用KMLStyler转换器,对样式进行设置
KMLStyler转换器说明:为一组输入到OGCKML写模块的要素创建公共样式。


7.添加KML写模块,属性定义采取自动的模式

没有安装谷歌地球,直接在FME中空间化的效果。

高级 JSON 读取

1.使用JSON读模块读取,读取floods.json文件
其中,items{}.floodArea.polygon 属性中存放了json文件的相关地址


我们必须提取链接到多边形数据的 URL,并使用它们将几何体读取到我们的工作空间。
对读模块的参数进行设置,将Schema Scan设置如下

对读模块进行预览,能看到floodArea.polygon已经被公开。

2.使用FeatureReader转换器
FeatureReader转换器说明:


“生成输出端口”对话框将询问您是否要提供用于生成输出端口的数据集,但在本例中,我们不需要这样做,因此我们可以单击“取消”。
示例中添加了KMLStyler转换器和KML写模块,上个例子中已经学习过,就直接使用Inspectors进行查看。

编写 JSON
JSON 编写器提供了一种快速简便的方法来将数据转换为 JSON 格式。但是,它只适合编写不嵌套的平面 JSON。
分布说明
第1部分:编写JSON

1.读模块读取Excel文件,publicart.xlsx

点击参数,可以看到Excel表的详情

2.添加写模块
添加JSON写模块,在参数设置中,进行如下修改。

3.在notepad++中显示输出的json文件

这一点说明,FME 的 JSON 编写器最适合用于不需要嵌套的情况。
第2部分:编写GeoJSON

GeoJSON 是一种 JSON 规范,用于处理地理数据的几何编码。

使用 JSONTemplater 编写 JSON
文章详细介绍了如何使用 JSONTemplater 和文本文件编写器编写嵌套JSON。
1.首先查看提供JSON文件publicart.json,是比较简单的并列结构,无嵌套

在FME中是如下的显示

相关文章:
FME学习之旅---day26
我们付出一些成本,时间的或者其他,最终总能收获一些什么。 【由于上周,上班状态不是很好,事情多又杂,没有学习的劲头,就短暂的休息了一下下。双休爬山,给自己上了强度,今天才缓过来…...
JAVA学习-练习试用Java实现电话号码的字母组合
问题: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits "23" 输…...
js代码中关于async await的滥用 async await的滥用
概念: 返回值: async返回一个promise---这个返回值是默认自发行为 async function name1(params) {console.log(params) } let result name1(lion) console.log(result) // Promise { undefined } result.then(res > console.log(res)) // undefin…...
基础算法,贪心算法,贪心策略,OJ练习
文章目录 一、概念二、OJ练习2.1 区间选点2.2 区间合并2.3 区间2.4 合并果子2.5 排队接水2.6 货仓选址2.7 防晒2.8 畜栏预定2.9 雷达设备2.10 国王游戏2.11 耍杂技的牛2.12 给树染色2.13 任务2.14 能量石 三、总结 一、概念 贪心是一种在每次决策时采取当前意义下最优策略的算…...
一文讲透亚马逊云三层架构
关于三层架构,我们有很多想说的话: (以下内容以下都在VPC中) cloudfront做CDN加速网关规划S3做静态网站托管APIGateway作为统一网关入口认证/限流Lambda 作为传统后端,并发,底层架构Redis缓存DDB作为持久化…...
只需3步,使用Stable Diffusion无限生成AI数字人视频(附安装包)
基本方法 搞一张照片,搞一段语音,合成照片和语音,同时让照片中的人物动起来,特别是头、眼睛和嘴。 语音合成 语音合成的方法很多,也比较成熟了,大家可以选择自己方便的,直接录音也可以&#…...
RustGUI学习(iced)之小部件(七):如何使用图像image部件来显示图片?
前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第七篇,主要讲述图像Image部件的使用,会结合实例…...
Substrate 入门课第 14 期圆满结束,岗位内推直达知名 Web3 项目!
Substrate,一个完全免费且开源的框架,利用 Rust 语言的强大功能和安全性,为全球开发者提供了一个高效和灵活的开发环境。借助其模块化的设计,即使是新手开发者也能在短短 15 分钟内搭建起定制化的区块链。自 2020 年以来ÿ…...
android进阶-AIDL
参考:Android进阶——AIDL详解_android aidl-CSDN博客 AIDL(Android 接口定义语言),可以使用它定义客户端与服务端进程间通信(IPC)的编程接口,在 Android 中,进程之间无法共享内存&…...
贪心算法-活动选择问题背包问题
目录 活动选择问题 无重叠区间-Leetcode 435 分数背包问题--贪心解法 贪心法 0-1 背包问题 贪心法 贪心算法的局限 Set cover problem 活动选择问题 分析: /* 要在一个会议室举办n个活动 - 每个活动有它们各自的起始和结束时间 - 找出在时间上互不冲突的活动组合,能…...
Web3工具集合 - 00
使用 React 和 Material-UI 构建的 Web3 工具集合 大家好! 我很高兴向大家介绍我最近刚启动了一个项目:Web3 工具集合。 这个项目的目的是一个集成各种 Web3 工具的网站,旨在为开发人员和加密货币爱好者提供便捷的工具和资源。 特点&#…...
分布式与集群的区别
先说区别: 分布式是并联工作的,集群是串联工作的。 分布式中的每一个节点都可以做集群。而集群并不一定就是分布式的。 集群举例:比如新浪网,访问的人很多,他可以做一个集群,前面放一个相应的服务器&…...
学习心得:如何开始学习一款MCU
一、MCU简介 任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址…...
顺序表的实现(迈入数据结构的大门)(1)
上一节我们认识到了什么是数据结构 这一节我们就来实现第一个数据结构的实现 思考一个问题: 假定一个数组,空间为10,已经使用了5个,向其中插入数据的步骤: 1.插入数据,我们先要求数组长度,其…...
RERCS系统-WDA+BOPF框架实战例子 PART 1-新建List UIBB(列表组件)并分配Feeder Class和Node Element
需求背景: 已有的项目主数据功能,新增一个列表UIBB显示主数据额外的关联数据明细。 1、Fiori页面通过右键-技术帮助打开对应的组件配置; 2、双击对应的组件配置,调整对应的页面新建UIBB; 3、填写对应的UIBB属性字段&a…...
如何从 iPhone 恢复已删除或丢失的联系人?
不小心删除了您的 iPhone 联系人?不用担心。我们将向您展示如何从 iPhone或 iPad恢复已删除或丢失的联系人。当您从 iPhone 中删除联系人时,您可能认为无法将其恢复。但事实是,您可以从 iPhone 或 iPad 恢复已删除的联系人,因为它…...
RISCV 外部GCC 工具链安装@FreeBSD15
在交叉编译的时候,可以使用FreeBSD15默认的工具链:LLVM 也可以使用GCC工具链,GCC可以使用现成pkg包安装,也可以编译安装。 LLVM的特点是高移植性和高效,但学习成本高。GCC的特点是成熟稳定,但优化能力有限…...
全栈开发之路——前端篇(9)插槽、常用api和全局api
全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 第二篇:介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇:setup语法,设置响应式数据。 第四篇:数据绑定、计算属性和watch监视 第五篇 : 组件…...
减瘦误区、雷点、陷阱和挑战怎么应对
在减瘦过程中,很多肥胖人群都容易踩到坑。比如陷入误区,认为只有短期快速的减调方式方法,才值得尝试,而忽视身体健康;或是踩到雷点,轻信强速方剂或方法,结果身体产生了排斥或根本没效用白花钱&a…...
Leetcode—946. 验证栈序列【中等】
2024每日刷题(133) Leetcode—946. 验证栈序列 实现代码 class Solution { public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {int left 0;for(int i 0; i < popped.size(); i) {while(left &…...
VR视频转换:让3D内容在普通设备焕发新生的开源方案
VR视频转换:让3D内容在普通设备焕发新生的开源方案 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mirro…...
手把手解决Simulink与贝加莱Automation Studio联调的5个典型报错(附详细截图)
手把手解决Simulink与贝加莱Automation Studio联调的5个典型报错(附详细截图) 在工业自动化领域,Simulink与贝加莱PLC的联合开发已经成为复杂控制系统设计的黄金组合。但当你满怀期待地将精心设计的Simulink模型转换为Automation Studio可执行…...
QIP 2023:亚马逊量子计算三篇论文突破
量子技术 某机构在QIP 2023发表的量子计算论文 针对“超级Grover”优化、拓扑数据分析的量子算法以及物理系统模拟的研究,展示了某机构在量子计算领域的广泛兴趣。 作者: Fernando Brando 日期: 2023年2月2日 阅读时间: 7分钟 在今…...
python-flask-djangol框架的 综合游戏攻略社区论坛交流系统的设计
目录需求分析与功能规划技术栈选择数据库设计核心功能实现社区互动设计性能优化安全措施部署与测试扩展功能项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析与功能规划 明确游戏攻略社区的核心需求:用户注册…...
别再让死区拖后腿!用MATLAB Simulink给SVPWM逆变器做个精准‘补偿手术’
电力电子工程师实战:用MATLAB Simulink实现SVPWM逆变器的死区补偿 在电力电子系统设计中,死区效应就像电路板上的隐形杀手——它不会立即摧毁你的系统,却会悄无声息地降低整体性能。作为一名长期奋战在电机控制一线的工程师,我见过…...
三步搞定QQ空间历史说说备份:GetQzonehistory完整使用指南
三步搞定QQ空间历史说说备份:GetQzonehistory完整使用指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还在担心QQ空间的珍贵回忆会丢失吗?GetQzonehistory是…...
BiliTools全平台高效解决方案:从新手到进阶的B站资源管理指南
BiliTools全平台高效解决方案:从新手到进阶的B站资源管理指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bil…...
从游戏到医疗:用Touch™和OpenHaptics 3.5解锁Windows力反馈应用新场景(附Unity与C++双环境配置要点)
从游戏到医疗:Touch™力反馈技术的跨界应用与开发实践 想象一下,外科医生在虚拟手术训练中感受到真实的组织阻力,汽车维修学员通过触觉反馈"触摸"到发动机零件的磨损痕迹,游戏玩家在射击游戏中体验到不同武器的后坐力差…...
WarcraftHelper终极指南:解锁魔兽争霸3现代硬件潜力的完整方案
WarcraftHelper终极指南:解锁魔兽争霸3现代硬件潜力的完整方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸3作为经典的即时战…...
基于事件触发机制,具有延时矩阵的固定时间共识
基于事件触发机制,具有延时矩阵的固定时间共识在分布式系统中,共识问题一直是个老大难。今天咱们聊聊一个挺有意思的解决方案——基于事件触发机制,带有延时矩阵的固定时间共识。听起来有点高大上?别急,咱们慢慢拆解。…...
