zoukankan      html  css  js  c++  java
  • 爆出错误:The Geometry has no Z values

    ArcGis添加地图标注,爆出错误:The Geometry has no Z values

    解决方法如下:

    public bool AddFeature( ESRI.ArcGIS.Geometry.IGeometry geometry,System.Collections.Generic.Dictionary<string ,object> properties)
    
            {
    
                try
    
                {
    
                    ESRI.ArcGIS.Geodatabase.IFeature feature = _featureLayer.FeatureClass.CreateFeature();
    
     
    
                    int index;
    
                    index = feature.Fields.FindField("Shape");
    
                    IGeometryDef pGeometryDef;
    
                    pGeometryDef = feature.Fields.get_Field(index).GeometryDef as IGeometryDef;
    
     
    
                    if (pGeometryDef.HasZ)
    
                    {
    
                        IZAware pZAware = (IZAware)geometry;
    
                        pZAware.ZAware = true;
    
                        //IZ iz1 = (IZ)geometry;
    
                        //iz1.SetConstantZ(0);  //将Z值设置为0
    
                        IPoint point = (IPoint)geometry;
    
                        point.Z = 0;
    
                    }
    
                    else
    
                    {
    
                        IZAware pZAware = (IZAware)geometry;
    
                        pZAware.ZAware = false;
    
                    }
    
                    if (pGeometryDef.HasM)
    
                    {
    
                        IMAware pMAware = (IMAware)geometry;
    
                        pMAware.MAware = true;
    
                    }
    
                    else
    
                    {
    
                        IMAware pMAware = (IMAware)geometry;
    
                        pMAware.MAware = false;
    
                    }
    
     
    
     
    
                    feature.Shape = geometry;
    
                    foreach (string key in properties.Keys)
    
                    {
    
                        SetFeatueProperty(feature, key, properties[key]);
    
                    }
    
                     
    
                    feature.Store();  
    
                    return true;
    
                }
    
                catch (Exception ee)
    
                {
    
                    return false;
    
                }
    
            }
    

      

  • 相关阅读:
    元素和容器, Model and View
    KeyboardHook in C#
    项目步骤
    对编程的思考
    Web开发中使用数据库的3种方式
    动态得到属性的名字
    WPF Databinding examples
    【SPOJ】220 Relevant Phrases of Annihilation
    【FOJ】2075 Substring
    【UVa】760 DNA Sequencing
  • 原文地址:https://www.cnblogs.com/lc-ant/p/4209976.html
Copyright © 2011-2022 走看看