আর্কম্যাপে প্রোগ্রাম্যাটিকভাবে শেফফিল সম্পাদনা করছেন?


9

এটি কি এমন কিছু করা যায় যা করা যায়?

উদাহরণস্বরূপ, যদি আমি কোনও মানচিত্রে ওভারলে তৈরি করে এবং এটি একটি শেফফিল হিসাবে সংরক্ষণ করি তবে আমি যেতে চাই এবং এটি ( পূর্ববর্তী ফাইলটি )

আদর্শভাবে আমি একটি নতুন শেফফিল তৈরি করা এবং পুরানোটিকে মুছে ফেলা এড়াতে চাই।

থটস?

সম্পাদনা 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);

আপনি কি বলছেন যে আপনি আর্কম্যাপের অঙ্কন সরঞ্জামের সাহায্যে মানচিত্রে কিছু টীকাগুলি আঁকেছেন? যদি আপনি এটিকে কোনও শেপ ফাইলে রূপান্তর করেন তবে আপনি অবশ্যই এটি সম্পাদনা করতে পারবেন যেন এটি কোনও শেফফিল were
jvangeld

আমি একটি আইপলিগন তৈরি করতে আর্কম্যাপ.ট্র্যাকপলিগন ব্যবহার করছি এবং পরে আমি শেষ পর্যন্ত এটিকে একটি আকারের ফাইলে পরিণত করি। তারপরে আমি যা করতে চাই তা হ'ল এই শেফফাইলটি সম্পাদনা করুন .... আমি কীভাবে বৈশিষ্ট্যগুলি অর্জন করতে জানি (পয়েন্টস, ফিল স্টাইল, রঙ ইত্যাদি)
ist_lion

1
সুতরাং ব্যাকরণগতভাবে আরকোবজেক্টসে?
ম্যাপারজ

হ্যাঁ আমি এটি করতে চাই
ist_lion

সমাধান ভাগ করে নেওয়ার জন্য ধন্যবাদ, fyi আপনি যদি সি # দিয়ে ট্যাগ করেন তবে আপনি সিনট্যাক্স হাইলাইট পাবেন।
প্যাট্রিক

উত্তর:


4

আমি প্রোগ্রামে একটি শেফফিল তৈরি করেছি এবং পরিচালনা করেছি - সুতরাং এটি পয়েন্ট যুক্ত করার জন্য কিছু ইঙ্গিত প্রদান করতে পারে : আইজিওমেট্রিটিকে একটি স্তর স্তর হিসাবে ডিস্কে সংরক্ষণ করুন

একটি স্তর রঙ করার ক্ষেত্রে, এটি বেশ সহজ।

IGeoFeatureLayer geolayer = thislayer as IGeoFeatureLayer;
ISimpleRenderer simplerenderer = geolayer.Renderer as ISimpleRenderer;
if (simplerenderer != null)
{
//depending on the type one of these objects will probably not be null -- then set .Color and .Symbol 

IMarkerSymbol markersymbol = simplerenderer.Symbol as IMarkerSymbol;
ILineSymbol linesymbol = simplerenderer.Symbol as ILineSymbol;
SimpleFillSymbol simpleFillSymbol = simplerenderer.Symbol as SimpleFillSymbol;
}

হুম, সম্ভবত আমি এই প্রশ্নটি সঠিকভাবে বলছি না। আমি ইতিমধ্যে প্রোগ্রাম আকারে একটি আকার ফাইল তৈরি এবং সংরক্ষণ করতে পারি। আমি যা করতে চাই তা হ'ল এই প্রাক-বিদ্যমান ফাইলটি সম্পাদনা করা। আমি অনুমান করছি একই যুক্তিটি যদিও কাজ করবে ....
ist_lion

1
@ পিএসইউ_কার্দি আমি মনে করি আপনাকে ফিচার কার্সার ব্যবহার করতে হবে nস্নাতকৃতি (এফবি); এবং বৈশিষ্ট্য কার্সার.ডিলিট বৈশিষ্ট্যটি আপনার প্রাক-বিদ্যমান ফাইলটি সম্পাদনা করতে
প্যাট্রিক

আমি এটি সন্ধান করব - আমি মনে করি
এটিই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.