メタデータの取得

      2017/12/09

'メタデータの取得
Public Sub GetMetadata()
 
    Dim pGxApplication As IGxApplication
    Set pGxApplication = Application
     
    Dim pGxObject As IGxObject
    Set pGxObject = pGxApplication.SelectedObject
     
    Dim pMetadata As IMetadata
    Set pMetadata = pGxObject
     
    Dim pXmlPropertySet As IXmlPropertySet2
    Set pXmlPropertySet = pMetadata.Metadata
     
    Dim strXML As String
    strXML = pXmlPropertySet.GetXml("")
     
    'ファイルに保存
    'Debug.Print strXML
    '
    'Open "G:\TESTFILE.xml" For Output As #1        ' シーケンシャル出力モードでファイルを開きます。
    'Write #1, strXML
    'Close #1
 
    'ファイルに保存したXMLを元にXPathを求めて該当の値を取得
    'Debug.Print pXmlPropertySet.CountX("dataIdInfo/idAbs")
    Debug.Print pXmlPropertySet.SimpleGetProperty("dataIdInfo/idPurp")  'サマリ
    Debug.Print pXmlPropertySet.SimpleGetProperty("dataIdInfo/idAbs")   '説明
 
 
    'Dim pPS As IPropertySet
    'Set pPS = pXmlPropertySet
    '
    '    'retrieve all names and values for the PropertySet
    '    pPS.GetAllProperties vName, vValue
    '
    '    'Displays only the first ten Element Names
    '    For Each v In vName
    '        strNames(i) = CVar(v)
    '        i = i + 1
    '        If i = 10 Then
    '            Exit For
    '        End If
    '    Next
    '    i = 0
    '
    '    'Display only the first ten Element Values
    '    For Each v In vValue
    '        strValues(i) = CVar(v)
    '        i = i + 1
    '        If i = 10 Then
    '            Exit For
    '        End If
    '    Next
    '    i = 0
    '
    '    strFinal = "Names: Values" & vbNewLine
    '    For Each v In vValue
    '            strFinal = strFinal & strNames(i) & ": " & strValues(i) & vbNewLine
    '            i = i + 1
    '        If i = 10 Then
    '            Exit For
    '        End If
    '    Next
    '    MsgBox strFinal
 
End Sub

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