আরকেপি সহ টিকাশী স্তরগুলি পরিচালনা করুন


10

আমি আরকিপি ব্যবহার করে টীকাগুলির স্তরগুলিতে অ্যাক্সেস করতে চাই (উদ্দেশ্যটি টেক্সট টীকায় কয়েকটি পাঠ্য স্ট্রিং যাচাই করা)। টিকা রচনার অর্থ হ'ল সরঞ্জাম টীকাগুলি আঁকুন , গতিশীল লেবেল নয়। এই টীকাগুলি স্তরগুলি 'ডিফল্ট' নামে একটি গোষ্ঠী স্তরের অধীনে রয়েছে।

Esri ডকুমেন্টেশন স্তর নিজেরাই হচ্ছে ড্র টীকা এর আলোচনা:

মানচিত্রের নথিতে মূলত তিনটি স্তর রয়েছে: বৈশিষ্ট্য স্তর, গোষ্ঠী স্তর এবং রাস্টার স্তর। IsFEatureLayer, isGroupLayer, এবং isRasterLayer বৈশিষ্ট্য আপনাকে বেশিরভাগ স্তর ধরণের শনাক্ত করতে বা পৃথক করতে দেয় তবে সমস্ত স্তর প্রকার নয়। কয়েকটি কয়েকটি বিশেষায়িত স্তর এবং ডেটাসেট রয়েছে যা এই তিনটি বিভাগের মধ্যে একটির মধ্যে পড়ে না: টিকাশী সাবক্ল্যাসস, মাত্রা বৈশিষ্ট্য, নেটওয়ার্ক ডেটাসেট, টেরিন ডেটাসেট, টপোলজি ডেটাসেট এবং আরও অনেক কিছু। এই ক্ষেত্রে আপনাকে অন্যান্য বৈশিষ্ট্যগুলির কিছু করার আগে আগ্রহের স্তরকে আলাদা করতে পরীক্ষা করতে হবে।

সচেতন হওয়ার একটি বিষয় হ'ল আর্কজিআইএস কীভাবে টীকাগুলি আঁকবে , দুটি গড় কনফিগারেশন সম্ভব:

আর্কজিআইএস সম্পূর্ণরূপে দুটি ধরণের টিকাশকে সমর্থন করে: জিওডাটাবেস এবং মানচিত্র নথি

আমার ক্ষেত্রে এটি মানচিত্রের নথি।


এই সমস্ত ডকুমেন্টেশনের আলোকে, এটি এমনভাবে উপস্থিত হয় যে অঙ্কিত টীকাগুলি কেবল স্তর মাত্র, সুতরাং একটি সাধারণ কোড যেমন এই কাজ করা উচিত:

mxd = arcpy.mapping.MapDocument("some\mxdpath\here")
df = arcpy.mapping.ListDataFrames(mxd,"Layers")
lyr = arcpy.mapping.ListLayers(mxd,"current_annotation_layer",df) 

তবে সমস্যাটি হ'ল টীকাগুলি ডেটাফ্রেমের মাধ্যমে প্রাপ্তযোগ্য বলে মনে হয় না (যা আমার প্রতিটি টীকা স্তরকে একটি বৈশিষ্ট্য স্তরের সাথে সম্পর্কিত বলে বিবেচনা করে অদ্ভুত is


টীকাগুলি অ্যাক্সেসের জন্য কোনও নির্দিষ্ট আরকি ক্লাস ( আর্কওজেক্ট এসডিকে আইএএনটেশন ফিচার 2 এর সাথে তুলনাযোগ্য)? কোন কাজ?

ধন্যবাদ!


আপনি কি কমপিটিস এবং আরকোবজেক্টসের মাধ্যমে আপনার মানচিত্রের নথি টীকাটি সংশোধন করতে পরিচালনা করেছেন? আরও তথ্যের জন্য কোন পয়েন্টার? অনেক ধন্যবাদ!!
Hèlène

উত্তর:


3

আরকপি সমস্ত আর্কওবজেক্টগুলি প্রকাশ করে না। আমি যা বলতে পারি তা থেকে, এটি অনেকগুলি ইন্টারফেসগুলির মধ্যে একটি যা আরকপিতে প্রকাশিত হয় না। কেবল পৃষ্ঠা বিন্যাস উপাদানগুলি আর্কিটিতে উন্মুক্ত করা হয়েছে: তালিকা- লেআউটআলিটমেন্টস (আরকিপি.ম্যাপিং)

আপনার যদি এটি করার প্রয়োজন হয় তবে আপনার একমাত্র পছন্দ হ'ল আরকোবজেক্টস। আপনি যদি পাইথন ব্যবহার করতে চান তবে দেখুন আমি কীভাবে পাইথন থেকে আরকঅবজেক্টগুলি অ্যাক্সেস করব?

অন্যথায় আপনি খোঁজার অথবা একটি তৈরি করতে চান পারে ArcGIS আইডিয়া এই সম্পর্কে (শুধুমাত্র প্রাসঙ্গিক বিদ্যমান ধারণা আমি খোঁজ পাওয়া যায়নি এই এক )।


হাই, আমি এই উত্তরটি আশা করেছিলাম, তবে লিঙ্কগুলির জন্য ধন্যবাদ এবং +1, এটি সাহায্য করতে পারে।
আখলোজ

@ আখালো আপনি কি নিজের মানচিত্রের নথি টীকা সংশ্লেষ এবং আর্কওবজেক্টের মাধ্যমে সংশোধন পরিচালনা করেছেন?
Hèlène

0

অন্যরা যদি এতে হোঁচট খায় তবে আমি একটি প্রতিক্রিয়া যুক্ত করছি। টীকাগুলি আরকিপির মাধ্যমে অ্যাক্সেসযোগ্য এবং স্তর হিসাবে বিবেচনা করা যেতে পারে। কোডটি কাজ করে না কারণ এটি একটি সূচক অনুপস্থিত, কারণ টীকাগুলি অ্যাক্সেসযোগ্য নয়। এই ফাংশনগুলি প্রতিবার একটি তালিকা ফেরত দেয়, তাই আপনি যদি কোনও ওয়াইল্ডকার্ড ব্যবহার করেন (এই ক্ষেত্রে " স্তরগুলি " এবং " বর্তমান_অনোটেশন_লেয়ার "), তবুও আপনাকে পুনরুদ্ধার করতে সূচি নির্দিষ্ট করতে হবে এবং যথাক্রমে এটি কোনও অবজেক্টকে অর্পণ করতে হবে ( ডিএফ এবং লির )।

কোডটি হওয়া উচিত:

df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
lyr = arcpy.mapping.ListDataFrames(mxd, "current_annotation_layer", df)[0]

আমার টীকাগুলির স্তরটি অ্যাক্সেস করতে আমি আরকিপি ব্যবহার করেছি এর একটি উদাহরণ এখানে। আমার মানচিত্রের জন্য, আমি চাইছিলাম টীকাটি যদি আমার আগ্রহের ক্ষেত্রের বাইরে থাকে তবে 20% স্বচ্ছতার সাথে একটি মুখোশের নীচে সরানো হোক।

my_annotation_lyr = arcpy.mapping.Layer("Long_ProjectsAnno")
reference_lyr = arcpy.mapping.Layer("counties_mask")
arcpy.mapping.MoveLayer(df, reference_lyr, my_annotation_lyr, "AFTER")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.