পাইথন এবং আরকজিআইএস ডেস্কটপ সহ একাধিক কলাম সহ মাল্টিভ্যালু প্যারামিটার প্রয়োগ করা হচ্ছে?


10

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

ক্রস-পোস্ট: http://forums.arcgis.com/threads/30907- মাল্টিভ্যালু- পারমিতার- সাথে- একাধিক- কলাম

আরকজিআইএস ফোরাম থেকে এসরির উত্তর:

দুর্ভাগ্যক্রমে, এর জন্য সমাধানটি সম্প্রতি স্ক্রিপ্ট সরঞ্জামগুলির জন্য ভ্যালুবেল ইনপুটগুলির সাথে 10.1-র জন্য কার্যকর করা হয়েছিল। 9.3.1 এর জন্য এই কাজটি করার জন্য আপনার কাছে কিছু কাস্টম বৈধতা সহ দুটি মাল্টিভলিউ পরামিতি থাকতে হবে।


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

উত্তর:


1

আমি মোটামুটি সহজ উপায়ে কীভাবে এটি করব তা নিয়ে কাজ করেছি। আমি একটি মাল্টিভ্যু প্যারামিটার তৈরি করতে চেয়েছিলাম যেখানে আমি অনেকগুলি ফিচারলায়ার যুক্ত করি এবং তারপরে প্রতিটি স্তরের জন্য একটি আইডি ক্ষেত্র বেছে নিতে পারি। আমি এটি কাজ করে চলেছি তবে ক্ষেত্রটিকে কীভাবে একটি ড্রপ ডাউন তালিকা তৈরি করতে হয় তা আমি কাজ করতে অক্ষম, সুতরাং কোনও ব্যবহারকারীকে ম্যানুয়ালি একটি ফিল্ডের নাম লিখতে হবে। ইন্টারফেসটি এখানে:

উদাহরণ ইন্টারফেস

যদি কেউ এই সমস্যাটি ক্র্যাক করতে পরিচালিত হয় বা ইএসআরআই থেকে কিছু গুরু আমাদের তাদের জ্ঞান দিয়ে আশীর্বাদ করে আমি নির্দিষ্ট ক্ষেত্রগুলির তালিকা তৈরি করে আমার দ্বিতীয় কলাম (সাইট আইডি) কে কীভাবে একটি ড্রপ ডাউনে পরিণত করতে পারি তা জানতে আগ্রহী। আপনি যদি এর উদাহরণ দেখতে চান তবে তৈরি টিআইএন সরঞ্জামটি দেখুন।

যাইহোক এই ইন্টারফেসটি তৈরি করতে আমি একটি স্ক্রিপ্ট সরঞ্জাম তৈরি করেছি এবং বৈশিষ্ট্য স্তর বৈশিষ্ট্যের স্তরটির একটি পরামিতি যুক্ত করেছি এবং এটি নীচের মত দেখানো হিসাবে একটি মাল্টিভ্যুতে সেট করেছি।

প্রাথমিক ইন্টারফেস সেটিং

আমি তারপরে উপরের বৈধতা ট্যাবে এবং তারপরে সম্পাদনা বোতামটি ক্লিক করেছি। আমার স্ক্রিপ্ট সরঞ্জামটিতে এই প্যারামিটারটি 6th ষ্ঠ প্যারামিটার হিসাবে আমি নিম্নলিখিত কোডটি আপডেট করেছি:

def initializeParameters(self):
    """Refine the properties of a tool's parameters.  This method is
    called when the tool is opened."""

    # Get the 6th parameter
    param = self.params[6]
    param.datatype = "Value Table"
    param.columns = [["Feature Layer","Activity Layer"],["Field","Site ID"]]    
    return

এটি ইন্টারফেসটি আমার পছন্দ করে এমন বহু কলামের সারণীতে পুনরায় সেট করে। আপনি যখন getParameterAsText ব্যবহার করেন এটি আমার উদাহরণ ব্যবহার করে নিম্নলিখিতটি ফেরত দেয়:

pipeline pid;Dredging did


আমি আরও কিছু গবেষণা করেছি এবং পাইথন টুলবক্স ব্যবহার করে সরঞ্জামটি তৈরি করেছি। এটি খুব ভালভাবে কাজ করে তবে যদি আপনি ফিরে যান এবং অন্য আইডি চয়ন করেন তবে তার সীমাবদ্ধতা রয়েছে। আমি জিওনেটে কোডটি এখানে পোস্ট করেছি ।


0

আপনি যদি সাইট আইডি প্যারামিটারের জন্য ড্রপ-ডাউন তালিকার সন্ধান করছেন, আপনি নিম্নলিখিত হিসাবে একটি কোড ব্যবহার করতে পারেন:

 param.filters[1].list = ['pid', 'id']

সুতরাং, আপনি একটি কার্সার তৈরি করতে পারেন বা অন্য পদ্ধতি ব্যবহার করে এফসির সমস্ত ক্ষেত্র পড়তে পারেন এবং তাদের তালিকা হিসাবে পূর্ববর্তী বাক্যে পাস করতে পারেন

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