問題タブ [fme]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - FME2015 で変圧器パラメーターをプログラムで設定
アプリケーションを FME2009 から FME2015 にアップグレードしようとしています。私が直面している問題は、設定したパラメーターが実際のトランスフォーマーで使用されていないように見えることです。代わりに、トランスフォーマー定義のデフォルト値が使用されています。具体的には、ソースと宛先の座標系名が適用されていません。
私のアプリケーションが FME2009 にリンクされている場合、この方法でパラメーターを設定すると完全に機能しました。
コードの抜粋:
このコードを実行すると、ログからデフォルト値が使用されていることがわかります。
ログの抜粋:
TOM_PRICE_MINE_MGA という名前の座標系は存在しません。悪いニュース: 座標系 `TOM_PRICE_MINE_MGA(TOM_PRICE_MINE_MGA)' の定義が見つかりませんでした (crdsysmn.cpp:1074) TOM_PRICE_MINE_MGA という名前の座標系は存在しません。BADNEWS: 不明な座標系 'TOM_PRICE_MINE_MGA' が指定されました - 中止します (crdsysmn.cpp:1628) 不明な座標系 'TOM_PRICE_MINE_MGA' が指定されました - 中止します BADNEWS: Reprojector: 再投影エンジンを作成できませんでした (fmereprojector.cpp:404) Reprojector: 再投影エンジンを作成できませんでした
トランスの抜粋:
編集 1
IFMEOTransformer.Serialize メソッドを見つけて、トランスフォーマーをインスタンス化した後に実行しました。
私の指示:NAME,SpineClipTransformer,VERSION,0,PARAMETER_VALUES,"SOURCE_COORDSYS,LL-GDA94,XFORMER_NAME,SpineClipTransformer,DEST_COORDSYS,MGA94-50",INPUT_FEATURE_TYPES,,INPUT_FILTERS,,INPUT_ATTRS,,OUTPUT_FEATURE_TYPES,,OUTPUT_FUNCTIONS,
IFMEOTransformer.Serialize() 出力:NAME,SpineClipTransformer,VERSION,1,PARAMETER_VALUES,"__COMPOUND_PARAMETERS,,XFORMER_NAME,SpineClipTransformer,TRANSFORMER_GROUP,",INPUT_FEATURE_TYPES,,INPUT_FILTERS,,INPUT_ATTRS,,OUTPUT_FEATURE_TYPES,,OUTPUT_FUNCTIONS,
このフォーマットに従おうとして(それについて何も知らずに)、ディレクティブを次のように変更しました。NAME,SpineClipTransformer,VERSION,1,PARAMETER_VALUES,"__COMPOUND_PARAMETERS,SOURCE_COORDSYS,LL-GDA94,XFORMER_NAME,SpineClipTransformer,DEST_COORDSYS,MGA94-50,TRANSFORMER_GROUP,",INPUT_FEATURE_TYPES,,INPUT_FILTERS,,INPUT_ATTRS,,OUTPUT_FEATURE_TYPES,,OUTPUT_FUNCTIONS,
新しい IFMEOTransformer.Serialize() 出力:NAME,SpineClipTransformer,VERSION,1,PARAMETER_VALUES,"__COMPOUND_PARAMETERS,SOURCE_COORDSYS,XFORMER_NAME,SpineClipTransformer,TRANSFORMER_GROUP,",INPUT_FEATURE_TYPES,,INPUT_FILTERS,,INPUT_ATTRS,,OUTPUT_FEATURE_TYPES,,OUTPUT_FUNCTIONS,
sql - 複数の属性が同じ場合に特徴を一致させる
FME の InlineQuerier トランスフォーマーに使用している SQL ステートメントに行き詰まります。私は通常、SQL コードをあまり使用せず、単純な 1 対 1 の結合を実行する場合にのみ使用します。現在、複数の属性を含む 1 つのデータ フレームを使用しており、これらに基づいて追加の属性を作成したいと考えています。簡単な例:
後でマージできるように、すべてのフィーチャに 4 つの属性すべてに基づいて一意の RoadID を付与しようとしています。新しい属性 RoadID は整数データ型である必要があり、値は 4 つの属性の一意の組み合わせと一致する必要があります。
結果は次のようになります。
そのために concat を使用しますか、それとも単純な if then ステートメントでうまくいくのでしょうか?