Change of ListExploder Default Behavior


In FME 2015, the "Attribute Accumulation" parameters group has been introduced into several transformers such as FeatureMerger, PointOnAreaOverlayer, ListExploder and so on.
FME 2015では、FeatureMerger、PointOnAreaOverlayer、ListExploderなどいくつかのトランスフォーマーに"Attribute Accumulation"パラメーターグループが導入されました。

In almost all the transformers having "Attribute Accumulation" group, the behavior with default parameter settings is same as the default behavior of the previous version. They are following the general principle that the backward compatibility should be kept.
"Attribute Accumulation"グループを持つほぼ全てのトランスフォーマーでは、デフォルトのパラメーター設定での動作は以前のバージョンのデフォルトの動作と同じです。これらは後方互換性を保つべきであるという一般原則に従っています。

However, I noticed the ListExploder is not following the principle.

The new ListExploder has these four options depending on the Attribute Accumulation settings.
新しいListExploderには、Attribute Accumulationの設定に応じてこれらの4つのオプションがあります。
Accumulation ModeConflict Resolution
1Merge Incoming ListUse Original(default)
2Merge Incoming ListUse Incoming List
3Prefix Incoming List
4Only Use Incoming List

The 1st option is set by default, but the default behavior of the previous version is equivalent to the 2nd option.

I had discussed about this change with Safe support team.
Safe acknowledges that the default behavior of new ListExploder is different from the previous version. And, according to their explanation, the change has been done intentionally to unify the default behavior of the transformers which have "Attribute Accumulation" parameters group.
Safe社も新しいListExploderのデフォルトの動作が以前のバージョンと異なることは認めています。そして、彼らの説明によれば、この変更は、"Attribute Accumulation"パラメーターグループを持つトランスフォーマーのデフォルトの動作を統一するために意図的に行われたということです。

I understand that the change is reasonable, but it might cause a confusion to some users who are familiar with the default behavior of the previous ListExploder.

Check the parameters always when you use the ListExploder in FME 2015.
FME 2015でListExploderを使うときは、これらのパラメーターをいつも確認してください。

So, I still think it's better that the Attribute Accumulation group will be shown by default, at least in the ListExploder...
なので、Attribute Accumulationグループはデフォルトで表示された方が良いとまだ思っています。少なくともListExploderでは。。。


Use Time Positions on Time Line


Summary of this thread.
FME Community Answers > Merge features based on time

Assuming you have two datasets:
- one contains rasters having a datetime attribute,
- another contains GPS points also having a datetime attribute.
The goal is to give each raster the geographic coordinate of a point having smallest time difference from the raster.
- ひとつは日付時刻属性を持つラスターから成り、
- もう一つはやはり日付時刻属性を持つGPSポイントから成る。

Seemingly the solution would be complicated, but you can solve it easily with the NeighborFinder if you replace every geometry with a time position on a time line - i.e. a coordinate (time, 0) on the X axis.
一見、解決策は複雑になりそうですが、ジオメトリをタイムラインにおける時間位置 - つまりX軸上の座標 (時間, 0) に置き換えれば、NeighborFinerを使って簡単に解決できます。

(1) Convert the datetime value to the count of seconds since the epoch, using a DateFormatter (Destination Date Format: %s).
DateFormatter (Destination Date Format: %s) によって日付時刻値をエポックからの秒数に変換します。

(2) Extract the raster data as an attribute by a RasterExtractor, and replace the geometry with a point (X=seconds, Y=0) by a VertexCreator.
RasterExtractorによってラスターデータを属性として抽出し、VertexCreatorによってジオメトリをポイント (X=秒数, Y=0) に置き換えます。

(3) Extract geographic coordinate (x, y) of the GPS points by a CoordinateExtractor, and replace the geometry with a point (X=seconds, Y=0) by a VertexCreator, as well.
CoordinateExtractorによってGPSポイントの地理座標 (x, y) を抽出し、同様にVertexCreratorによってジオメトリをポイント (X=秒数, Y=0) に置き換えます。

Here, the point (X=second, Y=0) represents the time position of a feature on a time line (X-axis).
ここで、ポイント (X=秒数, Y=0) がタイムライン(X軸)上のフィーチャーの時間位置を表します。

(4) Add a NeighborFinder; send the (2) features to the Base port; send the (3) features to the Candidate port. Then, each Matched feature will have the geographic coordinate (x, y) of a GPS point which has smallest time difference.
NeighborFinderを追加し、(2)のフィーチャーをBaseポートに、(3)のフィーチャーをCandidateポートに送ります。すると、Matchedフィーチャー は、時間差が最小のGPSポイントの地理座標 (x, y)を持つことになります。

(5) Finally, restore the original raster of each Matched feature by a RasterReplacer.

I think you have ever learned about "Number Line" in school. In fact, the time line is not any one other than the Number Line.
Elementary mathematics is also very helpful in some cases.


Change Multiple Data Types Simultaneously


FME 2015.1 is coming soon.
FME 2015.1は間もなくリリースされます。

Found a wonderful enhancement of writer feature type in FME 2015.1 beta.
You can change data types of multiple attributes simultaneously.
FME 2015.1ベータでライターフィーチャータイプの素晴らしい機能強化を見つけました。

Select multiple rows with Ctrl+Click.

Change data type of a row in the selection. e.g. char -> number
選択行内のどれかの行でデータ型を変更。例: char -> number

Change width and precision if necessary.

Quick and intuitive. I have waited for this for long time :)

FME 2015.1 Beta build 15468