2015-05-07

FME stores all attributes as character strings (?): Part 3

FMEは全ての属性を文字列として格納する (?): パート3

Previously I quoted this description from the Workbench help, twice.
以前2回、ワークベンチのヘルプから次の説明を引用したことがあります。

"Feature attributes are usually a primitive type: integers, floats, characters. Internally, FME stores all attributes as character strings and automatically converts between a string representation and a numeric representation as needed."
-- FME Workbench (2015.0 or earlier) > FME Architecture (Reference) > Attribute

2013-05-19 FME stores all attributes as character strings
2013-09-30 FME stores all attributes as character strings: Part 2

Today, I noticed that the "FME Architecture" section has disappeared in FME 2015.1.
今日、FME 2015.1では"FME Architecture"の章が消えていることに気がつきました。

Probably old FME stores all attributes as character strings, but it seems not to be true in the current FME. Actually I frequently see "64 bit integer", "64 bit real" etc.
おそらく古いFMEは全ての属性を文字列として格納するのでしょうが、現在のFMEではそうではないようです。実際、"64 bit integer"、"64 bit real"などをよく見かけます。

I guess a big change about internal attribute data handling has been done for FME 2015, but I'm unclear what the current rule on the data types is.
If the section would be restored with update, it could become clear.
FME 2015では、内部での属性データの取り扱いについて大きな変更があったと推測しますが、データ型についての現在のルールは不明です。
もしその章が更新されて復活したならば明確になるのかも知れませんが。

2 comments:

  1. Hi Takashi,

    No major changes were made in FME 2015 related to attribute storage.

    The claim that "FME stores all attributes as character strings" has not been true for at least 7 years (when I started at Safe). We try to store data in the most efficient representation, but will autoconvert to other types as needed. For example, you can do mathematical operations on numbers that happen to be stored as strings, and can perform string manipulation on numbers.

    Regards,
    Raven Kopelman

    ReplyDelete
    Replies
    1. Hi Raven, thanks for your comment.
      For long time I had been feeling that there could be an inconsistency between the description and the actual implementation which is imagined from C++/Python API.
      The auto convert mechanism of FME is great. We usually don't need to mind internal data types.
      Just the description "FME stores all attributes as character strings" had been disturbing my mind trying to understand internal data handling correctly...
      Now it has been cleared. Thanks again!

      Delete