ज्यामिति और $ ज्यामिति के बीच अंतर QGIS


12

यह तुच्छ प्रश्न हो सकता है, लेकिन मैं उलझन में हूं, QGIS में ज्यामिति और $ ज्यामिति में क्या अंतर है? मुझे इस फ़ंक्शन का उपयोग करने का कोई उदाहरण नहीं मिला।

ज्यामिति और $ ज्यामिति

विशेष रूप से मुझे ज्यामिति में दिलचस्पी है, किन मामलों में यह सहायक है?

जवाबों:


19

आपके स्क्रीनशॉट के कार्यों की सूची के ठीक बगल में, वर्तमान में चयनित फ़ंक्शन का दस्तावेज़ होना चाहिए। मेरे लिए, 2.18.12 वे पढ़ते हैं:

$ ज्यामिति वर्तमान सुविधा की ज्यामिति लौटाता है। अन्य कार्यों के साथ प्रसंस्करण के लिए इस्तेमाल किया जा सकता है।

ज्यामिति किसी विशेषता की ज्यामिति लौटाती है।

यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में एक विधि बनाम एक फ़ंक्शन के विभिन्न की तरह है। $ ज्यामिति यह / स्वयं का ज्यामिति है। आप इसे एक विशेषता या संपत्ति की तरह अधिक सोच सकते हैं।

दूसरी ओर ज्यामिति की आवश्यकता होती है / आप इसके लिए एक सुविधा पारित करने की अनुमति देते हैं और यह इसी ज्यामिति को वापस कर देगा । जैसा कि प्रलेखन से पता चलता है, आप इसका उपयोग विशेषता-आधारित सुविधा चयन से ज्यामिति प्राप्त करने के लिए कर सकते हैं:

geometry(
  get_feature(layer, attributeField, value)
)

आप इसके साथ और क्या कर सकते हैं, यह सिर्फ आपकी रचनात्मकता और इसे पारित करने के लिए सुविधाओं के स्रोतों तक सीमित है । :)


तो, कैसे मैं इसका उपयोग कर सकता हूं जब अलग-अलग बिंदुओं को बदलने की कोशिश की जाती है जो कि फार्म लाइन बनाते हैं ((make_line (make_point ("xlbl" -1000, "ylbl"), make_point (("xlbl" + लंबाई ("समय")) * 3000 +7000), "ylbl"),) ... आदि का मतलब है कि मैं विशेषता तालिका मूल्यों में निर्देशांक के आधार पर लाइन के हर बिंदु को बदलना चाहता हूं
जेन

मुझे लगता है कि मुझे अपनी रेखा के प्रत्येक बिंदु (मेक_पॉइंट फंक से) को ज्यामिति के रूप में प्रदर्शित करना है, फिर इसे रूपांतरित करें, जहां तक ​​कि पूरी निर्मित ज्यामिति मेक-लाइन गलत gis.stackexchange.com/questions/25n2//
जेन

ज़रूर। यह गलत उपकरण का उपयोग करने जैसा लगता है, क्या आपने पॉइंट 2 टोन प्लगइन या कुछ अन्य प्रसंस्करण की कोशिश की है?
Bugmenot123

1
नहीं, यह परत की एक शैली है, मैं परत गुणों में किसी भी प्लगइन्स का उपयोग नहीं कर सकता। मैं अपनी समस्या का हल करने की कोशिश करता हूं कि क्यूगिस में निर्मित कार्यों के समय
जेन

2
संपत्ति तुलना अच्छी लगती है, लेकिन OO तुलना थोड़ी कमजोर है, $geometryबल्कि (const) वैरिएबल है, भले ही OO हो या नहीं।
Matthias Kuhn

15

$geometryवर्तमान सुविधा की ज्यामिति को इसमें देता हैgeom_to_wkt($geometry)

geometryके रूप में एक विशिष्ट सुविधा की ज्यामिति देता हैgeom_to_wkt(geometry(get_feature('my_layer', 'my_feature', feature_id)))

आप दूसरे मामले का उपयोग करेंगे यदि आप चाहते हैं, उदाहरण के लिए, एक विशिष्ट सुविधा के खिलाफ वर्तमान सुविधा को संसाधित करने के लिए:

intersects($geometry,geometry(get_feature(layer,attributeField,value)))

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.