ESRIジャパン株式会社 ArcGISブログ

検索

2012年5月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

RSS

« 2010年 米国ESRIユーザ会 Q&A 集 ~その2~ | メイン | 2010年 米国ESRIユーザ会 Q&A 集 ~その3~ »

2010年7月30日 (金)

【ArcObjects Tips】長方形フィーチャを作成する方法

ArcObjects を使用して長方形(エンベロープ)をフィーチャとして作成したい場合、Envelope オブジェクトを作成して IFeature::Shape プロパティに設定しても Store メソッドに失敗します。しかし、Polygon クラスが実装する ISegmentCollection::SetRectangle メソッドに Envelope を渡すことによって Envelope を Polygon オブジェクトとして利用することができます。結果として、Polygon オブジェクトを作成することになるので、Store メソッドも成功します。

Env2poly_2

VB ソースコード

'新規ポリゴンを作成します。
Dim pPoly As ISegmentCollection = New Polygon

'エンベロープをポリゴンにセットします。pEnv は長方形を示す Envelope オブジェクトです。
pPoly.SetRectangle(pEnv)

'フィーチャクラス(pFLayer.FeatureClass)に新規フィーチャを作成します。
Dim pFeature As IFeature = pFLayer.FeatureClass.CreateFeature

'フィーチャのShapeプロパティにポリゴンを設定します(ここに pEnv を設定すると、その下の Store メソッドに失敗します)。
pFeature.Shape = pPoly

'フィーチャを格納します。
pFeature.Store()

※Envelope オブジェクト(pEnv)の作成、フィーチャレイヤ(pFLayer)の取得の過程は省略しています。

トラックバック

このページのトラックバックURL:
http://www.typepad.jp/t/trackback/492067/24777805

【ArcObjects Tips】長方形フィーチャを作成する方法を参照しているブログ: