एक सही समाधान नहीं है लेकिन आप ज्योमेट्री जनरेटर का उपयोग कर सकते हैं जो चौराहे का प्रतिनिधित्व करने के लिए एक विज़ुअलाइज़्ड लाइन जोड़ता है। फिर आप इसे मूल पंक्ति विशेषता को ओवरलैप करने के लिए सेट कर सकते हैं।
प्लस चिन्ह पर क्लिक करके एक नई प्रतीक परत जोड़ें और Geometry generator
प्रतीक परत प्रकार का चयन करें । LineString / MultiLineString
निम्न अभिव्यक्ति के लिए भू-प्रकार प्रकार सेट करें और उसका उपयोग करें:
intersection($geometry, geometry(get_feature( 'polygonLayer','fieldName','value')))
आपको अपने विशिष्ट बहुभुज के बारे में विवरण जोड़ने की आवश्यकता होगी जहां:
polygonLayer
आपकी बहुभुज परत का नाम है
fieldName
क्षेत्र का नाम है
value
आपके विशिष्ट बहुभुज का फीचर वैल्यू है
ध्यान दें कि दृश्य रेखा को रंगने के लिए, आपको इसे ड्रॉ इफेक्ट्स प्रॉपर्टी से करने की आवश्यकता हो सकती है :
यह परिणाम था (ध्यान दें कि दृश्य रेखा ने मूल रेखा को पूरी तरह से ओवरलैप नहीं किया था इसलिए मैंने ऑफसेट को थोड़ा संशोधित किया):
और बहुभुज के बिना:
संपादित करें:
यदि आप चाहते हैं कि इसे एक बहुभुज विशेषता को दर्शाने वाली प्रत्येक पंक्ति सुविधा के लिए लागू किया जाए, तो फंक्शन एडिटर पर जाएं और निम्न फ़ंक्शन का उपयोग करें ( polygon example_2
अपनी बहुभुज परत के नाम से मिलान करने के लिए नाम बदलें ):
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def func(feature, parent):
polygon_layer = QgsMapLayerRegistry.instance().mapLayersByName( "polygon example_2" )[0]
feat_list = []
geoms = QgsGeometry.fromWkt('GEOMETRYCOLLECTION()')
for polygon_feat in polygon_layer.getFeatures():
if feature.geometry().intersects(polygon_feat.geometry()):
intersection = feature.geometry().intersection(polygon_feat.geometry())
feat_list.append(intersection)
for x in feat_list:
geoms = geoms.combine(x)
return geoms
लोड पर क्लिक करें फिर एक्सप्रेशन टैब पर जाएं और टाइप करें func()
। उम्मीद है कि परिणाम निम्नलिखित की तरह दिखना चाहिए (ऊपर उल्लिखित समान शैली गुणों का उपयोग करके):