YouTube | Facebook | X(Twitter) | RSS

アノテーション フィーチャの更新

2016/9/1 (木)

'アノテーション フィーチャは属性値を変更する操作をArcObjectsで操作しても反映されない
'アノテーションに結びつくエレメントを操作する必要がある
 
'VBA
Dim pAnnotaionFeature As IAnnotationFeature
Set pAnnotaionFeature = pFeature  'フィーチャの取得
 
Dim pTextElement As ITextElement
Set pTextElement = pAnnotaionFeature.Annotation
 
Dim pGroupSymbolElement As IGroupSymbolElement
Set pGroupSymbolElement = pTextElement
pGroupSymbolElement.SymbolID = 0    'SymbolIDの変更
 
Dim pTextSymbol As ITextSymbol
Set pTextSymbol = pTextElement.Symbol
pTextSymbol.Angle = -90     'Angleの変更
 
'設定の反映
pTextElement.Symbol = pTextSymbol
pAnnotaionFeature.Annotation = pTextElement
 
'フィーチャのストア
pFeature.Store
 
 
'---------------------------------------------------------
'VB
Dim pAnnotaionFeature As IAnnotationFeature = pFeature  'フィーチャの取得
 
Dim pTextElement As ITextElement = pAnnotaionFeature.Annotation
Dim pGroupSymbolElement As IGroupSymbolElement = pTextElement
pGroupSymbolElement.SymbolID = 0    'SymbolIDの変更
 
Dim pTextSymbol As ITextSymbol = pTextElement.Symbol
pTextSymbol.Angle = -90     'Angleの変更
 
'設定の反映
pTextElement.Symbol = pTextSymbol
pAnnotaionFeature.Annotation = pTextElement
 
'フィーチャのストア
pFeature.Store()
 
//---------------------------------------------------------
IAnnotationFeature pAnnotaionFeature = pFeature; //フィーチャの取得
 
ITextElement pTextElement = pAnnotaionFeature.Annotation;
IGroupSymbolElement pGroupSymbolElement = pTextElement;
pGroupSymbolElement.SymbolID = 0; //SymbolIDの変更
 
 
ITextSymbol pTextSymbol = pTextElement.Symbol;
pTextSymbol.Angle = -90; //Angleの変更
 
 
//設定の反映
pTextElement.Symbol = pTextSymbol;
pAnnotaionFeature.Annotation = pTextElement;
 
 
pFeature.Store(); //フィーチャのストア
  • この記事を書いた人

羽田 康祐

伊達と酔狂のGISエンジニア。GIS上級技術者、Esri認定インストラクター、CompTIA CTT+ Classroom Trainer、潜水士、PADIダイブマスター、四アマ。WordPress は 2.1 からのユーザーで歴だけは長い。 代表著書『"地図リテラシー入門―地図の正しい読み方・描き方がわかる』 GIS を使った自己紹介はこちら。ESRIジャパン(株)所属、元青山学院大学非常勤講師を兼務。日本地図学会第31期常任委員。発言は個人の見解です。

-プログラミング, ArcGIS
-,