Esempio n. 1
0
        /// <summary>
        /// 复制源要素类的表结构,创建一个空的要素类
        /// </summary>
        /// <param name="sourceClass">源要素类</param>
        /// <param name="targetObject">IWorkspace、IFeatureWorkspace或IFeatureDataset对象,在该对象中创建新要素类</param>
        /// <param name="name">新要素类名称</param>
        /// <param name="geoType">要素类的几何类型</param>
        /// <param name="aliasName">新要素类别名,值为null则别名与名字相同</param>
        /// <returns></returns>
        public static IFeatureClass CopyStruct(this IFeatureClass sourceClass, object targetObject, string name, esriGeometryType geoType, string aliasName = null)
        {
            var spatialRef = sourceClass.GetSpatialRef();
            var feilds     = sourceClass.CloneFeatureClassFieldsSimple();

            var featureClass = Create(targetObject, name, spatialRef, geoType, feilds);

            if (!String.IsNullOrEmpty(aliasName))
            {
                featureClass.RenameFeatureClassAliasName(aliasName);
            }
            return(featureClass);
        }
Esempio n. 2
0
        /// <summary>
        /// 复制源要素类的表结构,创建一个空的要素类
        /// </summary>
        /// <param name="sourceClass">源要素类</param>
        /// <param name="targetFullPath">新要素类的保存路径</param>
        /// <param name="geoType">要素类的几何类型</param>
        /// <param name="aliasName">新要素类别名,值为null则别名与名字相同</param>
        /// <returns></returns>
        public static IFeatureClass CopyStruct(this IFeatureClass sourceClass, string targetFullPath, esriGeometryType geoType, string aliasName = null)
        {
            var spatialRef = sourceClass.GetSpatialRef();
            var feilds     = sourceClass.CloneFeatureClassFieldsSimple();

            var shapeField = FieldOpt.CreateShapeField(geoType, spatialRef);

            ((IFieldsEdit)feilds).AddField(shapeField);
            var featureClass = FeatureClassEx.CreateToPath(targetFullPath, feilds);

            if (!String.IsNullOrEmpty(aliasName))
            {
                featureClass.RenameFeatureClassAliasName(aliasName);
            }
            return(featureClass);
        }