原来FME并不能真正的做到互操作--实时修改。FME其实无论如何都是将别的格式转换为自己的格式。即便在自己的格式上面再做很多的封装功能操作,提供再多的函数,也最终还是会落入一个GIS格式的宿命:不统一不开放。但是FME提供了一套基于语义的转换机制,简单说来就是要素类和要素的对应。要素类包括属性结构和一个个要素;每个要素包含图形和属性;图形有着特殊的类型和坐标结构组织。从大的模式上统一转换,就像STL抽象出算法、迭代器和容器一样。FME将转换也可以类比于容器和迭代器(还要加上一个要素模型,类似于容器中的每个实体单元,在FME中抽象出来进行更核心的研究),从而统一转换的全过程。
FME可以说做到对数据格式的隐藏,因为内部实际上是每种格式通过功能调用进行实体转换。此外,FME将转换和处理的全过程统一抽象为各个流程节点,伴以处理支线走向。这也是搭建平台和脚本处理的基础,而且真正将转换做到很简单,很直观。
真正的互操作应该是基于功能级的互操作,这时要抽象的太多了。除了模型,还有很多功能访问接口:例如属性结构、属性、图形等大类的各个小类。对于文本格式的建议转换过来;对于成熟的二进制格式的文件,建议互操作融之。基于这些功能层次的接口共享,才能做到一个界面,容纳所有的格式。
评论