أكثر

تحديث سجلات المعالم في ArcGIS 10

تحديث سجلات المعالم في ArcGIS 10


يجب أن أقوم بتحديث سجلات المعالم المتعددة في ArcGIS من خلال ArcObjects. أدناه هو رمز بلدي.

إنها تعمل بشكل جيد لأول مرة ولكنها تعطيني خطأ أثناء تشغيل عامل تصفية الاستعلام في المرة القادمة التي تعطيني خطأ "أذونات غير كافية".

foreach (test toProcess in forProcess) {int OID = toProcess.R1 ؛ int GISID = toProcess.R2 ؛ مزدوج sLength = toProcess.R3 ؛ string whereec = "OBJECTID = '" + OID + "' AND GISID = '" + GISID + "" "؛ // تهيئة queryfilter queryFilter.SubFields = "*" ؛ queryFilter.WhereClause = Whereec؛ // البحث من خلال queryfilter IFeatureCursor featureCursor2 = featureClass.Search (queryFilter ، false) ؛ // احصل على ميزات الإخراج IFeature featurenew = featureCursor2.NextFeature ()؛ // while (featurenew! = null) (لا تستخدم ميزة واحدة فقط في وقت واحد) // {IObject pObject = featurenew؛ int iNewTag = GISAUConstants.kiNoSequenceValue ؛ // احصل على قيمة علامة جديدة من تسلسل العلامات داخل مساحة العمل. iNewTag = CommonFunct.GetSequenceValue (GISAUConstants.ksGISIDSequenceName ، مساحة العمل) ، إذا (iNewTag <= GISAUConstants.kiNoSequenceValue) طرح استثناء جديد ("قيمة علامة غير صالحة:" + iNewTag) ؛ // احصل على فهرس الحقل حسب اسم النموذج. int fieldIndex = CommonFunct.GetFirstFieldIndexByModelName (pObject ، GISAUConstants.ksMNFieldGISID) ، // هل حصلنا على فهرس حقل صالح؟ إذا كان (fieldIndex == GISAUConstants.kiNoField) طرح استثناء جديد ("ليس لديه حقل باسم النموذج:" + GISAUConstants.ksMNFieldGISID) ؛ // كل شيء على ما يرام ... اكتب قيمة العلامة في الحقل. featurenew.set_Value (fieldIndex، iNewTag) ، الميزات الجديدة. مخزن () ، //featureselection.Clear () ؛ logger.WriteLine (DateTime.Now.ToString () + "معرف الكائن:" + OID + "GISID السابق:" + OID + ">> GISID الجديد:" + iNewTag)؛ // featurenew = featureCursor.NextFeature () ، (لأن لدي ميزة واحدة فقط)}

يجب عليك تحرير المؤشر بعد كل استخدام. ما عليك سوى إضافة هذه الأسطر في نهاية الرموز الخاصة بك:

System.Runtime.InteropServices.Marshal.ReleaseComObject (featureCursor2) ، featureCursor2 = خالية ،

وإضافة إشارة إلى الجمعية المحلية ESRI.ArcGIS.ADF.


شاهد الفيديو: ArcGIS - Converting a geodatabase to shapefiles