• 拓扑检查的补充(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
  • 相关阅读:
    压测 正则 性能分析
    时间复杂度 根号n
    务端如何防止重复支付 架构文摘 2021-05-02
    工具大于约定和文档
    千亿级公司低代码平台的测试体系介绍
    疑惑 题解
    计算几何相关总结
    树 题解
    矩阵加速相关总结
    loj6274 数字 题解
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1081786.html
Copyright © 2020-2023  润新知