কিউজিআইএস ফিল্ড ক্যালকুলেটরটিতে সেভিং ইক্যুয়েশন ব্যবহার করা হয়?


10

আমি একটি নতুন গণনা করা পয়েন্টের কয়েকটি মান গণনা করার চেষ্টা করছি। সুতরাং আমি মান নির্ধারণের জন্য একটি সমীকরণ লিখতে ফিল্ড ক্যালকুলেটরটি ব্যবহার করি।

সেই সমীকরণটি সংরক্ষণ করার কি কোনও উপায় আছে, যাতে এবং যখন আমি কোনও নতুন কাজ শুরু করি, তখন আমাকে আবার টাইপ করতে হবে না?

আপনি কীভাবে বিন্যাসের অ্যারের জন্য শৈলী এবং প্রতীকবিদ্যা সংরক্ষণ করবেন তার অনুরূপ কিছু।


এটি একটি ভাল বৈশিষ্ট্য অনুরোধ এবং যোগ করা বেশ সহজ হবে।
নাথান

উত্তর:


5

কিউজিআইএস ফিল্ড ক্যালকুলেটরে ব্যবহৃত সর্বশেষ সমীকরণটি "সাম্প্রতিক" ট্যাবটির নীচে সংরক্ষণ করে যেখানে আপনি এটি ডাবল-ক্লিক করে পুনরায় ব্যবহার করতে পারবেন

ফিল্ড ক্যালকের img


এটি ঠিক আছে যদি ওপি পরে অন্য সমীকরণ ব্যবহার না করে। তবে ওপি যখন নতুন সমীকরণ ব্যবহার করবে তখন এটি অদৃশ্য হয়ে যাবে। Recentধারক মাত্র সাময়িকভাবে হয়।
আহমাদব

5

আপনি আপনার সমীকরণটি একটি নতুন ফাংশনে লিখতে পারেন এবং তারপরে আপনাকে কেবল গণনাটি পুনরায় প্রয়োগ করতে ফাংশনটি কল করতে হবে।

ফিল্ড ক্যালকুলেটরটি Function Editorখুলুন, ট্যাবে ক্লিক করুন , new fileতারপরে ফাংশনটি সম্পাদনা করুন। নির্বাচন করুন load। নোট যে okএই মুহুর্তে উপলব্ধ হবে না।

Expressionট্যাবে ফিরে যান , customফাংশন গ্রুপটি নির্বাচন করুন এবং আপনার ফাংশনে ডাবল ক্লিক করুন। আপডেট করার জন্য ক্ষেত্রটি নির্বাচন করুন এবং হিট করুন ok


আপনি যদি কেবলমাত্র ক্ষেত্রের মান এবং ধ্রুবক ব্যবহার করতে চান তবে আপনি ডিফল্ট ফাংশন স্বাক্ষরটি সম্পাদনা করতে পারেন, যা দিয়ে শুরু হয় value1। আমার উদাহরণে আমি এটি সরিয়েছি, তবে আপনি নতুন যুক্তিগুলি পাস করার জন্য এই ক্ষেত্রটি ব্যবহার করতে পারেন।

তারপরে আপনি বৈশিষ্ট্যটির ক্ষেত্রের মানগুলি ব্যবহার করে অ্যাক্সেস করতে পারেন feature["fieldName"].... ব্যবহার করে কেবল বর্ণিত স্তরগুলিতে এই ফাংশনটি কল করতে সতর্ক থাকুন !

@qgsfunction(args='auto', group='Custom')
def funcTestCalc( feature, parent):
    return feature["fieldA"]+feature["fieldB"];

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


3

@ লাফউ-এর সমাধানের সাথে সাথে, আপনি কোনও ফিল্ড ক্যালকুলেটর অপারেশনকে একটি গ্রাফিক্যাল মডেলের সাথে অন্তর্ভুক্ত করতে পারেন এবং তারপরে মডেলটি সংরক্ষণ এবং চালাতে পারেন। এটি তবে আপনার কলামের নাম সর্বদা একই হতে পারে।


2

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

ভার্চুয়াল ফিল্ড

ভার্চুয়াল ক্ষেত্রটি প্রতিটি নতুন বৈশিষ্ট্যের জন্য স্বয়ংক্রিয়ভাবে একটি এক্সপ্রেশন গণনা করে। এটি নিয়মিত আপডেট হয়। সুতরাং, যেমন, "অক্ষাংশ" নামক ভার্চুয়াল ফিল্ডের জন্য আপনি এক্সপ্রেশনটি ব্যবহার করতে পারেন $y

ভার্চুয়াল ফিল্ডগুলির প্রো এবং কনস:

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

একটি ডিফল্ট ক্ষেত্র মান সহ নিয়মিত ক্ষেত্র

আপনি একটি এক্সপ্রেশন উপর ভিত্তি করে একটি ডিফল্ট মান আছে একটি ক্ষেত্র সেট আপ করতে পারেন। আপনি যখন একটি নতুন পয়েন্ট তৈরি করবেন, এর বৈশিষ্ট্যটি ডিফল্ট মান দিয়ে স্বয়ংক্রিয়ভাবে পূর্ণ হবে। আপনি বৈশিষ্ট্যের মান পরিবর্তন করতে পারেন। এটি স্বয়ংক্রিয়ভাবে আপডেট হয় না *

ডিফল্ট ক্ষেত্রের মানগুলির পক্ষে এবং কনস:

  • আপনি যখনই কোনও নতুন পয়েন্ট যুক্ত করবেন, এতে স্বয়ংক্রিয়ভাবে এই ক্ষেত্রটিতে এক্সপ্রেশনটির আউটপুট যুক্ত হবে।
  • স্বয়ংক্রিয়ভাবে আপডেট হয় না। উদাহরণস্বরূপ এর অর্থ হ'ল আপনি যদি কোনও বিদ্যমান বিন্দু স্থানান্তরিত করেন তবে এর "অক্ষাংশ" মান আপডেট হবে না।
  • আপনি এই ক্ষেত্রের মান পরিবর্তন করতে পারেন।
  • শেফফিলের অংশ হিসাবে সংরক্ষণ করা হয়েছে। সুতরাং আপনি যদি অন্য কোনও প্রকল্পে স্তরটি খুলেন তবে এর বৈশিষ্ট্য সারণীতে এটির ক্ষেত্রটি থাকবে।

* কিউজিসআইএস ৩.২-তে, ডিফল্ট ক্ষেত্রের মানগুলি (allyচ্ছিকভাবে) "আপডেটের ক্ষেত্রে ডিফল্ট মান প্রয়োগ করতে" সেট করা যেতে পারে। এই বিকল্পের সাহায্যে, আপনি যদি এমন একটি বিন্দু স্থানান্তর করেন যেখানে ডিফল্ট মানটি $yবর্তমান মানটি নতুন y- স্থানাঙ্ক দ্বারা প্রতিস্থাপন করা হবে।


আমি মনে করি ডিফল্ট ক্ষেত্রের মান QGIS 3.2 এ স্বয়ংক্রিয় আপডেটে সেট করা যেতে পারে।
সে_ ওয়েডস

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