YouTube | Facebook | X(Twitter) | RSS

XY イベント クラスの作成

2016/9/1 (木)

Visual Basic
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
''' <summary>
''' XYイベントクラスの作成
''' </summary>
''' <param name="pTable">テーブル</param>
''' <param name="pSpatialReference">空間参照</param>
''' <param name="XFieldName">Xフィールド</param>
''' <param name="YFieldName">Yフィールド</param>
''' <param name="ZFieldName">Zフィールド</param>
''' <returns>フィーチャクラス</returns>
''' <remarks></remarks>
Public Function CreateXYEventSource(
                                   ByVal pTable As ITable,
                                   ByVal pSpatialReference As ISpatialReference,
                                   Optional ByVal XFieldName As String = "X",
                                   Optional ByVal YFieldName As String = "Y",
                                   Optional ByVal ZFieldName As String = "") As IFeatureClass
  
    'XYEvent2FieldsProperties オブジェクトの作成
    Dim pXYEvent2FieldsProperties As IXYEvent2FieldsProperties = New XYEvent2FieldsPropertiesClass()
    pXYEvent2FieldsProperties.XFieldName = XFieldName
    pXYEvent2FieldsProperties.YFieldName = YFieldName
    pXYEvent2FieldsProperties.ZFieldName = ZFieldName 'Z値を設定する場合のオプション設定
  
    'ソース テーブルからNameオブジェクトの取得
    Dim pDataset As IDataset = CType(pTable, IDataset)
    Dim pSourceName As IName = pDataset.FullName
  
    'XYEventSourceNameオブジェクトの作成
    Dim pXYEventSourceName As IXYEventSourceName = New XYEventSourceNameClass()
    pXYEventSourceName.EventProperties = pXYEvent2FieldsProperties
    pXYEventSourceName.EventTableName = pSourceName
    pXYEventSourceName.SpatialReference = pSpatialReference '空間参照
  
    'XY イベント ソースの作成
    Dim pEventName As IName = CType(pXYEventSourceName, IName)
    Dim pXYEventSource As IXYEventSource = CType(pEventName.Open(), IXYEventSource)
  
    'IFeatureClass型へキャスト
    Dim pFeatureClass As IFeatureClass = CType(pXYEventSource, IFeatureClass)
  
    Return pFeatureClass
End Function
  • この記事を書いた人

羽田 康祐

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

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

S