আমি আর্কজিআইএস 10.2 এর জন্য পাইথন ম্যাক্রো লেখার চেষ্টা করছি যা বিভিন্ন ধরণের অ্যাপার্টমেন্টের ভিত্তিতে একটি স্তরে লেবেল পয়েন্টগুলির প্রক্রিয়াটি স্বয়ংক্রিয় করবে auto উদাহরণস্বরূপ, এক স্টাইলের অ্যাপার্টমেন্টে একটি নীল বর্গক্ষেত্র থাকবে যেখানে একটি লেবেল হিসাবে সাদা গা bold় পাঠ্য থাকবে; অন্যটির কালো গোলাপী পাঠ্য সহ গোলাপী বর্গক্ষেত্র থাকবে; অন্য একটিতে একটি সাদা বোল্ড পাঠ্য সহ একটি লাল স্কোয়ার থাকবে have
এই লেবেলের শৈলীর পরিবর্তন করতে আপনি আরকিপিতে কোন অভিব্যক্তি বা ফাংশন ব্যবহার করবেন?
বর্তমানে, স্ক্রিপ্টটি একটি মানচিত্রের কোড দ্বারা অ্যাপার্টমেন্টগুলিকে লেবেল করেছে এবং এটিটির নামটি টিওসি-তে অ্যাপার্টমেন্টগুলিতে পরিবর্তন করা উচিত, যেমনটি হওয়া উচিত।
এখন আমি প্রত্যেকটির জন্য একটি অনন্য লেবেল তৈরি করতে দেখতে লেবেলের ফন্ট, গ্রাফিক এবং আকার পরিবর্তন করতে চাই এবং তারপরে একটি বোতাম টিপুন এবং কেবল আমাদের যখন এই স্তরগুলির একটি করতে হবে তখন প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে স্বয়ংক্রিয়ভাবে তৈরি করতে চাই।
পাইথন স্ক্রিপ্টিং (আরকিপি, আইডিএল, ইত্যাদি) ব্যবহার করে হরফ, লেবেল এবং গ্রাফিকগুলি কীভাবে পরিবর্তন করা যায়?
আমি এখানে যাচ্ছি তার চূড়ান্ত বিবরণ দিতে এই পোস্টটি সম্পাদনা করার সিদ্ধান্ত নিয়েছি যাতে কোনও বিভ্রান্তি নেই। মূলত, মানচিত্রের পয়েন্টগুলি উপরের ছবির মতো দেখতে এই দিকে যাবে:
আমি lblClass.expression
ফাংশনটি ব্যবহার করার চেষ্টা করেছি , তবে আমি যে কোডটি ব্যবহার করার চেষ্টা করছি তা কাজ করে না। আমি অনুমান করি যে সম্ভবত সঠিক দিকের পদক্ষেপ। নীচে এমন কিছু কোড রয়েছে যা আমি কেবল লেবেলক্লাস.এক্সপ্রেসনের জন্য লেবেলের ফন্টগুলি পরিবর্তন করতে চেষ্টা করেছি।
for lblClass in aptLayer.labelClasses:
lblClass.showClassLabels = True
def getLabel (Code, Type):
if Type == "MRR":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
elif Type == "TAX":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
elif Type == "MRT":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
elif Type == "GSS":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
elif Type == "TGS":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
else:
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
lblClass.expression = getLabel( [Map_Code],[Type])