zoukankan      html  css  js  c++  java
  • 拓扑检查的补充(ArcEngine)

    问题
           当一个要素类参与了一个拓扑(或Geometry  Network)之后,对该要素类执行创建要素、修改要素图形或属性时,可能会出现这个异常:"Objects in this class cannot be updated outside an edit session"

    'pFeatureLayer:参与拓扑的要素类的图层
    'pGeo:为新建要素关联的图形
    'StartEditOperation
        Try
             
    Dim pFeat As IFeature = pFeatureLayer.FeatureClass.CreateFeature         ——此句引发异常
          pFeat.Shape 
    = pGeo
          pFeat.Store()
           
    'StopEditOperation()
         
    Catch ex As Exception
           
    'AbortEditOperation()
      End Try           

     
    原因
          这是由于 ArcEngine应用程序中使用的License权限不足引起的。在ArcEngine 应用程序里面通过ArcSDE进行编辑需要License"ArcGIS Engine Enterprise Geodatabase",或ArcEditor或ArcInfo。

     解决办法
          在ArcEngine应用程序的LicenseInitializer.InitializeApplication中,为程序增加Geodatabase的编辑权限。


        
    Public Function InitializeApplication() As Boolean

           '……
           licenseStatus = CheckOutLicenses(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB)

            licenseStatus = CheckOutLicenses(esriLicenseProductCode.esriLicenseProductCodeEngine)
           
           '……
        End Function
  • 相关阅读:
    BestCoder Round #65 hdu5590(水题)
    codeforces Ebony and Ivory(水题)
    codeforces 630B Moore's Law
    BestCoder Round #69 (div.2)(hdu5611)
    BestCoder Round #73 (div.2)(hdu 5630)
    codeforces 630A Again Twenty Five!
    codeforces 630C Lucky Numbers
    codeforces 630D Hexagons!
    Codeforces243C-Colorado Potato Beetle(离散化+bfs)
    hdu4453-Looploop(伸展树)
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1081786.html
Copyright © 2011-2022 走看看