এটি কি এমন কিছু করা যায় যা করা যায়?
উদাহরণস্বরূপ, যদি আমি কোনও মানচিত্রে ওভারলে তৈরি করে এবং এটি একটি শেফফিল হিসাবে সংরক্ষণ করি তবে আমি যেতে চাই এবং এটি ( পূর্ববর্তী ফাইলটি )
আদর্শভাবে আমি একটি নতুন শেফফিল তৈরি করা এবং পুরানোটিকে মুছে ফেলা এড়াতে চাই।
থটস?
সম্পাদনা 1: ঠিক আছে, এখন কেউ বলেছেন যে এটি করা যেতে পারে। সুস্পষ্ট প্রশ্নটি হল, আপনি কীভাবে আকৃতিটি সম্পাদনা করবেন (ব্যাকরণগতভাবে আরকোবজেক্টসে)?
সম্পাদনা 2: মন্তব্যগুলি দেখে মনে হচ্ছে এ জাতীয় কিছু করা আমার প্রয়োজন, তবে আমি নিশ্চিত নই।
আমার কাছে বর্তমানে একটি বেসিক শেফফাইল রয়েছে যা আমি সি # তে আরকোবজেক্টসে সম্পাদনা করতে চাই।
আমি একটি ফিচারক্লাস, ওয়ার্কস্পেস তৈরি করে এবং তারপরে স্পষ্টত আমার আকারে পাস করে একটি শেফফাইল তৈরি করেছি। এই ক্ষেত্রে এটিতে কয়েকটি পয়েন্ট সহ কেবল একটি সরল পললাইন। আমি যা করতে চাই তা হ'ল এই শেফফাইলটি আপডেট করার ক্ষমতা।
আমি ধরে নিচ্ছি আমার সেই ফিচার ক্লাস, ওয়ার্কস্পেসটি আবার ব্যবহার করতে হবে এবং নতুন আকারে পাস করতে হবে। তবে, আমি যা করছি তা কাজ করে বলে মনে হচ্ছে না। আমি এখানে সম্পাদনা করছি - কোনও পরামর্শ দুর্দান্ত হবে great
IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)inWorkspace;
workspaceEdit.StartEditing(true);
workspaceEdit.StartEditOperation();
ComReleaser comReleaser = new ComReleaser();
IFeatureCursor featureCursor = inFeatureClass.Update(null , true);
IFeature feature = null;
while((feature = featureCursor.NextFeature()) != null)
{
int id = feature.Fields.FindField("shape");
IFeatureBuffer featureBuffer = inFeatureClass.CreateFeatureBuffer();
featureCursor.DeleteFeature(); //Delete the old
featureBuffer.Shape = (IGeometry)inShape;
featureCursor.InsertFeature(featureBuffer);
}
workspaceEdit.StopEdidtOperation();
workspaceEdit.StopEditing(true);
সম্পাদনা 3: চূড়ান্ত সমাধান
featureCursor = inFeatureClass.Update(null ,true);
//DELETE old shape
featureCursor = inFeatureClass.Insert(true);
//Insert new
workspaceEdit.StopEditOperation();
workspaceEdit.StopEditing(true);