斯潘8
斯潘4
这是另一个伟大的Web服务的演示www.geonames.org网站以及JSONexploder公司和JSONextractor公司使用。
地名有,在许多其他方面,从边界框内的气象站返回最新天气信息的服务。我的例子是一个代表美国大陆部分的特征,缓冲它,提取北方坐标,南方,东西两侧,并将以下URL发送到服务:
http://ws.geonames.org/weatherjson?北=52.38&南…
如你所见,URL包含单词json。这意味着结果将以这种格式发送回,并分配给一个属性(在我的示例中是“url”内容)。我们有两个处理JSON的变压器,它看起来如下(只是一小部分):
“气象观测”:[“云”:“N/A”,“气象条件”:“N/A”,“观测”:“K1P1 190540Z Auto 00000kt 10sm clr 01/00 A3004 rmkao2”,“风向”:0,“ICAO”:“K1P1”,“LNG”:-71.75,“温度”:“1”,“露点”:“0”,“风速”:“00”,“湿度”:93,“StationName”:“普利茅斯,普利茅斯市机场”,“DA”tetime“:”2008-04-19 07:40:00“,”lat“:43.783333333333,”clouds“:”n/a“,”weathercondition“:”n/a“,”observation“:”kafp 190540z auto 21004kt 10sm clr 16/07 a3002 rmkao2“,”winddirection“:210,”icao“:”kafp“,”lng“:-80.0677777777778,”temperature“:”16“,”dewpoint“:”7“,”windspeed“:”04“,”humidity“:55,”stationamE“:”瓦德斯博罗,安生县机场,“日期时间”:“2008-04-19 07:40:00”,“纬度”:35.01694444444……
很难读懂,不是吗?第一台变压器,jsonexploder公司,将属性拆分为单独的功能,其数量由URL中的maxrows参数和可用气象站的数量定义。对它的JSON查询是JSON[“天气观测”][*]-它以数组“weatherobservations”和通配符作为索引,这意味着所有元素都应该提取到特征中。
连续的JSonextractor转换器将属性值提取到新创建的属性中。例如,参数'json query'设置为JSON[温度]和“target attribute”设置为温度将创建属性温度把气象站的温度加进去。检查工作区以查看提取的所有属性,但其中两个——拉丁美洲和液化天然气让我们可以创造点。
剩下的是简单的点用于构建DEM,DEM有助于创建轮廓-此方法比直接从原始点生成轮廓提供更好的轮廓。轮廓与区域轮廓相交,并建立了区域。最后的步骤包括为区域分配温度和着色。着色取决于报告的温度范围-工作区尝试从蓝色到红色平滑连续过渡。范围越大,图像就越平滑。
为了确保我的工作区正常工作,我去了AccuWeather网站把我的结果和他们的温度图作了比较。它们显示了非常相似的图片(除了我的地图有更多的细节,我更喜欢我的设计:)
请注意,工作区会生成一个地图,其中有色区域可以超出状态边界-对其进行剪裁会显著降低运行时间。
工作区已附加。它可以很容易地修改以制作其他区域的地图。只需将我使用的数据源替换为您自己的数据源,别忘了恢复所有的连接。我尝试过其他一些国家,比如法国,德国,加拿大,印度等等-在大多数情况下,它们看起来相当不错,虽然一些气象站返回的结果明显不正确,这扭曲了整个画面。例如,在加拿大,我在遥远的北方发现了一个报告温度在30摄氏度左右的气象站,印度的另一个站在印度洋海岸仅显示0度。对于这些情况,您可能需要添加一个测试变压器,不包括这些电台。
有一个图像光栅化器变压器,我们可以产生一系列的光栅描绘温度在一段时间内的变化。之后,我们可以创建一个动画地图,但是为了这个目的,我们需要一些其他的工具而不是FME。谁知道呢?也许有一天我们可以用Workbench来实现这一点?
?2019安全亚搏在线软件公司|合法的