24小时热门版块排行榜    

查看: 1126  |  回复: 0

?s娃

铜虫 (初入文坛)

[求助] IFeatureWorkSpace:CreatFeatureClass问题

在使用IFeatureWorkSpace:CreatFeatureClass接口时总提示:异常来自HRESULT:0x8004120E,原代码如下:


  public IFeatureLayer AddFeatureLayerByMemoryWS(ISpatialReference sp, DataTable Data)
        {
            //创建新的内存工作空间
            IWorkspaceFactory pWSF = new InMemoryWorkspaceFactoryClass();
            IWorkspaceName pWSName = pWSF.Create("", "Temp", null, 0);

            ESRI.ArcGIS.esriSystem.IName pName = (ESRI.ArcGIS.esriSystem.IName)pWSName;
            IWorkspace pMemoryWS = (IWorkspace)pName.Open();

            IFeatureLayer pFeatureLayer = new FeatureLayerClass();
            IFields pFields = new FieldsClass();
            IFieldsEdit pFieldsEdit;
            pFieldsEdit = (IFieldsEdit)pFields;

            IField pField = new FieldClass();
            IFieldEdit pFieldEdit = (IFieldEdit)pField;

                //定义图层中的若干属性
                pFieldEdit.Name_2 = "Shape";
                pFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;

                //定义空间几何对象类型
                IGeometryDef pGeometryDef = new GeometryDefClass();
                IGeometryDefEdit pGDefEdit = (IGeometryDefEdit)pGeometryDef;
                pGDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPoint;
                pGDefEdit.SpatialReference_2 = sp;

                pFieldEdit.GeometryDef_2 = pGeometryDef;
                pFieldsEdit.AddField(pField);

                //添加自动站其他属性字段
                for (int i = 0; i < Data.Columns.Count; i++)
                {
                    pField = new FieldClass();
                    pFieldEdit = (IFieldEdit)pField;
                    pFieldEdit.Length_2 = 30;
                    pFieldEdit.Name_2 = Data.Columns.Caption;
                    pFieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
                    pFieldsEdit.AddField(pField);
                }

                //创建要素类
                IFeatureClass pFeatureClass = null;
                //创建要素类
                IFeatureWorkspace pFeatureWorkspace = pMemoryWS as IFeatureWorkspace;
                pFeatureClass = pFeatureWorkspace.CreateFeatureClass("Temp",pFields,null,null,esriFeatureType.esriFTSimple,"SHAPE","";

               ………………
        }

请帮忙解决一下,谢谢!!   
回复此楼
每个人都会累,没人能为你承担所有伤悲,人总有一段时间要学会自己长大。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 ?s娃 的主题更新
信息提示
请填处理意见