shopping2088 2015-09-24 01:32 采纳率: 50%
浏览 2974
已采纳

ArcEngine中拷贝feature时候报错

  public static void MyInsertFeature(IFeatureClass pFeatureClass, IGeometry pGeometry)
    {
        IFeatureBuffer pFeatureBuffer=null;
        int typeFieldIndex = pFeatureClass.FindField("Layer");
        pFeatureBuffer = pFeatureClass.CreateFeatureBuffer();
        IFeatureCursor insertCursor = pFeatureClass.Insert(true);
        pFeatureBuffer.set_Value(typeFieldIndex, "ZBTZ");       
        pFeatureBuffer.Shape = pGeometry;
        insertCursor.InsertFeature(pFeatureBuffer);
    }

程序调试时,每次到 pFeatureBuffer.Shape = pGeometry;这里就报错“这个集合中找不到此项目。”,pGeometry明明不是null啊.求高手解答啊。困扰好久了。很郁闷。

  • 写回答

1条回答 默认 最新

  • shopping2088 2015-09-28 02:35
    关注

    找到原因了!!!原来是数据类型不匹配,所以不能赋值。
    在featureclass定义的时候应该加上geometryDefEdit.HasZ_2 = true;
    不然无法将3d数据强行赋给2d的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码