zoukankan      html  css  js  c++  java
  • 学习《Building Applications with FME Objects》 之十 使用集合

    GFME对象API包含下列集合对象:

    FMEOStringArray,FMEOFeatureVector和FMEORectangleVector。

    这些对象的主要用途是移动数据,比如作为一个参数或返回值,这些对象并不是用来替代VB中的集合的。

    如果你FME对象应用程序打算使用其他的集合对象来处理,你可以写过程转换你现有的集合到FME对象集合,例如,下面的FeatureVectorToCollection过程拷贝FMEOFeatureVector对象到VB集合对象:

    Sub FeatureVectorToCollection(ByRef colFeatures As Collection)
        Dim i As Integer
        Dim lCount As Integer
        lCount = m_fmeFeatureVector.entries
        For i = 0 To lCount - 1
            If i = 0 Then
                Call colFeatures.Add(m_fmeFeatureVector.element(i))
            Else
                Call colFeatures.Add( _
                            m_fmeFeatureVector.element(i), , , i)
            End If
        Next i
    End Sub

    注意:上面代码中的FOR中的IF语句是为了控制要素顺序,如果顺序不重要,可以删除IF语句以提高性能。

    这个例子展示了FME对象集合对象与VB集合对象的重要区别:FME对象用基于0的索引,VB使用基于1的索引。

    在本章,将学习到:

    • 用ractangle和feature矢量集合
    • 用字符串集合

    使用矢量集合

    FMEOFeatureVector和FMEORectangleVector集合相似,唯一的不同是,前者保存FMEOFeature对象,后者保存FMEORectangle对象,FMEORectangleVector的方法和属性如下图:

    image

    下列表描述属性和方法:

    image

    如果你的程序操作大型数据集,你应该考虑使用FMEOFeatureVectorOnDisk 集合替换FMEOFeatureVectorOnDisk,用磁盘代替内存存储要素,这样你的应用程序操作大型数据不会受到计算机虚拟内存的限制,FMEOFeatureVectorOnDisk 的方法和属性如下图:

    image

    使用字符串集合

    FMEOStringArray集合对象存储字符串对象,大部分FME对象的方法和属性用字符串数组作为参数,用于输入和输出。该对象方法和属性如下图:

    image

    image

    image

    下列代码在一个数组中包含九个元素string1, "string 2", aaa, bbb, ccc, <NULL>, eee, xxx, and yyyy.:

    Set fmeArray = m_fmeSession.createStringArray
    sDelimiter = ";;"
    sToken = "   "

    s1 = "string1"
    s2 = """string 2"""
    s3 = "aaa;bbb;ccc;;eee"
    s4 = "xxx      yyyy      "
    Call fmeArray.append(s1)
    Call fmeArray.append(s2)
    Call fmeArray.appendCSVString(s3, sDelimiter)
    Call fmeArray.appendTokenizeString(s4, sToken)

     

     

    参考资料:

    《Building Applications with FME Objects》February 2005

    转载请注明文章来源 http://www.cnblogs.com/booolee

  • 相关阅读:
    C#连接手机安装软件和发送信息
    asp.net 简单分页打印
    asp.net 下载的几种方式
    js 刷新后不提示并保留控件状态
    JAVA 基础编程练习题2 【程序 2 输出素数】
    JAVA 基础编程练习题1 【程序 1 不死神兔】
    setMaxActive和setMaxWait方法
    java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0
    java.lang.RuntimeException: org.dom4j.DocumentException: 1 字节的 UTF-8 序列的字节 1 无效。
    HTML DOM firstChild lastChild nextSibling previousSibling 属性_获取属性值的undefined问题
  • 原文地址:https://www.cnblogs.com/booolee/p/1552771.html
Copyright © 2011-2022 走看看