斯潘8
第4排
我们通常希望将JSON文件转换为空间格式,如KML。然后我们可以在GoogleEarth中打开这个文件来显示。我们也可以选择使用几何图形(如形状文件)转换为任何其他格式。VertexCreator是一个将坐标附加到空值的转换器,点,线和弧几何,这将在下面的练习中使用。协调系统设置器变压器后面是属性创建器。在工作流程的最后是三个KML亚搏在线样式器,这在其他教程中介绍。
来源json:rentalstandardscurrentorganizations.json(文件)或ftp://webftp.couver.ca/opendata/json/rentalstandardscurrentorganizations.json
已完成的工作区:jsonread-json2kml.fmwt
温哥华市提供JSON格式的开放数据,如果您有兴趣了解更多数据,请浏览:http://data.couver.ca/datacatalogue/index.htm
在数据检查器或文本编辑器(如记事本+)中查看源数据。根据其结构是平面还是嵌套,我们将在读卡器中选择不同的参数。有四个选项可供选择:
1)具有自动模式扫描模式的JSON
2)带有JSON查询模式扫描模式的JSON
3)具有自动模式扫描模式的geojson
4)使用json查询模式扫描的geojson
1。从“开始”选项卡中选择“生成工作区”。
为了选择要用作特征类型的元素,必须打开一个JSON文件,在FME工作台中选择读取和属性。这个练习将使用温哥华市的数据,特别是“rentalstandardscurrencompositions.json”,这是一个2016年的数据集,包含一系列租赁问题。可以从温哥华市的开放数据目录(http://data.couver.ca/data catalogue/index.htm)下载json格式的文件。它将被读取并转换为一个kml文件。这些数据将被分类并显示在谷歌地球上。
2.第2条。指定读卡器数据集。
选择json作为“格式”。对于数据集,导航到下载的rentalstandardscurrentorganizations.json或复制并粘贴ftp://webftp.couver.ca/opendata/json/rentalstandardscurrentorganizations.json到数据集部分。
三。为读卡器设置参数。
输入读卡器的参数,将模式扫描模式设置为JSON查询。本例中使用了默认的JSON查询JSON[*]。如果单击特性对象JSON查询旁边的省略号“…”,可以看到文件的嵌套结构,并从列表中选择一个项来创建更具体的JSON查询。虽然auto模式可以用于更简单的JSON结构,我们将在这里使用json查询(jquery)模式,因为它更灵活。只有在jquery模式下,我们才能选择新树控件中感兴趣的特性,否则这些特性将变灰。将几何格式设置为geojson。
如果处理其他JSON数据,请考虑以下选项:使用简单的数据集,将架构扫描模式保留为自动,如果数据更为嵌套,请将几何类型设置为geojson,如果深度嵌套,则将模式扫描模式更改为jquery。
指定JSON数据集和参数
JSON查询树视图
JSON读卡器参数
第四章。设置写入程序参数。
请选择kml作为格式,并为输出数据选择一个目标。命名kml文件rentalstandardsisues.kml
5.选择功能类型。
当“选择要素类型”对话框提示时,取消选中元数据,然后单击确定。
6。在读卡器功能类型之后添加VertexCreator。
在VertexCreator Transformer参数中,为X值设置属性经度,为Y值设置属性纬度。
7。添加coordinateSystemsetter变压器
将坐标系参数设置为LL84。
8。添加attributeCreator转换器并创建新属性。
在新属性下添加属性“issueratio”。在“属性值”字段中单击,单击箭头选择下拉列表项“打开算术编辑器”。双击FME特征属性并输入要创建的其他字符:
@value(totaloutstanding)/@value(totalunits)*100
算术编辑器中的问题方程式
带有算术运算符结果的attributeCreator参数
9.添加kmlpropertySetter变压器
我们将添加的下一个转换器是kmlpropertySetter。在参数中,在导航树下,请将名称设置为“TOTALUNITS”。
10.添加属性过滤器变压器
下面的变压器“attributerangefilter”允许我们对数据进行分类。在“源属性的参数”下,选择“issueratio”。在范围查找表中,在“从”和“到”字段下输入范围的值。对于此示例,填充如下:
从 | 至 |
零 | 5个 |
五点零一 | 十 |
十点零一 | 100个 |
输出端口列将自动填充。请注意,您可以将您的工作流与本文末尾的工作流进行比较。亚搏在线
11。添加kmlstyler变压器
下一步涉及kmlstyler,它将被添加三次并连接到“currentIssues”编写器,该编写器将在我们指定的目录中输出一个名为rentalstandardsisues.kml的文件。
12。设置kmlstyler的参数
单击连接到最低范围端口(0..)的kmlstyler的参数。5)设置符号。在南志勋之下,单击名称旁边的省略号按钮[…]查看选项,将名称设置为蓝色三角形(A1)。将比例设置为0.5。
单击第二个kmlstyler属性,将中间范围的符号设置为5.01到10。在“名称”旁边的部分中选择一个橙色三角形(b2)。将比例设置为0.5。
第三个kmlstyler属性设置为绿色矩形(d2)。10.01至100,缩放至0.5。将三个kml样式连接到编写器“当前问题”。保存并运行工作区。
13.在Google Earth中显示分类记录
通过右键单击每个kmlstyler变压器并选择“连接检查器”,我们可以在数据检查器中显示这些点。右键单击Writer功能类型,然后选择“打开包含文件夹”以查找kml文件rentalstandardsisues.kml。在Google Earth中打开kml文件。您将看到显示单位数和颜色符号的点特征。记录将根据我们在kmlstyler中设置的符号以颜色编码显示。372条记录分为3个范围,105条,60和201记录在三个范围内。6条记录未过滤。
Google Earth查看温哥华当前的租赁问题,显示根据三个范围进行颜色编码的单元数量:蓝色的发生率为0到5,橙色有5.01到10个,绿色有10.01到100个租赁问题。
本练习演示了从JSON到空间格式(GIS)的简单数据转换。
JSON高级阅读
JSON编写概述
JSON使用JSontemplater编写
?2019安全亚搏在线软件公司|法律