FME python 多个shp文件相似属性合并

import fme
import fmeobjects
import re
from fmeobjects import FMELogFile

# Template Function interface:
def processFeature(feature):
    pass

# Template Class Interface:
class FeatureProcessor(object):
    def __init__(self):
        pass
    def input(self,feature):
        
        name = feature.getAttribute('fme_feature_type')
        
        AttributeNames = feature.getAllAttributeNames()
        #FMELogFile().logMessageString(str(AttributeNames))
        
        AtNames = ["ZBLX","PCMC","PZSJ","PZWH","ZYXZ","DKMC","YXDW","XZ","XZC","TDYT","ZYD","XZJSYD","NYD","GD","ST","JSYD","WLYD","YEAR"]
        
        match = ["ZBLX|指标类型","PCMC|批次名|所在批","PZSJ|批准时","PZWH|批准文","ZYXZ|.*征.*","DKMC|具体|项目名","YXDW|单位","XZ|乡镇","XZC|村","TDYT|用途|性质","ZYD|总用地","XZJSYD|新增","NYD|农用地","GD|耕地","ST|水田","JSYD|建设用地","WLYD|未利用","year"]
        
        
        
        compnull = re.compile("\s")
        
        for i in AttributeNames:
            
            FMELogFile().logMessageString(i)
            
            for j in match:
                reg = re.search(j,i)
                if (reg!=None):
                   ind = match.index(j) 
                   FMELogFile().logMessageString(str(feature.getAttribute(i)))
                   
                   if (str(feature.getAttribute(i)).replace(" ","") != "" ):
                       feature.setAttribute(AtNames[ind],feature.getAttribute(i))
                       
                       FMELogFile().logMessageString("----------------------------")

            #feature.removeAttribute(i)             
        
        '''
        for i in range(0,len(match)):
            
            reg = re.search(match[i][0],name)
            if(reg!=None ):
                feature.setAttribute('fme_feature_type',match[i][1])
                self.pyoutput(feature)
                break
         '''
         
        self.pyoutput(feature)
         
    def close(self):
        pass
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值