QGIS 3 এ প্রসেসিং.জেটবজেক্ট ()


9

দেখে মনে হচ্ছে এটি processing.getObject()আর কিউআইএসে নেই।

from PyQt5.QtCore import *
from qgis.core import *
#...
layer = processing.getObject(layer)

# -> ...module 'processing' has no attribute 'getObject'

ব্যবহার করার নতুন উপায় আছে get.Object?


পদ্ধতি 'প্রসেসিং.গেটঅবজেক্ট ()' কিউআইএস-এ এখনও উপলব্ধ।
xunilk

1
3 কিউগিস এখনও পোর্ট করবেন না - এপিআই হিমায়িত হয় নি, তাই প্রকাশের সময় আপনি নিজের জন্য অতিরিক্ত কাজ করবেন! আপনি যদি নিজের জন্য কাজটি করতে চান তবে প্রসেসিং পোর্টিং গাইডিংয়ের
ndawson

উত্তর:


4

আমার কাছে স্থানীয়ভাবে কিউজিআইএস গিথুব প্রকল্পের একটি অনুলিপি রয়েছে, এটি কয়েক মাস পুরাতন তবে আমি কোথায় এটি পরিবর্তন হয়েছে তা সন্ধান করতে সক্ষম হয়েছি।

এটা তোলে এর মূল্য চেক এপিআই পরিবর্তনের তালিকা , যা এই উল্লেখ

ডেটাবোজেক্টস.গেটলায়ারফ্রমস্ট্রিং () সরানো হয়েছিল। এর পরিবর্তে QgsProcessingUtils.mapLayerFromString () ব্যবহার করুন।

গিট লাইনের টীকাগুলি ব্যবহার করে আমি এটি কয়েক মাস আগে করা পরিবর্তনে ফিরে পেয়েছি ...

দেখে মনে হচ্ছে যেন কয়েকটি পদ্ধতি ( getObject সহ ) রিফ্যাক্টর হয়ে গেছে এবং একটি একক getLayerFromString () পদ্ধতিতে প্রতিস্থাপিত হয়েছে

def getLayerFromString(string, forceLoad=True):
    """Returns an object (layer/table) given a source definition.

    if forceLoad is true, it tries to load it if it is not currently open
    Otherwise, it will return the object only if it is loaded in QGIS.
    """
    ...

তবে তখন থেকে এটি কিউএসপ্রসেসিং ইউটিলে সরানো হয়েছে ।

সুতরাং আপনি ব্যবহার করার চেষ্টা করতে পারে QgsProcessingUtils.mapLayerFromString()

কিউজিআইএস ২.x ব্যবহার করা থাকলে, আপনি এখনও আগের মতো গেটোবজেক্ট () ব্যবহার করতে সক্ষম হবেন (ব্যবহার করে চেক করতে পারেন) print(processing.__dict__['getObject'])


0

পদ্ধতি 'প্রসেসিং.গেটঅবজেক্ট ()' কিউআইএস-এ এখনও উপলব্ধ। এটি নেট ছবিতে লক্ষ্য করা যায়:

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

সুতরাং, কর্মসংস্থানটি নিম্নলিখিত হিসাবে রয়েছে:

>>>import processing
>>>layer =  processing.getObject("/home/zeito/pyqgis_data/polygon8.shp")
>>>layer
<qgis._core.QgsVectorLayer object at 0x9a9c0104>

1
প্রসেসিং.জেটঅজেক্ট () বর্তমান মাস্টারে উপলভ্য নয়, যা কয়েক মাসের মধ্যে QGIS v3.0 হবে।
জার্মানি ক্যারিলো

আমি এই প্রশ্নটি Qgis-3.0 ট্যাগ করতে যাচ্ছিলাম তবে লক্ষ্য করা গেছে যে এটির জন্য কোনও ট্যাগ নেই। আগ্রহের বাইরে আপনি সেখানে কোন প্লাগইন ব্যবহার করছেন?
স্টিভেন কে

@ স্টেভেনকে এখানে রয়েছে, কেবল এটি ট্যাগ করা হয়েছে।
জার্মানি ক্যারিলো

@ জিরমান ক্যারিলিও আমি এটি জানি। দুঃখিত, তবে আমি 3 নম্বর দেখতে পেলাম না কারণ আমি তার ফোকাস করেছিলাম যে তিনি তার প্রশ্নে পরামিতি হিসাবে একটি ইউরি পরিবর্তে একটি স্তর রেফারেন্স ব্যবহার করেছেন (ত্রুটির সম্ভাব্য কারণ)।
xunilk
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.