zoukankan      html  css  js  c++  java
  • GeoProcessing中通过GP.GetMessage(2)捕捉异常

    Sub MappingFields()

    On Error GoTo EH:

      '//initialize license
      Dim aoi As IAoInitialize
      Set aoi = New AoInitialize
      aoi.Initialize esriLicenseProductCodeArcInfo
     
      Dim GP As IGeoProcessor
      Set GP = New GeoProcessor
      GP.OverwriteOutput = True

      Dim strTableA As String
      strTableA = "C:"Temp"VBTests"FieldMapping"citiblocks.gdb"census"
     
      Dim pDataElement As IDataElement
      Dim pDETableA As IDETable
     
      Dim pGPU As IGPUtilities
      Set pGPU = New GPUtilities
     
      Set pDataElement = pGPU.MakeDataElement(strTableA, Nothing, Nothing)
      Set pDETableA = pDataElement
     
      Dim pArray As IArray
      Set pArray = New esriSystem.Array
      pArray.Add pDETableA
     
      Dim pFieldMapping As IGPFieldMapping
      Set pFieldMapping = New GPFieldMapping
      '** initialize the field mapping
      pFieldMapping.Initialize pArray, Nothing
     
      '** create a new output field
      Dim TrackIDField As IFieldEdit
      Set TrackIDField = New Field
      TrackIDField.Name = "TRACTID"
      TrackIDField.Type = esriFieldType.esriFieldTypeString
      TrackIDField.Length = 20

      '** create a new FieldMap
      Dim TrackID As IGPFieldMap
      Set TrackID = New GPFieldMap
      Set TrackID.OutputField = TrackIDField
      
      '** find field map STFID containing the input field STFID
      Dim FieldMap_Index As Long, Field_Index As Long
      FieldMap_Index = pFieldMapping.FindFieldMap("STFID")
     
      Dim STFID_FieldMap As IGPFieldMap
      Set STFID_FieldMap = pFieldMapping.GetFieldMap(FieldMap_Index)
     
      Field_Index = STFID_FieldMap.FindInputField(pDETableA, "STFID")
     
      Dim inputField As IField
      Set inputField = STFID_FieldMap.GetField(Field_Index)
     
      TrackID.AddInputField pDETableA, inputField, 5, 10  'starPos, endPos
      '** add the new field map to the field mapping
      pFieldMapping.AddFieldMap TrackID
     
      '** execute Table to Table tool using the FieldMapping
      Dim pParameters As IVariantArray
      Set pParameters = New varArray
      pParameters.Add (strTableA)
      pParameters.Add ("C:"Temp"VBTests"FieldMapping"citiblocks.gdb")
      pParameters.Add "census3"
      pParameters.Add ""
      pParameters.Add pFieldMapping
      GP.Execute "TableToTable_conversion", pParameters, Nothing
      Debug.Print GP.GetMessages(0)
      Exit Sub

    EH:
      Debug.Print GP.GetMessages(2)

    End Sub

     
  • 相关阅读:
    Python内置函数
    101-搭建django工程
    100-开发环境
    Appium
    Maven用途
    Extjs 可重用组件开始写 2014 8 23日
    关于开发方面可重用性的思考
    Extjs 常见错误
    21个jQuery经典特效0积分下载
    设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。
  • 原文地址:https://www.cnblogs.com/flyingfish/p/1081372.html
Copyright © 2011-2022 走看看