ইনপুট হিসাবে মেমরি স্তর এবং / অথবা রানালগের সাহায্যে আউটপুট ব্যবহার করবেন?


9

কোনও মেমোরি স্তরটি কি ইনপুট হিসাবে এবং / বা রানালগের সাথে আউটপুট হিসাবে ব্যবহার করা যেতে পারে ?

সঙ্গে runandload আমি কাজ এই পাবেন:

 processing.runandload("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged")
 processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\dissolved.shp")

প্যারামিটার 2 এবং 3 হ'ল ইনপুট স্তরগুলি, যা ইতিমধ্যে মেমরিতে রয়েছে এবং পরামিতি 3 আউটপুট স্তর, যা মেমরিতে লিখিত এবং নিম্নলিখিত সরঞ্জামে (দ্রবীভূত) ব্যবহৃত হয়। এটি সূক্ষ্মভাবে কাজ করে, তবে যখন আমি রোলালগের সাথে একই যুক্তিটি ব্যবহার করার চেষ্টা করি তখন মেমরিতে আমার সংযুক্ত স্তরটি তৈরি বলে মনে হয় না, কারণ দ্রবীভূতকরণ সরঞ্জামটি কখনই চালিত হয় না। উদাহরণস্বরূপ, নিম্নলিখিতগুলি কাজ করবে না:

 processing.runalg("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged")
 processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\datenschrott\dissolved.shp")

আমি কি ধরে নিতে পারি যে রালালগ হয় মেমরিতে থাকা স্তরগুলি গ্রহণ করে না বা এটি কোনও আউটপুট দিতে পারে না?


উত্তর:


4

আপনার পদ্ধতিটি কেন কাজ করে না তা পুরোপুরি নিশ্চিত নয় তবে এর পরিবর্তে অন্য পদ্ধতিটি Noneব্যবহার করা উচিত runalgকারণ এটি মেমরিতে একটি আউটপুট তৈরি করবে। নীচে আমি প্রথম প্রক্রিয়াটিকে সংজ্ঞায়িত করেছি output_0এবং এর ফলাফলটিকে দ্বিতীয় প্রক্রিয়ার ইনপুট হিসাবে ডেকে আছি :

output_0 = processing.runalg("qgis:mergevectorlayers",["memory:bufferOne", "memory:bufferTwo"], None)
processing.runandload("qgis:dissolve", output_0['OUTPUT'], True, '', r"D:\PythonTesting\dissolved.shp")

ফলাফল:

ফলাফল


প্রসেসিং প্লাগইন v2.12.2 সহ কিউজিআইএস 2.16.0-নেদেবোতে পরীক্ষা করা হয়েছে।

নোট করুন যে qgis:mergevectorlayers এখন ইনপুট স্তরগুলির একটি তালিকা প্রয়োজন।


1

http://gis.stackexchange.com/q/76594/22646 রানালগ, রানডলোড এবং মেমরি স্তরকে আরও বেশি আলো দেয়। Http://gis.stackexchange.com/a/184802 অনুসারে , ফলস্বরূপ মেমরি স্তরটি উল্লেখ করার উপায় প্রসেসিং সংস্করণের উপর নির্ভর করে।

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