国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

arcengine append shape追加到mdb

2019-11-09 19:30:47
字體:
來源:轉載
供稿:網友

使用gp工具追加數據

    源文件為shape文件,目標文件為mdb,數據集中有部分字段可以匹配,字段名稱不一致部分不做對應。
/// <summary>        /// 追加數據        /// </summary>        /// <param name="inputPath">源數據對象</param>        /// <param name="targetPath">目標數據對象</param>        public static void GPAppend(AppendFeature inputPath, IFeatureClass targetPath)        {            GeoPRocessor mGeoprocessor = new Geoprocessor();            mGeoprocessor.OverwriteOutput = true;            Append mAppend = new Append();            mAppend.inputs = inputPath.FeatureClass;            mAppend.target = targetPath;            mAppend.schema_type = "NO_TEST";            //mAppend.field_mapping = GetFieldMapping(inputPath.FileFullPath);            string mMessageGP = "";            mGeoprocessor.Execute(mAppend, null);            for (int pMessageCount = 0; pMessageCount < mGeoprocessor.MessageCount; pMessageCount++)            {                mMessageGP += mGeoprocessor.GetMessage(pMessageCount);            }        }    schema_type 在NO_Text情況下,追加后發現即使字段名相同也不能使屬性值導入。通過比較ArcMap下Append工具的應用發現,選擇NO_TEXT選項后,在Field_Mapping中自動出現對象關系。查找ArcEngine幫助文檔發現此選項接收類型為IGPFiledMapping集合,集合為源對象字段與目標對象字段的對應關系,經分析如果字段名稱一樣的情況下,只要匹配源對象字段就可以解決屬性值不能導入的問題。

解決屬性字段不能導入問題

public static IGPFieldMapping GetFieldMapping(string ExInputPath)        {            IGPUtilities mGPUtilities = new GPUtilitiesClass();            IDETable mDETable = (IDETable)mGPUtilities.MakeDataElement(ExInputPath, null, null);            IArray mArray = new ArrayClass();            mArray.Add(mDETable);            IGPFieldMapping mGPFieldMapping = new GPFieldMappingClass();            mGPFieldMapping.Initialize(mArray, null);            //create new fieldmap            IGPFieldMap mGPFieldMap = new GPFieldMapClass();            //mGPFieldMap.OutputField = mFC1.Fields.get_Field(1);            //match field            int fieldmap_index = mGPFieldMapping.FindFieldMap("BSM");            IGPFieldMap mGPFNew = mGPFieldMapping.GetFieldMap(fieldmap_index);            int field_index = mGPFNew.FindInputField(mDETable, "BSM");            IField mField = mGPFNew.GetField(field_index);            mGPFieldMap.AddInputField(mDETable, mField, -1, -1);            mGPFieldMapping.AddFieldMap(mGPFieldMap);            return mGPFieldMapping;        }    其中GPUtilities類獲取表集合IDETable,IDETable猜測為源對象表,沒有經過嚴格測試,只是IDETable作為源對象表可以解決產生的問題。IGPFieldMapping類是對應關系集合。IGPFieldMap對應關系,需要匹配輸入字段與輸出字段,匹配后添加到IGPFieldMapping。
上一篇:樸素貝葉斯

下一篇:第2章-對象的共享

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潼关县| 遂平县| 哈密市| 西盟| 新野县| 隆昌县| 保康县| 新巴尔虎右旗| 莱芜市| 肇源县| 民丰县| 龙山县| 永和县| 孝感市| 清苑县| 镇安县| 乐清市| 聊城市| 荆州市| 上犹县| 阜阳市| 巴林左旗| 舟山市| 呈贡县| 曲靖市| 福贡县| 彰化市| 仙居县| 赤壁市| 镇赉县| 曲阳县| 桐梓县| 峨眉山市| 抚远县| 邵阳县| 仁化县| 循化| 奉贤区| 于都县| 松潘县| 安平县|