Python数据转换实现代码深入分析

对于大多数开发人员来说,掌握Python这一编程语言其实是比较容易的,虽然其中有很多不同于其他语言的使用方法,但是其应用方便简单的特点使其在开发领域中占据主要地位。在这里我们就可以先从Python数据转换的实现方法来看看这一语言的具体编写方式。

学了几天的Python和FME Objects,发现之间教程里的很多对象已经过时了,而且语法和vb相差比较大,但概念还是一样的,下面写一段Python代码,将这几天学习的对象联系一下,下面的代码功能是读schema feature和data feature,并显示feature的属性和关联的坐标系,并使用FMEDialog对象来设置源和目标,并做格式转换,以下Python数据转换代码经过测试,运行正常。

 
 
 
  1. import pyfme   
  2. FME_GEOMETRY_TYPE={  
  3. 0:"FME_GEOM_UNDEFINED",  
  4. 1:"FME_GEOM_POINT",  
  5. 2:"FME_GEOM_LINE",  
  6. 4:"FME_GEOM_POLYGON",  
  7. 8:"FME_GEOM_DONUT",  
  8. 256:"FME_GEOM_PIP",  
  9. 512:"FME_GEOM_AGGREGATE",  
  10. }   
  11. session=pyfme.FMESession()  
  12. dialog=session.createDialog()   
  13. pr=dialog.sourcePrompt("","")  
  14. reader=pyfme.FMEReader(pr[0])  
  15. reader.open(pr[1],pr[2])   
  16. pw=dialog.destPrompt("","")  
  17. writer=pyfme.FMEWriter(pw[0])  
  18. writer.open(pw[1],pw[2])   
  19. theend=True 
  20. while theend:  
  21. feature=pyfme.FMEFeature()  
  22. theend=reader.readSchema(feature)  
  23. if theend:  
  24. print "\n------------%s----------" % "Schema Feature Infomation"  
  25. print "Geometry Type: " + str(FME_GEOMETRY_TYPE
    [feature.getGeometryType()])  
  26. print "Feature Type: " + str(feature.getFeatureType())  
  27. print "CoordinateSystem Name: " + feature.getCoordinateSystem()  
  28. csm=pyfme.FMECoordSysManager()  
  29. csp=csm.getOGCCoordSys(feature.getCoordinateSystem())  
  30. print "CoordinateSystem Information:\n%s\n" % csp  
  31. writer.addSchema(feature)   
  32. theend=True 
  33. while theend:  
  34. feature=pyfme.FMEFeature()  
  35. theend=reader.read(feature)  
  36. if theend:  
  37. print "\n------------%s----------\n" % "Data Feature Infomation"  
  38. print "GeometryType: " + str(FME_GEOMETRY_TYPE
    [feature.getGeometryType()])  
  39. print "FeatureType: " + str(feature.getFeatureType())  
  40. print "CoordinateSystem: " + feature.getCoordinateSystem()  
  41. print "CoordinateSystem List:\n%s\n" % feature.getCoordinates()  
  42. writer.write(feature)   
  43. reader.close()  
  44. writer.close()  
  45. del reader  
  46. del writer 

Python数据转换运行环境 FME DESKTOP 2009 ,pyfme for Python 2.5,Python 2.5

【编辑推荐】

  1. Python增量备份实现技巧分享
  2. Python命名约定基本内容解析
  3. Python编程规范具体内容解析
  4. C调用Python函数相关代码示例剖析
  5. Python插件PyDev正确配置方法解读
免责声明:文章内容不代表本站立场,仅供读者参考。产品相关技术问题请发送工单。 本文链接:https://www.idc.net/help/403512/

为您推荐

开源数据收集引擎 Logstash 讲解和示例讲解

一、概述 Logstash 是一个开源的数据收集和日志处理工具,它是 Elastic Stack(ELK Stack)的一部分,用于从各种数据源中采集、转换和传输数据,以帮助分析和可视化大规模数据。Logstash 通常与 Elasticsearch 和 Ki...

八个开源免费单点登录(SSO)系统

单点登录(SSO)是一个登录服务层,通过一次登录访问多个应用。使用SSO服务可以提高多系统使用的用户体验和安全性,用户不必记忆多个密码、不必多次登录浪费时间。 下面推荐一些市场上最好的开源SSO系统,可作为商业SSO替代。 1.Authelia https://github.com/authelia/authelia ...

浅谈HBase数据结构和系统架构

Part 01 LSM树模型 常见的的关系型数据库,如MySQL、SQL Server、Oracle等,使用B+ Tree作为数据存储与索引的基本结构,非叶子节点只存放索引数据,叶子节点存放所有数据和指向相邻节点的指针,具有高效的范围查询和稳定的查找效率,以及具有较小的读放大和空间放大。采用磁盘随机读写方式,且以磁盘数...

微软Radius平台重构现代应用程序部署

微软的 Azure 孵化团队日前推出一个叫 Radius 的新应用平台。Radius 平台可用于在 Kubernetes、公共云和边缘环境中运行各种现代应用程序。 Radius 是一个开源项目,最初支持的应用程序运行时包括Kubernetes、Azure和AWS,以后还会支持诸如谷歌云平台等云环境。 Mark Russ...

Ext JS3.0正式版发布

Ext JS3.0在经历数次RC版之后,extjs.com终于发布3.0的正式版。总体而言,较2.0改进不大,依然还是原理的组件模型,具体更新及改进如下: ◆提供了参照DWR后与后台的通讯包Direct,支持具有明显的REST风格的CRUD服务 ◆一系列的新的组件和例子,包括有图表(Charting, By YUI F...
返回顶部