FAQ
IBasicGeoprocessor::Dissolveメソッドを使用するとフィールドのエイリアスがおかしくなる

ナレッジ番号:5592 | 登録日:2023/07/27 | 更新日:2024/11/21

【概要】

IBasicGeoprocessor::Dissolveメソッドを使用してその結果をマップに追加したとき、
ディゾルブ結果のフィールドのエイリアスがおかしくなります。


【原因】

VBAを使用してArcMapにディゾルブ結果を追加するときはエイリアスは正しく割り当てられません。
ジオプロセシング・ウィザードからディゾルブを使用したときはエイリアスが正しく割り当てられます。
プログラミングによってArcMapに結果を追加しない場合、空のフィールドのエイリアスが割り当てれます。


【解決策】

代替策はフィールド名と同じにしたフィールドのエイリアスを設定することです。
これを行うには、以下のコードをディゾルブするコードに追加します。
これらのコードはマップ(pMxDoc)にディゾルブ結果(pLayer)を追加した後に記述します。


Set pLayer = New FeatureLayer
Set pLayer.FeatureClass = pOutputFC
pLayer.Name = pOutputFC.AliasName
pMxDoc.FocusMap.AddLayer pLayer

Dim pTFlds As ITableFields
Set pTFlds = pLayer
Dim pFldInfo As IFieldInfo
Dim i As Integer
                     
For i = 0 To pTFlds.FieldCount - 1
  Set pFldInfo = pTFlds.FieldInfo(i)
  pFldInfo.Alias = pTFlds.Field(i).Name
Next i

メタデータ

種類

製品