जवाबों:
यदि आप अपनी परत को राइट-क्लिक करते हैं और Properties > Fields
फिर क्लिक करें Text Edit
, तो आप डिफ़ॉल्ट मान (या तो मान में टाइप करके या एक अभिव्यक्ति का उपयोग करके) सेट कर सकते हैं जो स्वचालित रूप से विशेषता तालिका में दिखाई देगा।
दुर्भाग्य से, एक अभिव्यक्ति का उपयोग $rownum
करना ( जैसे कि आपको अपनी सुविधाओं के लिए अद्वितीय आईडी प्राप्त करना चाहिए) काम नहीं करता है (मेरा अनुमान है क्योंकि सुविधा को पहले प्रतिबद्ध करना है?)। लेकिन हम एक ऐसा फंक्शन बना सकते हैं, जिसमें किए गए फीचर्स की संख्या गिना जाए और 1. आप फंक्शन एडिटर तक पहुंच सकें, जैसा कि इमेज में दिखाया गया है:
फिर फ़ंक्शन एडिटर में, एक नई फ़ाइल बनाएं या किसी मौजूदा को संपादित करें और निम्नलिखित कोड का उपयोग करें:
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def update(feature, parent):
layer = qgis.utils.iface.activeLayer()
x = layer.featureCount()
return x + 1
लोड करें पर क्लिक करें और उसके बाद अभिव्यक्ति टैब पर जाएं और एक्सप्रेशन डालें:
update()
फिर ठीक पर क्लिक करें और आपको एक पूर्वावलोकन मूल्य देखना चाहिए:
ठीक पर क्लिक करें , लागू करें आदि और अब उम्मीद है कि जब आप एक सुविधा बनाते हैं, तो यह स्वचालित रूप से आपके चुने हुए क्षेत्र में एक अद्वितीय आईडी बनाएगा।
वेक्टर सुविधाओं को बनाते या संशोधित करते समय आप स्वचालित विशेषता अपडेट के लिए प्लगइन "ऑटोफ़िल्ड" का उपयोग कर सकते हैं
मुझे लगता है कि एक नई सुविधा बनाते समय आप डिफ़ॉल्ट मान सेट नहीं कर सकते हैं, लेकिन आप निम्नलिखित कार्य के लिए प्रयास कर सकते हैं:
id
जिसमें Int लिखा हो@row_number
जो पंक्ति संख्या के अनुसार अद्वितीय घाट निकलेगा