前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在FME中使用循环的另一种方式

在FME中使用循环的另一种方式

作者头像
数据处理与分析
发布2019-07-31 16:44:30
1.3K0
发布2019-07-31 16:44:30
举报
循环

循环可以让很多数据处理的工作变得简单。透过循环,也可以让FME魔板更加简洁! 在之前的推送使用FME沿线生成点(二)中,使用了循环来沿着线来均匀的生成点。今天,我们使用另一种方式来完成相同的操作啊!

思路如下:

1、使用Creator生成一条线,参数:((0,0),(10,0)),并添加NUM字段;

2、使用Python,通过循环生成所需参数;

在这里,首先计算要生成的点数、分割比例,与生成间隔;

3、在指定位置生成点!

使用Snipper生成,设置方式与之前的推送基本一致。

运行概览:
核心代码:
代码语言:javascript
复制
import fme
import fmeobjects
# Template Function interface:

# When using this function, make sure its name is set as the value of# the 'Class or Function to Process Features' transformer parameter

def processFeature(feature):
   pass
# Template Class Interface:

# When using this class, make sure its name is set as the value of# the 'Class or Function to Process Features' transformer parameter

class FeatureProcessor(object):
   def __init__(self):
       pass
   def input(self,feature):
       num = int(feature.getAttribute('NUM'))
       att = 100.0/(num-1)
        for i in range(num):
           pct = 0+att*i
           feature.setAttribute('pct',pct)
           self.pyoutput(feature)
    def close(self):
       pass
其他

转换器截图:

虽然FME自带循环也可以,不过,有没有觉得这种方式更优雅呢??

各位,周末愉快!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 循环
  • 运行概览:
  • 核心代码:
  • 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档