前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何巧妙的解决问题

如何巧妙的解决问题

作者头像
数据处理与分析
发布2019-07-31 16:47:42
1.8K0
发布2019-07-31 16:47:42
举报
问题
解决问题的思路

这种问题解决方法有很多,比如:可以使用递归,我们写一个函数,功能如下:使用表2中的上手编号在表2中的档案号中进行查找;判断该档案号是否有上手编号;如果有继续调用我们写的函数自身,如果没有,则递归结束,返回需要的一串编号的值。

虽然上述方法大概能够解决这个问题,但是我们可以使用FME来优雅的、巧妙的解决这个问题,解决方式如下:

将问题进行一点转换(用词不一定准确啊)

如果我们需要的是一个这样的编号串:编号,上手编号,上上手编号,上上上手编号……那么应该怎么做呢?

我看到这两张表,第一反应就是,如果第一张表可以用点来表示,那么第二张表就是线段。编号与上手,上手与上上手,这两条线段的共有节点就是上手这个节点,我们可以根据这样的关系,将短的线段连接起来,形成长线段,长线串起的一串节点对应的编号,就是我们需要的值(我问了兜兜,不存在什么重复,也就是说,不会有三条线段共用一个节点)。

所以,这就将问题转换成了我FME能够处理的、并且不那么复杂的问题(可能有点绕啊,不过没关系,多看两边就懂了)

具体解决方式

魔板截图

解释:

通过观察,编号都是是一个字母加上两位数组成的。那么我们就根据这个规律生成所需要的点。

1.创建点

在原点处创建一个点

2.生成字母,计算xy偏移

这个使用python简单点,所以就用了

代码语言: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):
        l1 = list('QWERTYUIOPASDFGHJKLZXCVBNM')
        l1.sort()
        l2 = list(range(26))
        ll = tuple(zip(l1,l2))
        for i in ll:
            for k in range(1,100):
                feature.setAttribute('x',i[1])
                feature.setAttribute('y',k)
                feature.setAttribute('att','%s%02d'%(i[0],k))
                self.pyoutput(feature)
    def close(self):
        pass
3.偏移
生成的点

因为表1与表2展示的数据没找兜兜要,所以就不连了,今天到此结束。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 解决问题的思路
  • 将问题进行一点转换(用词不一定准确啊)
  • 具体解决方式
    • 解释:
      • 1.创建点
      • 2.生成字母,计算xy偏移
      • 3.偏移
  • 生成的点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档