Important

மொழிபெயர்ப்பு ஒரு சமூக முயற்சி நீங்கள் இல் சேரலாம். இந்தப் பக்கம் தற்போது 99.49% இல் மொழிபெயர்க்கப்பட்டுள்ளது.

12.4. அடுக்குகள் முழுவதும் தரவை இணைத்தல் மற்றும் திருத்துதல்

வெவ்வேறு அடுக்குகளிலிருந்து தரவை இணைக்கும் திறன் GIS மென்பொருளின் கடமைகளில் ஒன்றாகும். அத்தகைய இணைப்பு அம்சங்களுக்கிடையேயான இடஞ்சார்ந்த உறவின் அடிப்படையில் அல்லது அவற்றின் பகிரப்பட்ட பண்புகளின் அடிப்படையில் இருக்கலாம். QGIS இந்த சங்கங்களில் ஏதேனும் ஒன்றைக் கையாளும் கருவிகளை வழங்குகிறது, அவை:

  • இணைப்பின் விளைவாக ஒரு புதிய லேயரை உருவாக்கக்கூடிய செயலாக்க வழிமுறைகள், அதாவது Join attributes by location, Join attributes by nearest, Join attributes by field value, ...

  • DB மேலாளர் அல்லது ஒரு virtual layer இலிருந்து புதிய லேயரை உருவாக்க கவிமொ வினவுகிறது.

  • Joins பண்புகள் அல்லது relations அமைப்புகள் இது கொடுக்கப்பட்ட லேயரில் உள்ள அம்சங்களின் பண்புகளை தற்காலிகமாக நீட்டிக்கும், சில பொருந்தக்கூடிய பண்புக்கூறுகளின் அடிப்படையில் மற்றொரு அடுக்கில் உள்ள அம்சங்களுடன்.

    இணைப்புகள் மற்றும் உறவுகள் என்பது தரவுத்தளங்களிலிருந்து கடன் வாங்கிய தொழில்நுட்பக் கருத்துக்கள், அவற்றின் உள்ளடக்கங்களை இணைப்பதன் மூலம் அட்டவணையில் சேமிக்கப்பட்ட தரவை அதிகம் பெறலாம். வெவ்வேறு அடுக்குகளின் (அட்டவணைகள்) நற்பொருத்தங்கள் (வரிசைகள்) ஒன்றோடொன்று இணைக்கப்படலாம் என்பது சிந்தனை. ஒன்றுக்கொன்று பொருந்தக்கூடிய வரிசைகளின் எண்ணிக்கை எந்த மதிப்பிலும் இருக்கலாம் (பூச்சியம், ஒன்று, பல).

12.4.1. இரண்டு அடுக்குகளுக்கு இடையில் இணைக்கும் நற்பொருத்தங்கள்

QGIS இல் ** இணைகிறது** தற்போதைய லேயரின் அம்சங்களை மற்றொரு ஏற்றப்பட்ட வெக்டார் லேயரின் அம்சங்களுடன் இணைக்க உங்களை அனுமதிக்கிறது. அவை இடஞ்சார்ந்த முறையில் இயக்கப்பட்டதா மற்றும் வடிவவியலின் வகை முக்கியமில்லை. ஒன்றுக்கு ஒன்று உறவில் அடுக்குகளால் பகிரப்படும் பண்புக்கூறின் அடிப்படையில் சேர்வது.

ஒரு லேயரில் ஒரு சேர்வை உருவாக்க (கீழே இலக்கு அடுக்கு என அடையாளம் காணப்பட்டுள்ளது):

  1. அடுக்கு Properties ► join என்பதற்குச் செல்லவும் Joins தாவல்

  2. என்பதைக் சொடுக்கு செய்யவும் symbologyAdd புதிய சேர் பொத்தான். வெக்டரைச் சேர் உரையாடல் தோன்றும்.

  3. இலக்கு வெக்டார் லேயருடன் நீங்கள் இணைக்க விரும்பும் Join layer ஐத் தேர்ந்தெடுக்கவும்

  4. Join field (join layer இலிருந்து) மற்றும் Target field (target layer இலிருந்து) ஆகியவற்றைக் குறிப்பிடவும். இவை இரண்டு அடுக்குகளிலும் பொருந்தக்கூடிய அம்சத்தைக் கண்டறியப் பயன்படும் புலங்களாகும், எனவே அவை பொதுவான மதிப்புகளைக் கொண்டிருக்க வேண்டும்.

  5. OK ஐ அழுத்தவும் மற்றும் தேர்ந்தெடுக்கப்பட்ட அளவுருக்களின் சுருக்கம் Join பேனலில் சேர்க்கப்படும்.

../../../_images/join_attributes.png

Fig. 12.109 ஏற்கனவே உள்ள வெக்டார் லேயரில் ஒரு பண்புக்கூறு அட்டவணையை இணைக்கவும்

மேலே உள்ள படிகள் ஒரு இணைப்பை உருவாக்கும், இதில் எல்லாம் சேர லேயரில் உள்ள முதல் பொருந்தும் அம்சத்தின் பண்புக்கூறுகள் இலக்கு லேயரின் அம்சத்தில் சேர்க்கப்படும். சேரும் செயல்பாட்டின் போது அம்சங்களை இணைக்க பின்வரும் வழக்கு பயன்படுத்தப்படுகிறது:

  • டார்கெட் லேயரில் உள்ள அனைத்து அம்சங்களும் பொருத்தம் இல்லாமல் திரும்பும்

  • இலக்கு புலத்தில் நகல் மதிப்புகள் இருந்தால், இந்த அம்சங்களுக்கு சாயின் லேயரில் இருந்து அதே நற்பொருத்தம் ஒதுக்கப்படும்.

  • சேரும் புலத்தில் நகல் பொருந்தக்கூடிய மதிப்புகள் இருந்தால், முதலில் பெறப்பட்ட நற்பொருத்தம் மட்டுமே தேர்ந்தெடுக்கப்படும்.

Note

QGIS இல் சேர்வது ஒரு புலப் பொருத்தத்தை அடிப்படையாகக் கொண்டது, எனவே பெரும்பாலான நேரங்களில், பொருந்தக்கூடிய புலங்களில் உள்ள மதிப்புகள் தனித்துவமானவை என்பதை உறுதிப்படுத்த வேண்டும்.

QGIS சேர்வதை மாற்றுவதற்கு மேலும் சில விருப்பங்களை வழங்குகிறது:

  • checkbox மெய்நிகர் நினைவகத்தில் கேச் சேர் லேயர்: தேடுதல்களை விரைவுபடுத்துவதற்காக இணைந்த லேயரில் இருந்து நினைவகத்தில் மதிப்புகளை (வடிவவியல் இல்லாமல்) தேக்குவதற்கு உங்களை அனுமதிக்கிறது.

  • unchecked :guilabel:தேடல்களை விரைவுபடுத்த, சேர்தல் புலத்தில் பண்புக் குறியீட்டை உருவாக்கவும்

  • unchecked டைனமிக் ஃபார்ம்: :guilabel:`Target field`ன் படி, பறக்கும்போது சேரும் புலங்களை ஒத்திசைக்க உதவுகிறது. இந்த வழியில், சேரும் துறைகளுக்கான கட்டுப்பாடுகளும் சரியாகப் புதுப்பிக்கப்படுகின்றன. இது முன்னிருப்பாக செயலிழக்கப்பட்டது என்பதை நினைவில் கொள்ளவும், ஏனெனில் உங்களிடம் நிறைய நற்பொருத்தங்கள் அல்லது எண்ணற்ற இணைப்புகள் இருந்தால் அது அதிக நேரத்தை எடுத்துக்கொள்ளும்.

  • இலக்கு அடுக்கு திருத்தக்கூடியதாக இருந்தால், சில ஐகான்கள் அவற்றின் நிலையைப் பற்றி தெரிவிக்க, புலங்களுக்கு அடுத்துள்ள பண்புக்கூறு அட்டவணையில் காண்பிக்கப்படும்:

    • joinNotEditable: சேரும் அடுக்கு திருத்தக்கூடியதாக உள்ளமைக்கப்படவில்லை. இலக்கு பண்புக்கூறு அட்டவணையில் இருந்து சேரும் அம்சங்களை நீங்கள் திருத்த விரும்பினால், நீங்கள் என்ற விருப்பத்தை சரிபார்க்க வேண்டும். checkbox Editable join layer.

    • joinedLayerNotEditable: சாயின் லேயர் திருத்தக்கூடியதாக உள்ளமைக்கப்பட்டுள்ளது, ஆனால் அதன் தற்போதைய நிலை படிக்க மட்டுமே.

    • joinHasNotUpsertOnEdit: சேரும் அடுக்கு திருத்தக்கூடியது, ஆனால் ஒத்திசைவு வழிமுறைகள் செயல்படுத்தப்படவில்லை. டார்கெட் லேயரில் ஒரு நற்பொருத்தம் உருவாக்கப்படும் போது, ​​சாயின் லேயரில் தானாகவே ஒரு அம்சத்தைச் சேர்க்க விரும்பினால், நீங்கள் என்ற விருப்பத்தைச் சரிபார்க்க வேண்டும். checkbox அப்சர்ட் ஆன் எடிட். சமச்சீர், விருப்பம் checkbox நீக்கு அடுக்கை நீங்கள் தானாக சேரும் அம்சங்களை நீக்க விரும்பினால் செயல்படுத்தப்படலாம்.

  • unchecked இணைந்த புலங்கள்: இணைக்கப்பட்ட அடுக்கிலிருந்து அனைத்து புலங்களையும் சேர்ப்பதற்குப் பதிலாக, நீங்கள் ஒரு துணைக்குழுவைக் குறிப்பிடலாம்.

  • unchecked தனிப்பயன் புலம் பெயர் முன்னொட்டு, இணைந்த புலங்களுக்கு, பெயர் மோதலைத் தவிர்ப்பதற்காக

12.4.2. பல அடுக்குகளுக்கு இடையே உறவுகளை அமைத்தல்

இரண்டு அடுக்குகளில் உள்ள அம்சங்களுக்கிடையில் ஒன்றிலிருந்து ஒன்று இணைப்பை வரையறுக்கும் இணைப்புகளைப் போலன்றி, இரண்டு அல்லது அதற்கு மேற்பட்ட அடுக்குகளில் பல அம்சங்களுக்கிடையில் தொடர்புகளை உருவாக்க உறவுகள் உங்களுக்கு உதவுகின்றன. எனவே, உறவுகள் திட்ட நிலை அமைப்புகளாகும் மற்றும் அவை Project ► பண்புகள் ► உறவுகள் உறவுகள் தாவல். அங்கிருந்து, உங்களால் முடியும்:

  • symbologyAdd தொடர்பைச் சேர் அதன் வகை:

    Note

    பாலிமார்பிக் அல்லாத உறவை உருவாக்கியவுடன் அதைத் திருத்த இன்னும் எளிய வழி இல்லை. இருமுறை சொடுக்கு செய்வதன் மூலம் பெயரை மட்டுமே திருத்த முடியும். அத்தகைய உறவின் வேறு எந்த அளவுருக்களுக்கும் நீங்கள் அதை அகற்றி மீண்டும் உருவாக்க வேண்டும்.

  • symbologyAdd டிச்கவர் ரிலேசன்ச்: ஆதரிக்கப்படும் தரவுத்தள வடிவங்களிலிருந்து (PostgreSQL, GeoPackage, ESRI கோப்பு Geodatabase, ...) இருக்கும் உறவுகளை QGIS கண்டறிய முடியும். உறவுகளின் வரையறையை எளிதாக்க இது ஒரு சிறந்த வழியாகும்.

  • symbologyRemove உறவை அகற்று

../../../_images/project_relations.png

Fig. 12.110 உறவுகள் தாவல்

12.4.2.1. ஒன்று முதல் பல (1-N) உறவுகள்

உதாரணமாக, அலாச்காவின் அனைத்துப் பகுதிகளிலும் (பலகோணம்) ஒரு அடுக்கு உள்ளது, இது அதன் பெயர் மற்றும் பிராந்திய வகை மற்றும் தனிப்பட்ட அடையாளம் (முதன்மை விசையாக செயல்படுகிறது) பற்றிய சில பண்புகளை வழங்குகிறது.

பிராந்தியங்களில் அமைந்துள்ள விமான நிலையங்களைப் பற்றிய தகவலுடன் மற்றொரு புள்ளி அடுக்கு அல்லது அட்டவணையைப் பெறுவீர்கள், மேலும் இவற்றைக் கண்காணிக்கவும் விரும்புகிறீர்கள். பிராந்தியங்களின் அடுக்கில் அவற்றைச் சேர்க்க விரும்பினால், வெளிநாட்டு விசைகளைப் பயன்படுத்தி பல உறவுகளை உருவாக்க வேண்டும், ஏனெனில் பெரும்பாலான பிராந்தியங்களில் பல விமான நிலையங்கள் உள்ளன.

../../../_images/regions_with_airports.png

Fig. 12.111 விமான நிலையங்களுடன் அலாச்கா பகுதி

அடுக்குகள் மற்றும் விசைகள்

QGIS ஒரு அட்டவணைக்கும் திசையன் அடுக்குக்கும் இடையில் எந்த வித்தியாசத்தையும் ஏற்படுத்தாது. அடிப்படையில், திசையன் அடுக்கு என்பது வடிவவியலுடன் கூடிய அட்டவணை. எனவே உங்கள் அட்டவணையை வெக்டர் லேயராக சேர்க்கலாம். 1-n தொடர்பைக் காட்ட, மாதிரி தரவுத்தொகுப்பில் regions மற்றும் airports லேயர்களை ஏற்றலாம். நடைமுறையில், ஒவ்வொரு விமான நிலையமும் சரியாக ஒரு பிராந்தியத்தைச் சேர்ந்தது, ஒவ்வொரு பிராந்தியமும் எத்தனை விமான நிலையங்களைக் கொண்டிருக்கலாம் (ஒரு பொதுவான ஒன்றுக்கு பல உறவுகள்).

விமான நிலையங்களை விவரிக்கும் பண்புக்கூறுகளுக்கு மேலதிகமாக, ஏபோர்ட்ச் லேயரில் மற்றொரு புலம் fk_region உள்ளது, இது ஒரு வெளிநாட்டு விசையாக செயல்படுகிறது (உங்களிடம் தரவுத்தளம் இருந்தால், அதில் ஒரு தடையை நீங்கள் வரையறுக்க விரும்பலாம்). இந்த fk_region புலத்தில் எப்போதும் ஒரு பிராந்தியத்தின் அடையாளம் இருக்கும். இது அது சார்ந்த பகுதிக்கு ஒரு சுட்டி போல் பார்க்க முடியும்.

நீங்கள் செய்ய வேண்டியதெல்லாம், அடுக்குகளுக்கு இடையேயான தொடர்பை QGIS ஐச் சொல்ல வேண்டும், இதன் மூலம் நீங்கள் திருத்துவதற்கான தனிப்பயன் திருத்த படிவத்தை வடிவமைக்க முடியும் மற்றும் QGIS அமைப்பை கவனித்துக்கொள்கிறது. இது வெவ்வேறு வழங்குநர்களுடன் வேலை செய்கிறது (எனவே நீங்கள் அதை வடிவம் மற்றும் காபிம கோப்புகளுடன் பயன்படுத்தலாம்).

1-N உறவுகளை வரையறுத்தல்

நாம் செய்யப் போகும் முதல் சேதி, அடுக்குகளுக்கு இடையிலான உறவுகளைப் பற்றி QGISஐத் தெரியப்படுத்துவதாகும். இது Project ► Properties... என்பதில் செய்யப்படுகிறது. Relations தாவலைத் திறந்து, symbologyAdd என்பதைக் சொடுக்கு செய்யவும் உறவுகளைச் சேர்.

  • பெயர் ஒரு தலைப்பாகப் பயன்படுத்தப்படும். உறவு எதற்காகப் பயன்படுத்தப்படுகிறது என்பதை விவரிக்கும் மனிதனால் படிக்கக்கூடிய சரமாக இது இருக்க வேண்டும். இந்த வழக்கில் விமான நிலையம்_தொடர்பு என்று மட்டும் அழைப்போம்.

  • குறிப்பிடப்பட்ட அடுக்கு (பெற்றோர்) பெற்றோர் அடுக்காகவும் கருதப்படுகிறது, இது முதன்மை விசையுடன் சுட்டிக்காட்டப்படுகிறது, எனவே இங்கே இது பகுதிகள் லேயர் ஆகும். குறிப்பிடப்பட்ட லேயரின் முதன்மை விசையை நீங்கள் வரையறுக்க வேண்டும், எனவே அது ID.

  • குறிப்பு அடுக்கு (குழந்தை) குழந்தை அடுக்கு என்றும் கருதப்படுகிறது, இது வெளிநாட்டு விசை புலத்துடன் உள்ளது. எங்கள் விசயத்தில், இது விமான நிலையங்கள் அடுக்கு. இந்த லேயருக்கு நீங்கள் மற்ற லேயரைக் குறிக்கும் ஒரு குறிப்பு புலத்தைச் சேர்க்க வேண்டும், எனவே இது fk_region.

    Note

    சில நேரங்களில், லேயரில் உள்ள அம்சங்களைத் தனித்துவமாக அடையாளம் காண, உங்களுக்கு ஒரு புலத்திற்கு மேல் தேவை. அத்தகைய அடுக்குடன் ஒரு தொடர்பை உருவாக்குவதற்கு கலவை விசை தேவைப்படுகிறது, அதாவது ஒரு இணை பொருந்தக்கூடிய புலங்களுக்கு மேல். பயன்படுத்தவும் symbologyAdd :sup:"ஒரு கூட்டு வெளிநாட்டு விசையின் ஒரு பகுதியாக புதிய புல சோடியைச் சேர்" பொத்தான் தேவையான பல சோடிகளைச் சேர்க்கிறது.

  • ஐடி உள் நோக்கங்களுக்காகப் பயன்படுத்தப்படும் மற்றும் தனிப்பட்டதாக இருக்க வேண்டும். தனிப்பயன் படிவங்களை உருவாக்க உங்களுக்கு இது தேவைப்படலாம். நீங்கள் அதை காலியாக விட்டால், உங்களுக்காக ஒன்று உருவாக்கப்படும், ஆனால் கையாளுவதற்கு எளிதான ஒன்றைப் பெற நீங்களே ஒன்றை ஒதுக்கலாம்.

  • உறவு வலிமை பெற்றோர் மற்றும் குழந்தை அடுக்குக்கு இடையிலான உறவின் வலிமையை அமைக்கிறது. இயல்புநிலை Association வகை என்பது, பெற்றோர் அடுக்கு குழந்தையுடன் எளிமையாக இணைக்கப்பட்டிருப்பதைக் குறிக்கிறது, அதே நேரத்தில் Composition வகையானது, பெற்றோரை நகலெடுக்கும் போது குழந்தை அம்சங்களையும் நகலெடுக்க அனுமதிக்கிறது மற்றும் ஒரு அம்சத்தை நீக்கும் போது குழந்தைகளும் நீக்கப்படுவார்கள், இதன் விளைவாக குழந்தைகள் எல்லா நிலைகளிலும் நீக்கப்படுவார்கள்.

../../../_images/regions_airports_mapping.png

Fig. 12.112 பிராந்தியங்கள் மற்றும் விமான நிலைய அடுக்குகளுக்கு இடையே ஒரு தொடர்பைச் சேர்த்தல்

Relations தாவலில் இருந்து, நீங்கள் symbologyAdd டிச்கவர் ரிலேசன் பொத்தான் ஏற்றப்பட்ட அடுக்குகளின் வழங்குநர்களிடமிருந்து கிடைக்கும் உறவுகளைப் பெற. PostgreSQL அல்லது SpatiaLite போன்ற தரவு வழங்குநர்களில் சேமிக்கப்பட்ட அடுக்குகளுக்கு இது சாத்தியமாகும்.

1-N உறவுகளுக்கான படிவங்கள்

இப்போது QGIS உறவைப் பற்றி அறிந்திருப்பதால், அது உருவாக்கும் படிவங்களை மேம்படுத்த இது பயன்படுத்தப்படும். நாங்கள் இயல்புநிலை படிவ முறையை (தானியங்கு உருவாக்கியது) மாற்றாததால், அது எங்கள் வடிவத்தில் ஒரு புதிய விட்செட்டைச் சேர்க்கும். எனவே லெசண்டில் லேயர் பகுதியைத் தேர்ந்தெடுத்து அடையாளம் கருவியைப் பயன்படுத்துவோம். உங்கள் அமைப்புகளைப் பொறுத்து, படிவம் நேரடியாகத் திறக்கப்படலாம் அல்லது செயல்களின் கீழ் அடையாள உரையாடலில் அதைத் திறக்க நீங்கள் தேர்வு செய்ய வேண்டும்.

../../../_images/airport_relation_dataview.png

Fig. 12.113 விமான நிலையங்கள் தொடர்பான அடையாள உரையாடல் பகுதிகள்

நீங்கள் பார்க்க முடியும் என, இந்த குறிப்பிட்ட பிராந்தியத்திற்கு ஒதுக்கப்பட்ட விமான நிலையங்கள் அனைத்தும் அட்டவணையில் காட்டப்பட்டுள்ளன. மேலும் சில பொத்தான்களும் உள்ளன. அவற்றை விரைவில் மதிப்பாய்வு செய்வோம்:

  • தி toggleEditing பொத்தான் தொகு பயன்முறையை மாற்றுவதற்கானது. நாங்கள் பிராந்திய லேயரில் இருந்து அம்சத்தின் அம்ச வடிவத்தில் இருந்தாலும், இது விமான நிலைய லேயரின் திருத்து பயன்முறையை மாற்றுகிறது என்பதை நினைவில் கொள்ளவும். ஆனால் அட்டவணை விமான நிலைய அடுக்கின் அம்சங்களைக் குறிக்கிறது.

  • தி saveEdits குழந்தை அடுக்கில் (விமான நிலையம்) அனைத்து திருத்தங்களையும் சேமிப்பதற்கான பொத்தான்.

  • தி capturePoint பொத்தான் வரைபட கேன்வாசில் விமான நிலைய வடிவவியலை டிசிட்டல் மயமாக்க உதவுகிறது மற்றும் இயல்புநிலையாக தற்போதைய பகுதிக்கு புதிய அம்சத்தை ஒதுக்குகிறது. வடிவவியலின் வகைக்கு ஏற்ப படவுரு மாறும் என்பதை நினைவில் கொள்க.

  • தி newTableRow பொத்தான் விமான நிலைய அடுக்கு பண்பு அட்டவணையில் ஒரு புதிய பதிவைச் சேர்க்கிறது மற்றும் இயல்புநிலையாக தற்போதைய பகுதிக்கு புதிய அம்சத்தை ஒதுக்குகிறது. வடிவவியலை பின்னர் Add part டிசிட்டல் டூல் மூலம் வரையலாம்.

  • தி duplicateFeature குழந்தை லேயரில் ஒன்று அல்லது அதற்கு மேற்பட்ட குழந்தை அம்சங்களை நகலெடுத்து ஒட்டுவதற்கு பொத்தான் உங்களை அனுமதிக்கிறது. அவர்கள் பின்னர் வேறு பெற்றோர் அம்சத்திற்கு ஒதுக்கப்படலாம் அல்லது அவற்றின் பண்புகளை மாற்றியமைக்கலாம்.

  • The deleteSelectedFeatures பட்டன் தேர்ந்தெடுக்கப்பட்ட விமான நிலையத்தை (களை) நிரந்தரமாக நீக்குகிறது.

  • தி link அடையாளம் ஒரு புதிய உரையாடலைத் திறக்கிறது, அங்கு நீங்கள் இருக்கும் விமான நிலையத்தைத் தேர்ந்தெடுக்கலாம், அது தற்போதைய பிராந்தியத்திற்கு ஒதுக்கப்படும். நீங்கள் தற்செயலாக தவறான பகுதியில் விமான நிலையத்தை உருவாக்கியிருந்தால் இது எளிதாக இருக்கும்.

  • தி unlink தேர்ந்தெடுக்கப்பட்ட விமான நிலையத்தை தற்போதைய பகுதியில் இருந்து அடையாளம் நீக்குகிறது, அவற்றை ஒதுக்காமல் விட்டுவிடுகிறது (வெளிநாட்டு விசை NULL ஆக அமைக்கப்பட்டுள்ளது).

  • zoomToSelected உடன் பட்டனை நீங்கள் தேர்ந்தெடுத்த குழந்தை அம்சங்களுக்கு வரைபடத்தை பெரிதாக்கலாம்.

  • இரண்டு பொத்தான்கள் formView மற்றும் openTable தொடர்புடைய குழந்தை அம்சங்களின் table பார்வை மற்றும் form பார்வை இடையே வலதுபுறம் மாறவும்.

பிராந்திய அம்சத்திற்காக நீங்கள் Drag and Drop Designer ஐப் பயன்படுத்தினால், எந்தெந்த கருவிகள் உள்ளன என்பதை நீங்கள் தேர்ந்தெடுக்கலாம். புதிய நற்பொருத்தம் சேர்க்கப்படும் போது புதிய படிவத்தைத் திறக்க வேண்டுமா என்பதை நீங்கள் முடிவு செய்யலாம் Force மறை form on கூட்டு feature விருப்பத்தைப் பயன்படுத்தி. சுழிய பண்புக்கூறுகள் சரியாக வேலை செய்ய சரியான இயல்புநிலை மதிப்பை எடுக்க வேண்டும் என்பதை இந்த விருப்பம் குறிக்கிறது என்பதை நினைவில் கொள்ளவும்.

../../../_images/airport_relation_formproperties.png

Fig. 12.114 பகுதிகள்-விமான நிலையங்கள் தொடர்பான கருவிகளை உள்ளமைக்க டிசைனரை இழுத்து விடவும்

மேலே உள்ள எடுத்துக்காட்டில், குறிப்பு அடுக்கு வடிவவியலைக் கொண்டுள்ளது (எனவே இது ஒரு எண்ணெழுத்து அட்டவணை அல்ல) எனவே மேலே உள்ள படிகள் அடுக்கு பண்புக்கூறு அட்டவணையில் பொருத்தமான வடிவியல் நற்பொருத்தம் இல்லாத ஒரு உள்ளீட்டை உருவாக்கும். வடிவவியலைச் சேர்க்க:

  1. openTable என்பதைத் தேர்ந்தெடுக்கவும் :menuselection:'குறிப்பு அடுக்குக்கான பண்புக்கூறு அட்டவணையைத் திற.

  2. குறிப்பிடப்பட்ட லேயரின் அம்சப் படிவத்தில் முன்பு சேர்க்கப்பட்ட பதிவைத் தேர்ந்தெடுக்கவும்.

  3. addPart ஐப் பயன்படுத்தவும் தேர்ந்தெடுக்கப்பட்ட பண்புக்கூறுகள் அட்டவணைப் பதிவில் வடிவவியலை இணைக்க பகுதியைச் சேர் டிசிட்டல்மயமாக்கும் கருவி.

நீங்கள் விமான நிலைய அட்டவணையில் பணிபுரிந்தால், விட்செட் தொடர்பு குறிப்பு தானாகவே fk_region புலத்திற்கு அமைக்கப்படும் (தொடர்பை உருவாக்கப் பயன்படும் ஒன்று), பார்க்கவும் Relation குறிப்பு widget.

விமானநிலைய படிவத்தில் நீங்கள் formView fk_region புலத்தின் வலது பக்கத்தில் உள்ள பொத்தான்: நீங்கள் பொத்தானைக் சொடுக்கு செய்தால், மண்டல அடுக்கின் வடிவம் திறக்கப்படும். இணைக்கப்பட்ட பெற்றோர் அம்சங்களின் படிவங்களை எளிதாகவும் விரைவாகவும் திறக்க இந்த விட்செட் உங்களை அனுமதிக்கிறது.

../../../_images/airport_attributes.png

Fig. 12.115 பிராந்தியங்கள் தொடர்பான அடையாள உரையாடல் விமான நிலையம்

குழந்தை ஒன்றுக்குள் பெற்றோர் அடுக்கின் வடிவத்தை உட்பொதிக்க உறவு குறிப்பு விட்செட்டில் ஒரு விருப்பமும் உள்ளது. இது விமான நிலைய அடுக்கின் Properties ► Attributes Form பட்டியலில் கிடைக்கும்: fk_region புலத்தைத் தேர்ந்தெடுத்து, உட்பொதிக்கப்பட்ட படிவத்தைக் காட்டு விருப்பத்தைச் சரிபார்க்கவும்.

நீங்கள் இப்போது அம்ச உரையாடலைப் பார்த்தால், பிராந்தியத்தின் வடிவம் விமான நிலையப் படிவத்தில் உட்பொதிக்கப்பட்டிருப்பதைக் காண்பீர்கள், மேலும் ஒரு காம்போபாக்ச் கூட இருக்கும், இது தற்போதைய விமான நிலையத்தை வேறொரு பிராந்தியத்திற்கு ஒதுக்க உங்களை அனுமதிக்கிறது.

../../../_images/airport_attributes_expanded.png

மேலும் விமான நிலைய லேயரின் திருத்துதல் பயன்முறையை நீங்கள் மாற்றினால், fk_region புலத்தில் ஒரு தன்னியக்க நிரப்பி செயல்பாடும் உள்ளது: தட்டச்சு செய்யும் போது, ​​பிராந்திய அடுக்கின் id புலத்தின் அனைத்து மதிப்புகளையும் நீங்கள் காண்பீர்கள். இங்கே symbologyAdd ஐப் பயன்படுத்தி பிராந்திய அடுக்குக்கான பலகோணத்தை டிசிட்டல் மயமாக்க முடியும் விமான நிலைய அடுக்கின் Properties ► Attributes Form பட்டியலில் புதிய அம்சங்களைச் சேர்ப்பதை அனுமதி என்ற விருப்பத்தைத் தேர்வுசெய்தால் பொத்தான்.

குழந்தை அடுக்கு அவர்களின் குழந்தைகளின் பண்புகளின் அடிப்படையில் பெற்றோர் அடுக்கின் அம்சங்களைத் தேர்ந்தெடுக்க Select Features By Value கருவியிலும் பயன்படுத்தப்படலாம்.

Fig. 12.116 இல், விமான நிலையங்களின் சராசரி உயரம் கடல் மட்டத்திலிருந்து 500 மீட்டருக்கு மேல் இருக்கும் அனைத்துப் பகுதிகளும் தேர்ந்தெடுக்கப்படுகின்றன.

பல்வேறு திரட்டல் செயல்பாடுகள் படிவத்தில் இருப்பதை நீங்கள் காண்பீர்கள்.

../../../_images/relation_select_by_value.png

Fig. 12.116 குழந்தை மதிப்புகளுடன் பெற்றோர் அம்சங்களைத் தேர்ந்தெடுக்கவும்

12.4.2.2. பல-பல (N-M) உறவுகள்

N-M உறவுகள் இரண்டு அட்டவணைகளுக்கு இடையே உள்ள பல-பல உறவுகள். உதாரணமாக, விமான நிலையங்கள் மற்றும் விமான நிறுவனங்கள் அடுக்குகள்: ஒரு விமான நிலையம் பல விமான நிறுவனங்களைப் பெறுகிறது மற்றும் ஒரு விமான நிறுவனம் பல விமான நிலையங்களுக்கு பறக்கிறது.

இந்த கவிமொ குறியீடு, இடங்கள் என்ற PostgreSQL திட்டத்தில் N-M உறவுக்கு தேவையான மூன்று அட்டவணைகளை உருவாக்குகிறது. PostgreSQL க்கான Database ► DB Manager... அல்லது pgAdmin போன்ற வெளிப்புறக் கருவிகளைப் பயன்படுத்தி குறியீட்டை இயக்கலாம். விமான நிலைய அட்டவணை விமான நிலையங்கள் லேயரையும், ஏர்லைன் அட்டவணை ஏர்லைன்ச் லேயரையும் சேமிக்கிறது. இரண்டு அட்டவணைகளிலும் சில புலங்கள் தெளிவுக்காகப் பயன்படுத்தப்படுகின்றன. தந்திரமான பகுதி விமான நிலையங்கள்_ஏர்லைன்ச் அட்டவணை. அனைத்து விமான நிலையங்களுக்கும் (அல்லது நேர்மாறாக) அனைத்து விமான நிறுவனங்களையும் பட்டியலிட எங்களுக்கு இது தேவை. இந்த வகையான அட்டவணை ஒரு பிவோட் அட்டவணை என்று அழைக்கப்படுகிறது. இந்த அட்டவணையில் உள்ள கட்டுப்பாடுகள் ஒரு விமான நிலையத்தை அவற்றின் அடுக்குகளில் ஏற்கனவே இருந்தால் மட்டுமே விமான நிறுவனத்துடன் தொடர்புபடுத்த முடியும்.

CREATE SCHEMA locations;

CREATE TABLE locations.airports
(
   id serial NOT NULL,
   geom geometry(Point, 4326) NOT NULL,
   airport_name text NOT NULL,
   CONSTRAINT airports_pkey PRIMARY KEY (id)
);

CREATE INDEX airports_geom_idx ON locations.airports USING gist (geom);

CREATE TABLE locations.airlines
(
   id serial NOT NULL,
   geom geometry(Point, 4326) NOT NULL,
   airline_name text NOT NULL,
   CONSTRAINT airlines_pkey PRIMARY KEY (id)
);

CREATE INDEX airlines_geom_idx ON locations.airlines USING gist (geom);

CREATE TABLE locations.airports_airlines
(
   id serial NOT NULL,
   airport_fk integer NOT NULL,
   airline_fk integer NOT NULL,
   CONSTRAINT airports_airlines_pkey PRIMARY KEY (id),
   CONSTRAINT airports_airlines_airport_fk_fkey FOREIGN KEY (airport_fk)
      REFERENCES locations.airports (id)
      ON DELETE CASCADE
      ON UPDATE CASCADE
      DEFERRABLE INITIALLY DEFERRED,
   CONSTRAINT airports_airlines_airline_fk_fkey FOREIGN KEY (airline_fk)
      REFERENCES locations.airlines (id)
      ON DELETE CASCADE
      ON UPDATE CASCADE
      DEFERRABLE INITIALLY DEFERRED
 );

PostgreSQL க்கு பதிலாக நீங்கள் GeoPackage ஐயும் பயன்படுத்தலாம். இந்த வழக்கில், மூன்று அட்டவணைகளை கைமுறையாக Database ► DB Manager... ஐப் பயன்படுத்தி உருவாக்கலாம். சியோபேக்கேசில் ச்கீமாக்கள் இல்லை எனவே இருப்பிடங்கள் முன்னொட்டு தேவையில்லை.

airports_airlines அட்டவணையில் உள்ள வெளிநாட்டு விசைக் கட்டுப்பாடுகளை Table ► Create Table... அல்லது Table ► தொகு Table... ஐப் பயன்படுத்தி உருவாக்க முடியாது. GeoPackage ஆனது கட்டுப்பாடு சேர் அறிக்கைகளை ஆதரிக்காது, எனவே airports_airlines அட்டவணை இரண்டு படிகளில் உருவாக்கப்பட வேண்டும்:

  1. Table ► Create Table... ஐப் பயன்படுத்தி id புலத்துடன் அட்டவணையை மட்டும் அமைக்கவும்.

  2. Database ► கவிமொ Window... ஐப் பயன்படுத்தி, இந்த கவிமொ குறியீட்டை டைப் செய்து இயக்கவும்:

    ALTER TABLE airports_airlines
       ADD COLUMN airport_fk INTEGER
       REFERENCES airports (id)
       ON DELETE CASCADE
       ON UPDATE CASCADE
       DEFERRABLE INITIALLY DEFERRED;
    
    ALTER TABLE airports_airlines
       ADD COLUMN airline_fk INTEGER
       REFERENCES airlines (id)
       ON DELETE CASCADE
       ON UPDATE CASCADE
       DEFERRABLE INITIALLY DEFERRED;
    

பின்னர் QGIS இல், மேலே விளக்கப்பட்டுள்ளபடி <one_to_many_relation>` என இரண்டு :ref:`one-to-Many உறவுகளை அமைக்க வேண்டும்:

  • ஏர்லைன்ச் அட்டவணைக்கும் பைவட் அட்டவணைக்கும் இடையே உள்ள தொடர்பு;

  • மற்றும் விமான நிலையங்கள் அட்டவணை மற்றும் பைவட் அட்டவணை இடையே இரண்டாவது.

அதைச் செய்வதற்கான எளிதான வழி (PostgreSQL க்கு மட்டும்) Discover Relations என்பதில் Project ► பண்புகள் ► Relations. QGIS உங்கள் தரவுத்தளத்தில் உள்ள அனைத்து உறவுகளையும் தானாகவே படிக்கும், மேலும் உங்களுக்கு தேவையான இரண்டை மட்டும் நீங்கள் தேர்ந்தெடுக்க வேண்டும். முதலில் QGIS திட்டத்தில் மூன்று அட்டவணைகளை ஏற்ற நினைவில் கொள்ளுங்கள்.

../../../_images/airports_airlines_relation.png

Fig. 12.117 உறவுகள் மற்றும் தன்வய கண்டுபிடிப்பு

நீங்கள் விமான நிலையம் அல்லது `விமானம் அகற்ற விரும்பினால், `airports_airlines அட்டவணையில் உள்ள தொடர்புடைய பதிவை(களை) QGIS அகற்றாது. தற்போதைய எடுத்துக்காட்டில் உள்ள பிவோட் அட்டவணை உருவாக்கத்தில் சரியான கட்டுப்பாடுகளை குறிப்பிட்டால், இந்த பணி தரவுத்தளத்தால் செய்யப்படும்.

Note

** தானியங்கி பரிவர்த்தனை குழுவுடன் N-M உறவை இணைத்தல்**

அத்தகைய சூழலில் பணிபுரியும் போது Project பண்புகள் ► தகவல்கள் மூலங்கள் ► இல் பரிவர்த்தனை பயன்முறையை இயக்க வேண்டும். QGIS ஆனது அனைத்து அட்டவணைகளிலும் (விமான நிறுவனங்கள், விமான நிலையங்கள் மற்றும் பிவோட் அட்டவணைகள்) வரிசை(களை) சேர்க்க அல்லது புதுப்பிக்க முடியும்.

இறுதியாக நாம் விமான நிலையங்கள் மற்றும் `விமானங்கள் அடுக்குகளுக்கான Layer பண்புகள் ► Attributes Form இல் சரியான கார்டினாலிட்டியைத் தேர்ந்தெடுக்க வேண்டும். முதலில் நாம் ** Airlines (id)** விருப்பத்தையும், இரண்டாவதாக ** airports (id)** விருப்பத்தையும் தேர்ந்தெடுக்க வேண்டும்.

../../../_images/airports_airlines_relation_formproperties.png

Fig. 12.118 உறவுகளின் கார்டினலிட்டியை அமைக்கவும்

துணைப் படிவங்களில் குழந்தை அம்சத்தைச் சேர் அல்லது தற்போதுள்ள குழந்தை அம்சத்தை இணைக்கவும் என்பதைப் பயன்படுத்தி இப்போது நீங்கள் விமான நிலையத்தை (அல்லது விமான நிலையத்துடன் கூடிய விமான நிறுவனத்துடன்) இணைக்கலாம். விமான நிலையங்கள்_விமானங்கள் அட்டவணையில் ஒரு பதிவு தானாகச் செருகப்படும்.

../../../_images/add_airport_airline.png

Fig. 12.119 விமான நிலையங்களுக்கும் விமான நிறுவனங்களுக்கும் இடையிலான N-M உறவு

Note

ஒரு உறவுக்கு பல கார்டினாலிட்டியைப் பயன்படுத்துதல்

சில நேரங்களில் பிவோட் டேபிளை N-M உறவில் மறைப்பது விரும்பத்தகாதது. முக்கியமாக, உறவில் பண்புக்கூறுகள் இருப்பதால், ஒரு உறவை நிறுவும் போது மட்டுமே மதிப்புகள் இருக்க முடியும். உங்கள் அட்டவணையில் வடிவியல் புலம் இருந்தால், பைவட் டேபிளில் உள்ள வெளிநாட்டு விசை புலங்களுக்கு On map identification விருப்பத்தை (Layer பண்புகள் ► Attributes Form ► Available நிரல்பலகை ► Fields) செயல்படுத்துவது சுவாரச்யமாக இருக்கும்.

Note

பிவோட் டேபிள் முதன்மை விசை

பிவோட் அட்டவணையில் முதன்மை விசையில் பல புலங்களைப் பயன்படுத்துவதைத் தவிர்க்கவும். QGIS ஒற்றை முதன்மை விசையை எடுத்துக்கொள்கிறது, எனவே `` constraint airports_airlines_pkey முதன்மை விசை (airport_fk, airline_fk)`` போன்ற கட்டுப்பாடு வேலை செய்யாது.

12.4.2.3. பாலிமார்பிக் உறவுகள்

நோக்கம்

பாலிமார்பிக் உறவுகள் 1-N உறவுகளின் சிறப்பு நிகழ்வாகும், இதில் ஒரு ஒற்றை குறிப்பு (ஆவணம்) அடுக்கு பல குறிப்பிடப்பட்ட அடுக்குகளுக்கான அம்சங்களைக் கொண்டுள்ளது. ஒவ்வொரு குறிப்பிடப்பட்ட அடுக்குக்கும் வெவ்வேறு குறிப்பு அடுக்கு தேவைப்படும் சாதாரண உறவுகளிலிருந்து இது வேறுபடுகிறது. குறிப்பிடப்பட்ட லேயரை அடையாளம் காண தகவலைச் சேமிக்கும் குறிப்பு (ஆவணம்) லேயரில் அடிடிடோனல் லேயர்_ஃபீல்டு நெடுவரிசையைச் சேர்ப்பதன் மூலம் ஒற்றை குறிப்பு (ஆவணம்) அடுக்கு அடையப்படுகிறது. அதன் மிக எளிமையான வடிவத்தில், குறிப்பிடும் (ஆவணம்) அடுக்கு, இந்த புலத்தில் குறிப்பிடப்பட்ட லேயரின் லேயர் பெயரைச் செருகும்.

இன்னும் துல்லியமாகச் சொல்வதென்றால், பாலிமார்பிக் உறவு என்பது ஒரே மாதிரியான அடுக்குகளைக் கொண்ட சாதாரண உறவுகளின் தொகுப்பாகும், ஆனால் குறிப்பிடப்பட்ட அடுக்கு மாறும் வகையில் வரையறுக்கப்படுகிறது. அட்டவணையின் பெயர், லேயர் அடையாளம், லேயர் பெயர் போன்ற குறிப்பிடப்பட்ட லேயரின் சில பண்புகளுடன் பொருந்த வேண்டிய வெளிப்பாட்டைப் பயன்படுத்தி அடுக்கின் பாலிமார்பிக் அமைப்பு தீர்க்கப்படுகிறது.

நாம் பூங்காவிற்குச் செல்கிறோம் என்று கற்பனை செய்து பாருங்கள், அங்கு நாம் காணும் பல்வேறு வகையான தாவரங்கள்` மற்றும் ```விலங்குகள் ஆகியவற்றைப் படம் எடுக்க விரும்புகிறோம். ஒவ்வொரு செடி அல்லது விலங்கினமும் அதனுடன் தொடர்புடைய பல படங்களைக் கொண்டுள்ளன, எனவே படங்களைச் சேமிக்க சாதாரண 1:N உறவுகளைப் பயன்படுத்தினால், animal_images மற்றும் `plant_images என இரண்டு தனித்தனி அட்டவணைகள் தேவைப்படும். 2 அட்டவணைகளுக்கு இது ஒரு பிரச்சனையாக இருக்காது, ஆனால் காளான்கள், பறவைகள் போன்றவற்றுக்கு தனித்தனியாக படங்களை எடுக்க வேண்டுமா என்று கற்பனை செய்து பாருங்கள்.

அனைத்து குறிப்பு அம்சங்களும் ஒரே அட்டவணை ஆவணங்கள் இல் சேமிக்கப்படுவதால் பாலிமார்பிக் உறவுகள் இந்தச் சிக்கலைத் தீர்க்கின்றன. ஒவ்வொரு அம்சத்திற்கும், குறிப்பிடப்பட்ட அடுக்கு referenced_layer புலத்திலும், குறிப்பிடப்பட்ட அம்ச அடையாளம் referenced_id புலத்திலும் சேமிக்கப்படும்.

பாலிமார்பிக் உறவுகளை வரையறுத்தல்

முதலில், அடுக்குகளுக்கு இடையிலான பாலிமார்பிக் உறவுகளைப் பற்றி QGIS க்கு தெரியப்படுத்துங்கள். இது Project ► Properties... என்பதில் செய்யப்படுகிறது. Relations தாவலைத் திறந்து, symbologyAdd க்கு அடுத்துள்ள சிறிய கீழ் அம்புக்குறியைக் சொடுக்கு செய்யவும். தொடர்பைச் சேர் பொத்தான், புதிதாக தோன்றிய கீழ்தோன்றலில் இருந்து பாலிமார்பிக் உறவைச் சேர் விருப்பத்தைத் தேர்ந்தெடுக்கலாம்.

../../../_images/polymorphic_relation_properties.png

Fig. 12.120 ஆவணங்கள் லேயரைக் குறிப்பதாகவும், விலங்குகள் மற்றும் தாவரங்கள் ஆகியவற்றைக் குறிப்பிடப்பட்ட அடுக்குகளாகவும் பயன்படுத்தி பாலிமார்பிக் உறவைச் சேர்த்தல்.

  • ஐடி உள் நோக்கங்களுக்காகப் பயன்படுத்தப்படும் மற்றும் தனிப்பட்டதாக இருக்க வேண்டும். தனிப்பயன் படிவங்களை உருவாக்க உங்களுக்கு இது தேவைப்படலாம். நீங்கள் அதை காலியாக விட்டால், உங்களுக்காக ஒன்று உருவாக்கப்படும், ஆனால் கையாளுவதற்கு எளிதான ஒன்றைப் பெற நீங்களே ஒன்றை ஒதுக்கலாம்.

  • குறிப்பு அடுக்கு (குழந்தை) குழந்தை அடுக்கு என்றும் கருதப்படுகிறது, இது வெளிநாட்டு விசை புலத்துடன் உள்ளது. எங்கள் விசயத்தில், இது ஆவணங்கள் லேயர். இந்த லேயருக்கு, மற்ற லேயரைச் சுட்டிக்காட்டும் ஒரு குறிப்பு புலத்தைச் சேர்க்க வேண்டும், எனவே இது referenced_id.

    Note

    சில நேரங்களில், லேயரில் உள்ள அம்சங்களைத் தனித்துவமாக அடையாளம் காண, உங்களுக்கு ஒரு புலத்திற்கு மேல் தேவை. அத்தகைய அடுக்குடன் ஒரு தொடர்பை உருவாக்குவதற்கு கலவை விசை தேவைப்படுகிறது, அதாவது ஒரு இணை பொருந்தக்கூடிய புலங்களுக்கு மேல். பயன்படுத்தவும் symbologyAdd :sup:"ஒரு கூட்டு வெளிநாட்டு விசையின் ஒரு பகுதியாக புதிய புல சோடியைச் சேர்" பொத்தான் தேவையான பல சோடிகளைச் சேர்க்கிறது.

  • லேயர் ஃபீல்ட் என்பது இந்த அம்சத்தைச் சேர்ந்த குறிப்பு அட்டவணையான மதிப்பிடப்பட்ட அடுக்கு வெளிப்பாட்டின் முடிவைச் சேமிக்கும் குறிப்பு அட்டவணையில் உள்ள புலமாகும். எங்கள் எடுத்துக்காட்டில், இது referenced_layer புலமாக இருக்கும்.

  • அடுக்கு வெளிப்பாடு லேயரின் தனிப்பட்ட அடையாளங்காட்டியை மதிப்பிடுகிறது. இது லேயர் பெயர் @layer_name, லேயர் அடையாளம் @layer_id, லேயரின் டேபிள் பெயர் decode_uri(@layer, 'table') அல்லது லேயரைத் தனித்துவமாக அடையாளம் காணக்கூடிய எதுவும் இருக்கலாம்.

  • உறவு வலிமை பெற்றோர் மற்றும் குழந்தை அடுக்கு இடையே உருவாக்கப்பட்ட உறவுகளின் வலிமையை அமைக்கிறது. இயல்புநிலை Association வகை என்பது, பெற்றோர் அடுக்கு குழந்தையுடன் எளிமையாக இணைக்கப்பட்டிருப்பதைக் குறிக்கிறது, அதே நேரத்தில் Composition வகையானது, பெற்றோரை நகலெடுக்கும் போது குழந்தை அம்சங்களையும் நகலெடுக்க அனுமதிக்கிறது மற்றும் ஒரு அம்சத்தை நீக்கும் போது குழந்தைகளும் நீக்கப்படுவார்கள், இதன் விளைவாக குழந்தைகள் எல்லா நிலைகளிலும் நீக்கப்படுவார்கள்.

  • குறிப்பிடப்பட்ட அடுக்குகள் பெற்றோர் அடுக்குகளாகவும் கருதப்படுகிறது, முதன்மை விசையுடன் சுட்டிக்காட்டப்பட்டவை, எனவே இங்கே அவை தாவரங்கள் மற்றும் `விலங்குகள் அடுக்குகளாக இருக்கும். கீழ்தோன்றலில் இருந்து குறிப்பிடப்பட்ட அடுக்குகளின் முதன்மை விசையை நீங்கள் வரையறுக்க வேண்டும், எனவே அது fid. செல்லுபடியாகும் முதன்மை விசையின் வரையறைக்கு அனைத்து குறிப்பிடப்பட்ட அடுக்குகளும் அந்தப் பெயருடன் ஒரு புலத்தைக் கொண்டிருக்க வேண்டும் என்பதை நினைவில் கொள்ளவும். அத்தகைய புலம் இல்லை என்றால், நீங்கள் ஒரு பாலிமார்பிக் உறவை சேமிக்க முடியாது.

சேர்க்கப்பட்டதும், பாலிமார்பிக் உறவை Edit Polymorphic Relation பட்டியல் உள்ளீடு மூலம் திருத்தலாம்.

../../../_images/polymorphic_relations.png

Fig. 12.121 புதிதாக உருவாக்கப்பட்ட பாலிமார்பிக் உறவு மற்றும் விலங்குகள் மற்றும் தாவரங்களுக்கான அதன் குழந்தை உறவுகளின் முன்னோட்டம்.

மேலே உள்ள எடுத்துக்காட்டு பின்வரும் தரவுத்தள திட்டத்தைப் பயன்படுத்துகிறது:

CREATE SCHEMA park;

CREATE TABLE park.animals
(
   fid serial NOT NULL,
   geom geometry(Point, 4326) NOT NULL,
   animal_species text NOT NULL,
   CONSTRAINT animals_pkey PRIMARY KEY (fid)
);

CREATE INDEX animals_geom_idx ON park.animals USING gist (geom);

CREATE TABLE park.plants
(
   fid serial NOT NULL,
   geom geometry(Point, 4326) NOT NULL,
   plant_species text NOT NULL,
   CONSTRAINT plants_pkey PRIMARY KEY (fid)
);

CREATE INDEX plants_geom_idx ON park.plants USING gist (geom);

CREATE TABLE park.documents
(
   fid serial NOT NULL,
   referenced_layer text NOT NULL,
   referenced_id integer NOT NULL,
   image_filename text NOT NULL,
   CONSTRAINT documents_pkey PRIMARY KEY (fid)
);

உறவுகள் நிறுவப்பட்டதும், அடையாளங்கள் முடிவு குழு தொடர்புடைய அம்சங்களைக் காண்பிக்கும், இது தொடர்புடைய தரவை நேரடியாகப் பார்க்க உங்களை அனுமதிக்கிறது.

12.4.2.4. தரவுத்தொகுப்பில் சேமிக்கப்பட்ட உறவுகள்

திட்ட பண்புகளில் உருவாக்கப்பட்ட மற்றும் செயலில் உள்ள திட்டத்தில் மட்டுமே பயன்படுத்தப்படும் மேலே குறிப்பிடப்பட்ட உறவுகளைத் தவிர, QGIS தரவுத்தள-நிலை உறவுகளையும் படிக்க முடியும், அதாவது தரவுத்தொகுப்பில் உள்ள அடுக்குகளுக்கு இடையில் வரையறுக்கப்பட்ட இணைப்புகள். PostgreSQL, SpatiaLite, GeoPackage, ESRI FileGeodatabase போன்ற தரவுத்தள வழங்குநர்களுக்கு இது துணைபுரிகிறது. அத்தகைய பெற்றோர் மற்றும் குழந்தை அடுக்குகள் ஒரு திட்டத்தில் ஏற்றப்படும் போது, ​​QGIS தானாகவே உறவு அமைப்புகளைக் கண்டறிந்து, Project ► Project பண்புகள் ► Relations தாவலைத் தகுந்த முறையில் நிரப்ப முடியும். இது symbologyAdd ஐப் பயன்படுத்தியும் தூண்டப்படலாம் உறவுகளைக் கண்டுபிடி பொத்தான்.

சில தரவு வகைகளுக்கு (எ.கா., GeoPackage, SpatiaLite அல்லது ESRI FileGeodatabase), தரவுத்தளத்தில் உள்ள அட்டவணைகளுக்கு இடையேயான உறவுகளை உருவாக்கவும் திருத்தவும் QGIS அனுமதிக்கிறது. இதை Browser Panel மூலம் நிர்வகிக்கலாம். Browser panel என்பதிலிருந்து, தரவுத்தள உள்ளீட்டில் வலது சொடுக்கு செய்து, புதிய உறவு... என்பதைத் தேர்ந்தெடுத்து, புதிய உரையாடலில், பின்வரும் விருப்பங்களை நிரப்பவும்:

  • பெயர்: புதிய உறவின் பெயரை அமைக்கவும்.

  • கார்டினாலிட்டி: உறவின் கார்டினாலிட்டியை வரையறுக்கவும்.

  • Strength: உறவின் வலிமையைக் குறிப்பிடவும்.

  • Tables குழுவின் கீழ், உங்கள் Parent மற்றும் Child அட்டவணைகளை அமைக்கவும்.

  • Fields குழுவின் கீழ், உங்கள் Parent field மற்றும் Child field ஆகியவற்றை அமைக்கவும்.

  • மேம்பட்ட பிரிவின் கீழ், தரவுத்தள வகையைப் பொறுத்து, நீங்கள் அமைக்கலாம்:

    • தொடர்புடைய அட்டவணை வகை:

      • features: நிலையான அம்ச அட்டவணைகளுக்கு.

      • media: மீடியா கோப்புகளை சேமிக்கும் அட்டவணைகளுக்கு.

      • simple_attributes: எளிய பண்புக்கூறு தரவு கொண்ட அட்டவணைகளுக்கு.

      • attributes: சிக்கலான பண்புக்கூறு தரவு கொண்ட அட்டவணைகளுக்கு.

      • tiles: ஓடு தரவைச் சேமிக்கும் அட்டவணைகளுக்கு.

    • Forward label: பெற்றோர் அட்டவணையில் இருந்து குழந்தை அட்டவணைக்கு செல்லும்போது உறவை தனித்துவமாக அடையாளம் காண்பதற்கான பெயர்.

    • தலைகீழ் லேபிள்: குழந்தை அட்டவணையில் இருந்து பெற்றோர் அட்டவணைக்கு செல்லும்போது உறவை தனித்துவமாக அடையாளம் காண்பதற்கான பெயர்.

உரையாடலைப் பயன்படுத்தினால், தரவுத்தள உள்ளீட்டின் கீழ் ஒரு Relationships முனை சேர்க்கப்படும், புதிய உறவானது குழந்தை உருப்படியாக இருக்கும்.

பிரவுசர் பேனலில் உள்ள உறவில் வலது சொடுக்கு செய்வதன் மூலம் ஏற்கனவே உள்ள உறவுகளைத் திருத்துவது அல்லது நீக்குவது.

../../../_images/browser_panel_relationships.png

Fig. 12.122 உலாவி பேனலில் தரவுத்தொகுப்பு-சேமிக்கப்பட்ட உறவுகளை நிர்வகித்தல்

12.4.3. வெளிப்புற வளத்தை சேமித்தல் மற்றும் பெறுதல்

ஒரு புலம் வெளிப்புற சேமிப்பக அமைப்பில் சேமிக்கப்பட்ட வளத்தை குறிவைக்கலாம். பண்புக்கூறு படிவங்கள் கட்டமைக்கப்படலாம், எனவே அவை வெளிப்புற சேமிப்பக அமைப்பிற்கு கிளையண்டாக செயல்படுகின்றன, இதனால் அந்த வளங்களை பயனர்களின் தேவைக்கேற்ப நேரடியாக படிவங்களிலிருந்து சேமித்து பெறலாம்.

12.4.3.1. வெளிப்புற சேமிப்பிடத்தை உள்ளமைக்கிறது

வெளிப்புற சேமிப்பிடத்தை அமைக்க, நீங்கள் முதலில் அதை திசையன் attribute form பண்புகள் இலிருந்து கட்டமைத்து Attachment விட்செட்டைத் தேர்ந்தெடுக்கவும்.

../../../_images/external_storage_configuration.png

Fig. 12.123 கொடுக்கப்பட்ட புலத்திற்கான WebDAV வெளிப்புற சேமிப்பிடத்தைத் திருத்துதல்

Attachment விட்செட்டில் இருந்து, நீங்கள் முதலில் Storage வகை என்பதைத் தேர்ந்தெடுக்க வேண்டும்:

  • இருக்கும் கோப்பைத் தேர்ந்தெடு: இலக்கு முகவரி ஏற்கனவே உள்ளது. நீங்கள் ஒரு ஆதாரத்தைத் தேர்ந்தெடுக்கும்போது, ​​எந்த கடை செயல்பாடும் அடையப்படவில்லை, பண்புக்கூறு முகவரி உடன் புதுப்பிக்கப்படும்.

  • எளிய நகல்: ஆதாரத்தின் நகலை ஒரு கோப்பு வட்டு இலக்கில் (உள்ளூர் அல்லது பிணைய பகிரப்பட்ட கோப்பு முறைமையாக இருக்கலாம்) சேமித்து, நகலுக்கான பாதையுடன் பண்புக்கூறு புதுப்பிக்கப்படும்.

  • WebDAV சேமிப்பகம்: WebDAV நெறிமுறையை ஆதரிக்கும் HTTP சேவையகத்திற்கு சான்று தள்ளப்படுகிறது மற்றும் பண்புக்கூறு அதன் முகவரி உடன் புதுப்பிக்கப்படுகிறது. Nextcloud, Pydio அல்லது பிற கோப்பு ஓச்டிங் மென்பொருள் இந்த நெறிமுறையை ஆதரிக்கிறது.

  • AWS S3: ஆதாரமானது AWS எளிய சேமிப்பக பணி நெறிமுறையை ஆதரிக்கும் சேவையகத்திற்குத் தள்ளப்பட்டது மற்றும் பண்புக்கூறு அதன் முகவரி உடன் புதுப்பிக்கப்படுகிறது. Amazon விரலிடைத் தோல் பணி மற்றும் MinIO ஓச்டிங் மென்பொருள் இந்த நெறிமுறையை ஆதரிக்கின்றன.

பின்னர், நீங்கள் Store URL அளவுருவை அமைக்க வேண்டும், இது ஒரு புதிய ஆதாரத்தை சேமிக்க வேண்டியிருக்கும் போது பயன்படுத்த முகவரி ஐ வழங்குகிறது. அம்ச பண்புகளின்படி குறிப்பிட்ட மதிப்புகளைப் பெற data defined override widget ஐப் பயன்படுத்தி ஒரு வெளிப்பாட்டை அமைக்க முடியும்.

@selected_file_path என்ற மாறி அந்த வெளிப்பாட்டில் பயன்படுத்தப்படலாம் மற்றும் பயனர் தேர்ந்தெடுத்த கோப்பின் முழுமையான கோப்பு பாதையைக் குறிக்கும் (கோப்புத் தேர்வி அல்லது இழுவை டிராப் பயன்படுத்தி).

Note

WebDAV அல்லது AWS S3 வெளிப்புற சேமிப்பகத்தைப் பயன்படுத்தி, முகவரி "/" உடன் முடிவடைந்தால், அது ஒரு கோப்புறையாகக் கருதப்பட்டு, இறுதி முகவரி ஐப் பெற தேர்ந்தெடுக்கப்பட்ட கோப்பு பெயர் சேர்க்கப்படும்.

வெளிப்புற சேமிப்பக அமைப்புக்கு தேவைப்பட்டால், ஒரு அங்கீகாரம் கட்டமைக்க முடியும்.

Note

AWS S3 வெளிப்புற சேமிப்பிடத்தைப் பயன்படுத்த, நீங்கள் AWS S3 அங்கீகார வகையைப் பயன்படுத்த வேண்டும்.

12.4.3.2. வெளிப்புற சேமிப்பகத்தைப் பயன்படுத்துதல்

கட்டமைத்தவுடன், ஒரு அம்சத்தின் பண்புக்கூறைத் திருத்தும்போது, ​​பொத்தானைப் பயன்படுத்தி உள்ளக கோப்பைத் தேர்ந்தெடுக்கலாம் .... உள்ளமைக்கப்பட்ட storage வகை ஐப் பொறுத்து, கோப்பு வெளிப்புற சேமிப்பக அமைப்பில் சேமிக்கப்படும் (தற்போதுள்ள கோப்பைத் தேர்ந்தெடு தேர்ந்தெடுக்கப்பட்டிருந்தால் தவிர) மற்றும் புலம் புதிய ஆதார முகவரி உடன் புதுப்பிக்கப்படும்.

../../../_images/external_storage_store.png

Fig. 12.124 WebDAV வெளிப்புற சேமிப்பகத்தில் கோப்பைச் சேமிக்கிறது

Note

முழு இணைப்பு விட்செட்டில் ஒரு கோப்பை இழுத்து விட்டுவிட்டால், பயனர் அதே முடிவை அடைய முடியும்.

taskCancel ஐப் பயன்படுத்தவும் ரத்துசெய் பொத்தான் சேமிப்பு செயல்முறையை நிறுத்தும். Integrated ஆவணம் viewer ஐப் பயன்படுத்தி பார்வையாளரை உள்ளமைக்க முடியும், எனவே ஆதாரமானது வெளிப்புற சேமிப்பக அமைப்பிலிருந்து தானாகவே பெறப்பட்டு முகவரி க்கு கீழே நேரடியாகக் காட்டப்படும். மேலே உள்ள warning படவுரு வெளிப்புற சேமிப்பக அமைப்பிலிருந்து வளத்தைப் பெற முடியாது என்பதைக் குறிக்கிறது. அப்படியானால், மேலும் விவரங்கள் Log Messages Panel இல் தோன்றும்.