我们付出一些成本,时间的或者其他,最终总能收获一些什么。
【由于上周,上班状态不是很好,事情多又杂,没有学习的劲头,就短暂的休息了一下下。双休爬山,给自己上了强度,今天才缓过来,下周又是五一了,估计要到五一后过渡一下,学习的劲头又能恢复了】
教程: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已经被公开。