توفر نافذة الحوار Layer Properties للطبقة المتجهية إعدادات عامة لإدارة مظهر معالم الطبقة على الخريطة (الترميز، التسميات، المخططات البيانية)، والتفاعل مع الفأرة (الإجراءات، تلميحات الخريطة، تصميم النماذج). كما توفر معلومات عن الطبقة.
للوصول إلى نافذة الحوار Layer Properties:
في لوحة Layers، انقر نقرًا مزدوجًا على الطبقة، أو انقر بزر الفأرة الأيمن واختر Properties... من القائمة المنبثقة؛
انتقل إلى القائمة Layer ► Layer Properties... عندما تكون الطبقة محددة.
توفر نافذة الحوار Layer Properties للطبقة المتجهية الأقسام التالية:
تتيح لك القائمة Style في أسفل نافذة الحوار استيراد هذه الخصائص أو جزء منها أو تصديرها من/إلى عدة وجهات (ملف، الحافظة، قاعدة بيانات). راجع إدارة الأنماط المخصصة.
ملاحظة
لأن خصائص الطبقات المضمّنة (انظر تضمين الطبقات من مشاريع خارجية) (الترميز، التسميات، الإجراءات، القيم الافتراضية، النماذج...) تُستمد من ملف المشروع الأصلي، ولتجنّب التغييرات التي قد تُخلّ بهذا السلوك، تُجعل نافذة خصائص الطبقة غير متاحة لهذه الطبقات.
يعرض نظام الإحداثيات المرجعي (CRS) المعيَّن للطبقة. يمكنك تغيير CRS الطبقة باختيار نظام مستخدم مؤخرًا من القائمة المنسدلة أو بالنقر على الزر Select CRS (انظر أداة اختيار نظام الإحداثيات المرجعي). استخدم هذه العملية فقط إذا كان CRS المطبّق على الطبقة خاطئًا أو لم يُطبّق أي نظام. أما إذا أردت إعادة إسقاط بياناتك إلى CRS آخر، فاستخدم بدلًا من ذلك خوارزميات إعادة إسقاط الطبقات من المعالجة أو احفظها في طبقة أخرى.
اعتمادًا على مزوّد البيانات، تشير مجموعة Layer source إلى مسار مصدر مجموعة البيانات وتتيح استبدال الطبقة المحمّلة:
عندما تكون الطبقة مخزّنة كملف على القرص، حرّر المسار المعروض في مربع النص أو اضغط ...Browse لاختيار ملف آخر على القرص. ولا يلزم أن تتشارك الطبقتان حقول السمات أو نوع الشكل الهندسي أو صيغة الملف.
عندما تكون الطبقة مقدَّمة من خدمة ArcGIS Feature، يمكن تعديل إعدادات المصادقة الخاصة بها مع إبقاء تفاصيل الاتصال بالخدمة دون تغيير.
Create spatial index (للصيغ المدعومة من OGR فقط): يساعد على تسريع تصيير الطبقة واسترجاع الأشكال الهندسية للمعالم.
يمكن الوصول إلى نافذة حوار منشئ الاستعلامات عبر الزر Query Builder أسفل التبويب Source في نافذة خصائص الطبقة، ضمن مجموعة Provider feature filter.
يوفر منشئ الاستعلامات واجهة تتيح لك تعريف مجموعة فرعية من معالم الطبقة باستخدام عبارة WHERE شبيهة بلغة SQL، وعرض النتيجة في النافذة الرئيسية. وما دام الاستعلام نشطًا، فلن يتاح في المشروع إلا المعالم المطابقة لنتيجته.
يمكنك استخدام سمة واحدة أو أكثر من سمات الطبقة لتعريف المرشّح في QueryBuilder. ويظهر استخدام أكثر من سمة في شكل 12.2. وفي المثال، يجمع المرشّح بين السمات
toa (حقل DateTime: cast("toa"ascharacter)>'2017-05-17' و cast("toa"ascharacter)<'2019-12-24T18:00:00')،
name (حقل String: "name">'S') و
FID (حقل Integer: FID>10)
باستخدام العوامل AND و OR و NOT والأقواس. وتعمل هذه الصياغة (بما في ذلك صيغة DateTime للحقل toa) مع مجموعات بيانات GeoPackage.
يُطبَّق المرشّح على مستوى مزوّد البيانات (OGR، PostgreSQL، MS SQL Server...)، لذا تعتمد الصياغة على مزوّد البيانات (فمثلًا DateTime غير مدعوم في صيغة ESRI Shapefile). التعبير الكامل:
يمكنك أيضًا فتح نافذة الحوار Query Builder باستخدام الخيار Filter... من القائمة Layer أو من القائمة السياقية للطبقة. وتساعدك الأقسام Fields و Values و Operators في نافذة الحوار على بناء الاستعلام الشبيه بـ SQL المعروض في مربع Provider specific filter expression.
تحتوي القائمة Fields على جميع حقول الطبقة. لإضافة عمود سمة إلى حقل عبارة SQL WHERE، انقر نقرًا مزدوجًا على اسمه أو اكتبه ببساطة في مربع SQL.
يعرض إطار Values قيم الحقل المحدد حاليًا. لعرض جميع القيم الفريدة لحقل ما، انقر على الزر All. أما لعرض أول 25 قيمة فريدة من العمود، فانقر على الزر Sample. لإضافة قيمة إلى حقل عبارة SQL WHERE، انقر نقرًا مزدوجًا على اسمها في قائمة القيم. ويمكنك استخدام مربع البحث أعلى إطار القيم لتصفح قيم السمات والعثور عليها بسهولة في القائمة.
يحتوي قسم المعاملات (Operators) على جميع المعاملات القابلة للاستخدام. لإضافة معامل إلى حقل عبارة SQL WHERE، انقر الزر المناسب. تتوفر المعاملات العلائقية ( = ، > ، ...)، ومعامل مقارنة النصوص (LIKE)، والمعاملات المنطقية (AND، OR، ...).
يساعدك الزر Test على فحص استعلامك، ويعرض مربع رسالة بعدد المعالم التي تحقق الاستعلام الحالي. استخدم الزر Clear لمسح استعلام SQL وإعادة الطبقة إلى حالتها الأصلية (أي تحميل جميع المعالم بالكامل). ويمكن حفظ الاستعلام عبر Save... كملف .QQF، أو تحميله من ملف إلى نافذة الحوار عبر Load....
عند تطبيق مرشّح، يتعامل QGIS مع المجموعة الفرعية الناتجة كما لو كانت الطبقة بأكملها. فمثلًا إذا طبّقت المرشّح أعلاه لـ 'Borough' ("TYPE_2"='Borough')، فلن تتمكن من عرض Anchorage أو الاستعلام عنها أو حفظها أو تحريرها، لأنها من نوع 'Municipality' وبالتالي ليست جزءًا من المجموعة الفرعية.
نصيحة
يُشار إلى الطبقات المرشّحة في لوحة الطبقات
في لوحة Layers، تُدرج الطبقة المرشّحة وبجانبها أيقونة Filter تعرض الاستعلام المستخدم عند مرور الفأرة فوق الزر. ويؤدي النقر المزدوج على الأيقونة إلى فتح نافذة الحوار Query Builder للتحرير. ويمكن تحقيق ذلك أيضًا عبر القائمة Layer ► Filter....
يوفر لك التبويب Symbology أداة شاملة لتصيير بياناتك المتجهية وترميزها. يمكنك استخدام أدوات مشتركة بين جميع البيانات المتجهية، إضافةً إلى أدوات ترميز خاصة صُمّمت لأنواع البيانات المتجهية المختلفة. غير أن جميع الأنواع تتشارك بنية نافذة الحوار التالية: في الجزء العلوي يوجد عنصر واجهة يساعدك على إعداد التصنيف والرمز المستخدم للمعالم، وفي الأسفل عنصر الواجهة تصيير الطبقة.
نصيحة
التبديل السريع بين تمثيلات مختلفة للطبقة
باستخدام القائمة Styles ► Add أسفل نافذة الحوار Layer Properties، يمكنك حفظ ما تحتاجه من الأنماط. والنمط هو تركيبة من جميع خصائص الطبقة (مثل الترميز، والتسميات، والمخططات البيانية، ونموذج الحقول، والإجراءات...) كما تريدها. ثم بدّل ببساطة بين الأنماط من القائمة السياقية للطبقة في Layers Panel للحصول تلقائيًا على تمثيلات مختلفة لبياناتك.
نصيحة
تصدير ترميز الطبقات المتجهية
يمكنك تصدير ترميز الطبقات المتجهية من QGIS إلى ملفات Google *.kml و *.dxf و MapInfo *.tab. افتح فقط قائمة زر الفأرة الأيمن للطبقة وانقر على Save As... لتحديد اسم ملف الإخراج وصيغته. وفي نافذة الحوار، استخدم القائمة Symbology export لحفظ الترميز إما بوصفه Feature symbology ► أو Symbol layer symbology ►. وإذا كنت قد استخدمت طبقات الرموز، فيُنصح باستخدام الإعداد الثاني.
أداة الرسم (Renderer) مسؤولة عن رسم المعلم مع الرمز الصحيح. وبغض النظر عن نوع الشكل الهندسي للطبقة، هناك أربعة أنواع شائعة من أدوات الرسم: الرمز المفرد، والمصنّف، والمتدرّج، والمبني على القواعد. وتتوفر لطبقات النقاط أدوات رسم إزاحة النقاط، وتجميع النقاط، والخريطة الحرارية، بينما يمكن أيضًا تصيير طبقات المضلعات باستخدام أدوات رسم المعالم المدمجة، والمضلعات المعكوسة، و 2.5 D.
لا توجد أداة رسم للألوان المتصلة، لأنها في الحقيقة مجرد حالة خاصة من أداة الرسم المتدرّجة. ويمكن إنشاء أداتي الرسم المصنّفة والمتدرّجة بتحديد رمز وتدرّج لوني، وستُعيّنان ألوان الرموز بشكل مناسب. ولكل نوع من البيانات (النقاط والخطوط والمضلعات) تتوفر أنواع طبقات رموز متجهية. واعتمادًا على أداة الرسم المختارة، توفر نافذة الحوار أقسامًا إضافية مختلفة.
ملاحظة
إذا غيّرت نوع أداة الرسم أثناء ضبط نمط طبقة متجهية، فستُحفظ الإعدادات التي أجريتها على الرمز. انتبه إلى أن هذا الإجراء يعمل لتغيير واحد فقط، فإذا كرّرت تغيير نوع أداة الرسم فستفقد إعدادات الرمز.
أداة الرسم No Symbols حالة استخدام خاصة من أداة رسم الرمز المفرد، إذ تطبّق التصيير نفسه على جميع المعالم. وباستخدام هذه الأداة لن يُرسم أي رمز للمعالم، لكن التسميات والمخططات البيانية والأجزاء الأخرى غير الرمزية ستظل معروضة.
لا يزال بالإمكان إجراء تحديدات على الطبقة في لوحة الخريطة، وستُصيَّر المعالم المحددة برمز افتراضي. كما ستُعرض المعالم قيد التحرير.
هذه الأداة اختصار مفيد للطبقات التي لا تريد أن تعرض لها سوى التسميات أو المخططات البيانية، وتُغنيك عن تصيير رموز بتعبئة/حدود شفافة تمامًا لتحقيق ذلك.
اختر Value التصنيف: يمكن أن يكون حقلًا موجودًا أو تعبيرًا تكتبه في المربع أو تبنيه باستخدام الزر المرتبط به. ويُغني استخدام التعبيرات في التصنيف عن إنشاء حقل لأغراض الترميز فقط (مثلًا إذا كانت معايير التصنيف مشتقة من سمة واحدة أو أكثر).
يمكن أن يكون التعبير المستخدم لتصنيف المعالم من أي نوع؛ فمثلًا يمكن أن:
يكون مقارنة. في هذه الحالة يُرجع QGIS القيمتين 1 (True) و 0 (False). بعض الأمثلة:
يُستخدم لتحويل القيم الخطية إلى فئات منفصلة، مثلًا:
CASEWHENx>1000THEN'Big'ELSE'Small'END
يجمع عدة قيم منفصلة في فئة واحدة، مثلًا:
CASEWHENbuildingIN('residence','mobile home')THEN'residential'WHENbuildingIN('commercial','industrial')THEN'Commercial and Industrial'END
نصيحة
مع أنه يمكنك استخدام أي نوع من التعبيرات لتصنيف المعالم، فقد يكون من الأسهل لبعض التعبيرات المعقدة استخدام التصيير المبني على القواعد.
اضبط الرمز الذي سيُستخدم رمزًا أساسيًا لجميع الفئات؛
حدّد التدرّج اللوني، أي نطاق الألوان الذي يُختار منه اللون المطبّق على كل رمز.
إلى جانب الخيارات المشتركة لـ عنصر واجهة التدرّج اللوني، يمكنك تطبيق Random Color Ramp على الفئات. ويمكنك النقر على المدخل Shuffle Random Colors لتوليد مجموعة جديدة من الألوان العشوائية إن لم تكن راضيًا.
ثم انقر على الزر Classify لإنشاء فئات من القيم المميزة للحقل أو التعبير المحدد.
لكل فئة، يمكنك تحرير العمود Legend إلى تسمية أوضح دلالة (تُستخدم في لوحة Layers وفي تخطيط الطباعة).
ملاحظة
ضع في اعتبارك أن بعض القيم قد تستخدم عناصر واجهة لا تعرض القيمة الفعلية المخزّنة في الحقل. فمثلًا قد يخزّن عنصر واجهة مربع الاختيار القيمتين 1 و 0 لحالتي التحديد وعدمه، بينما يعرض التسميتين True و False. وفي هذه الحالة، لتصنيف المعالم بناءً على حالة مربع الاختيار، عليك استخدام القيم المخزّنة (1 و 0) في التعبير. وسيستخدم QGIS تلقائيًا القيمة المعروضة لعمود مفتاح الخريطة.
طبّق التغييرات عبر Apply إذا لم يكن التحديث المباشر مستخدمًا، وسيُصيَّر كل معلم على لوحة الخريطة برمز فئته.
افتراضيًا، يُلحق QGIS فئة all other values بالقائمة. ومع أنها فارغة في البداية، فإن هذه الفئة تُستخدم فئةً افتراضية لأي معلم لا يقع ضمن الفئات الأخرى (مثلًا عند إنشاء معالم بقيم جديدة لحقل/تعبير التصنيف).
يمكن إجراء تعديلات إضافية على التصنيف الافتراضي:
يمكنك إضافة فئات جديدة عبر Add، وإزالة الفئات المحددة عبر Remove، وحذفها كلها عبر Delete All، أو حذف الفئات غير المستخدمة عبر Delete Unused.
يمكن تعطيل فئة بإلغاء تحديد مربع الاختيار على يسار اسم الفئة؛ فتُخفى المعالم المقابلة على الخريطة.
اسحب الصفوف وأفلتها لإعادة ترتيب الفئات
لتغيير رمز فئة أو قيمتها أو مفتاح خريطتها، انقر نقرًا مزدوجًا على العنصر.
يعرض النقر بزر الفأرة الأيمن فوق العنصر (العناصر) المحدد قائمة سياقية تتيح:
Copy Symbol و Paste Symbol، وهي طريقة ملائمة لتطبيق تمثيل العنصر على عناصر أخرى
Change Color...: تغيير لون الرمز (الرموز) المحدد
Change Opacity...: تغيير عتامة الرمز (الرموز) المحدد
Change Output Unit...: تغيير وحدة إخراج الرمز (الرموز) المحدد
Change Width...: تغيير عرض رمز (رموز) الخطوط المحدد
Change Size...: تغيير حجم رمز (رموز) النقاط المحدد
Change Angle...: تغيير زاوية رمز (رموز) النقاط المحدد
Merge Categories: يجمع عدة فئات محددة في فئة واحدة. ويتيح ذلك تنسيقًا أبسط للطبقات ذات العدد الكبير من الفئات، إذ يمكن تجميع فئات مميزة عديدة في مجموعة أصغر وأسهل إدارة من الفئات تنطبق على قيم متعددة.
نصيحة
بما أن الرمز الذي يُحتفظ به للفئات المدمجة هو رمز الفئة المحددة الأعلى في القائمة، فقد ترغب في نقل الفئة التي تريد إعادة استخدام رمزها إلى الأعلى قبل الدمج.
Unmerge Categories: فك دمج الفئات التي دُمجت سابقًا
تظهر الفئات المنشأة أيضًا في تسلسل هرمي شجري في لوحة Layers. انقر نقرًا مزدوجًا على مدخل في مفتاح الخريطة لتحرير الرمز المعيّن له، وانقر بزر الفأرة الأيمن لتحصل على مزيد من الخيارات.
تتيح القائمة Advanced الوصول إلى خيارات لتسريع التصنيف أو ضبط تصيير الرموز بدقة:
Match to saved symbols: باستخدام مكتبة الرموز، يعيّن لكل فئة رمزًا يمثل اسمُه قيمةَ تصنيف الفئة
Match to symbols from file...: بالاستعانة بملف رموز، يعيّن لكل فئة رمزًا يمثل اسمُه قيمةَ تصنيف الفئة
تُستخدم أداة الرسم Graduated لتصيير جميع معالم طبقة باستخدام رمز يعرّفه المستخدم يعكس لونه أو حجمه انتماء سمة محددة للمعلم إلى فئة ما.
كما في أداة الرسم المصنّفة، تتيح لك أداة الرسم المتدرّجة تعريف الدوران ومقياس الحجم من أعمدة محددة.
وعلى غرار أداة الرسم المصنّفة أيضًا، تتيح لك اختيار:
Value التصنيف: يمكن أن يكون حقلًا موجودًا أو تعبيرًا تكتبه في المربع أو تبنيه باستخدام الزر المرتبط به. ويُغني استخدام التعبيرات في التدريج عن إنشاء حقل لأغراض الترميز فقط (مثلًا إذا كانت معايير التصنيف مشتقة من سمة واحدة أو أكثر).
الرمز (باستخدام نافذة حوار محدِّد الرموز)
صيغة مفتاح الخريطة والدقة
الطريقة المستخدمة لتغيير الرمز: اللون أو الحجم
الألوان (باستخدام قائمة التدرّج اللوني) إذا اختيرت طريقة اللون
الحجم (باستخدام نطاق الحجم ووحدته)
بعد ذلك يمكنك استخدام تبويب المدرّج التكراري (Histogram) الذي يعرض مدرّجًا تكراريًا تفاعليًا لقيم الحقل أو التعبير المعيّن. ويمكن نقل فواصل الفئات أو إضافتها باستخدام عنصر واجهة المدرّج التكراري.
ملاحظة
يمكنك استخدام لوحة الملخص الإحصائي للحصول على مزيد من المعلومات عن طبقتك المتجهية. راجع فريق الملخص الإحصائي.
بالعودة إلى تبويب الفئات (Classes)، يمكنك تحديد عدد الفئات وكذلك طريقة تصنيف المعالم ضمن الفئات (باستخدام قائمة Mode). والطرق المتاحة هي:
Equal Count (Quantile) (العدد المتساوي/الكميات): تحتوي كل فئة على العدد نفسه من العناصر (فكرة مخطط الصندوق).
Equal Interval (الفترات المتساوية): يكون لكل فئة الحجم نفسه (مثلًا مع القيم من 1 إلى 16 وأربع فئات، يكون حجم كل فئة أربعة).
Fixed Interval (الفترة الثابتة): يكون لكل فئة مدى ثابت من القيم (مثلًا مع القيم من 1 إلى 16 وحجم فترة 4، تكون الفئات 1-4 و 5-8 و 9-12 و 13-16).
Logarithmic scale (المقياس اللوغاريتمي): مناسب للبيانات ذات المدى الواسع من القيم. فئات ضيقة للقيم المنخفضة وفئات واسعة للقيم الكبيرة (مثلًا للأعداد العشرية في المدى [0..100] مع فئتين، تكون الفئة الأولى من 0 إلى 10 والثانية من 10 إلى 100).
Natural Breaks (Jenks) (الفواصل الطبيعية): يُقلَّل التباين داخل كل فئة إلى أدنى حد بينما يُعظَّم التباين بين الفئات.
Pretty Breaks (الفواصل الأنيقة): تحسب سلسلة من نحو n+1 قيمة مستديرة متساوية التباعد تغطي مدى القيم في x. وتُختار القيم بحيث تكون 1 أو 2 أو 5 مضروبة في قوة للعدد 10. (استنادًا إلى الدالة pretty من بيئة R الإحصائية https://www.rdocumentation.org/packages/base/topics/pretty).
Standard Deviation (الانحراف المعياري): تُبنى الفئات اعتمادًا على الانحراف المعياري للقيم.
يعرض مربع القائمة في الجزء الأوسط من التبويب Symbology الفئات مع مداها وتسمياتها ورموزها التي ستُصيَّر.
انقر على الزر Classify لإنشاء الفئات باستخدام الطريقة المختارة. ويمكن تعطيل كل فئة بإلغاء تحديد مربع الاختيار على يسار اسم الفئة.
لتغيير رمز الفئة و/أو قيمتها و/أو تسميتها، انقر نقرًا مزدوجًا على العنصر الذي تريد تغييره.
يعرض النقر بزر الفأرة الأيمن فوق العنصر (العناصر) المحدد قائمة سياقية تتيح:
Copy Symbol و Paste Symbol، وهي طريقة ملائمة لتطبيق تمثيل العنصر على عناصر أخرى
Change Color...: تغيير لون الرمز (الرموز) المحدد
Change Opacity...: تغيير عتامة الرمز (الرموز) المحدد
Change Output Unit...: تغيير وحدة إخراج الرمز (الرموز) المحدد
Change Width...: تغيير عرض رمز (رموز) الخطوط المحدد
Change Size...: تغيير حجم رمز (رموز) النقاط المحدد
Change Angle...: تغيير زاوية رمز (رموز) النقاط المحدد
يبيّن المثال في شكل 12.5 نافذة حوار التصيير المتدرّج للطبقة major_rivers من مجموعة بيانات QGIS النموذجية.
تظهر الفئات المنشأة أيضًا في تسلسل هرمي شجري في لوحة Layers. انقر نقرًا مزدوجًا على مدخل في مفتاح الخريطة لتحرير الرمز المعيّن له، وانقر بزر الفأرة الأيمن لتحصل على مزيد من الخيارات.
الرمز التناسبي والتحليل متعدد المتغيرات ليسا من أنواع التصيير المتاحة في القائمة المنسدلة لتصيير الترميز. لكن باستخدام خيارات التجاوز المعرّف بالبيانات المطبّقة على أي من خيارات التصيير السابقة، يتيح لك QGIS عرض بيانات النقاط والخطوط بهذا التمثيل.
حدّد العنصر في المستوى الأعلى من شجرة الرموز، واستخدم الزرData-defined override بجانب الخيار Size (لطبقة النقاط) أو Width (لطبقة الخطوط).
اختر حقلًا أو أدخل تعبيرًا، وسيطبّق QGIS لكل معلم قيمة الإخراج على الخاصية ويعيد تحجيم الرمز تناسبيًا في لوحة الخريطة.
عند الحاجة، استخدم الخيار Size assistant... من القائمة لتطبيق تحويل ما (أسّي، flannery...) على إعادة تحجيم الرمز (راجع استخدام واجهة المساعد المعرَّف بالبيانات لمزيد من التفاصيل).
كما في الرمز التناسبي، يمكن إضافة الترميز المُحجَّم إلى شجرة الطبقات فوق رموز الفئات المصنّفة أو المتدرّجة باستخدام ميزة مفتاح الخريطة للحجم المعرّف بالبيانات. ويتوفر كلا التمثيلين أيضًا في عنصر مفتاح الخريطة في تخطيط الطباعة.
شكل 12.6 مثال متعدد المتغيرات مع مفتاح خريطة للحجم المُحجَّم¶
القواعد هي تعبيرات QGIS تُستخدم للتمييز بين المعالم وفقًا لسماتها أو خصائصها من أجل تطبيق إعدادات تصيير محددة عليها. ويمكن تداخل القواعد، وينتمي المعلم إلى فئة ما إذا كان ينتمي إلى جميع مستويات التداخل الأعلى.
وبذلك صُمّمت أداة الرسم Rule-based لتصيير جميع معالم طبقة باستخدام رموز يعكس مظهرها انتماء المعلم المحدد إلى فئة دقيقة التفصيل.
لإنشاء قاعدة:
فعّل صفًا موجودًا بالنقر المزدوج عليه (افتراضيًا يضيف QGIS رمزًا بلا قاعدة عند تفعيل نمط التصيير) أو انقر على الزر Edit rule أو Add rule.
في نافذة الحوار Edit Rule التي تُفتح، يمكنك تعريف تسمية تساعدك على تمييز كل قاعدة. وهي التسمية التي ستُعرض في Layers Panel وفي مفتاح خريطة مؤلِّف الطباعة أيضًا.
أدخل تعبيرًا يدويًا في مربع النص بجانب الخيار Filter أو اضغط الزر بجانبه لفتح نافذة حوار منشئ التعبيرات.
استخدم الدوال المتوفرة وسمات الطبقة لبناء تعبير يرشّح المعالم التي تريد استرجاعها. اضغط الزر Test للتحقق من نتيجة الاستعلام.
يمكنك إدخال تسمية أطول لإكمال وصف القاعدة.
يمكنك استخدام الخيار Scale Range لتعيين مقاييس الرسم التي يجب أن تُطبَّق عندها القاعدة.
يُضاف صف جديد يلخّص القاعدة إلى نافذة خصائص الطبقة. يمكنك إنشاء ما يلزم من القواعد باتباع الخطوات أعلاه أو بنسخ قاعدة موجودة ولصقها. اسحب القواعد وأفلتها فوق بعضها لتداخلها وتنقيح معالم القاعدة الأعلى في فئات فرعية.
يمكن الجمع بين أداة الرسم المبنية على القواعد وأداتي الرسم المصنّفة أو المتدرّجة. فعند تحديد قاعدة، يمكنك تنظيم معالمها في فئات فرعية باستخدام القائمة المنسدلة Refine selected rules. وتظهر الفئات المنقّحة كعناصر فرعية للقاعدة في تسلسل هرمي شجري، ويمكنك، كما في القاعدة الأم، تعيين ترميز وقاعدة كل فئة. ويمكن أن يعتمد التنقيح الآلي للقواعد على:
scales (مقاييس الرسم): بالاستعانة بقائمة من مقاييس الرسم، ينشئ هذا الخيار مجموعة من الفئات تنطبق عليها نطاقات مقاييس الرسم المختلفة التي يعرّفها المستخدم. ويمكن أن يكون لكل فئة جديدة مبنية على المقياس ترميزها وتعبير تعريفها الخاص. وقد يكون ذلك مثلًا طريقة ملائمة لعرض المعالم نفسها برموز مختلفة عند مقاييس رسم مختلفة، أو لعرض مجموعة من المعالم فقط حسب المقياس (مثلًا المطارات المحلية عند مقياس رسم كبير مقابل المطارات الدولية عند مقياس رسم صغير).
categories (الفئات): يطبّق أداة الرسم المصنّفة على المعالم الواقعة ضمن القاعدة المحددة.
أو ranges (المدى): يطبّق أداة الرسم المتدرّجة على المعالم الواقعة ضمن القاعدة المحددة.
تظهر الفئات المنقّحة كعناصر فرعية للقاعدة في تسلسل هرمي شجري، ويمكنك كما سبق تعيين ترميز كل فئة. وتُكدَّس رموز القواعد المتداخلة فوق بعضها، لذا احرص عند اختيارها. ويمكن أيضًا إلغاء تحديد Symbols في نافذة الحوار Edit rule لتجنّب تصيير رمز معيّن في الكدسة.
في نافذة الحوار Edit rule، يمكنك تجنّب كتابة جميع القواعد والاستفادة من الخيار Else لالتقاط جميع المعالم التي لا تطابق أيًا من القواعد الأخرى في المستوى نفسه. ويمكن تحقيق ذلك أيضًا بكتابة Else في العمود Rule في نافذة الحوار Layer Properties ► Symbology ► Rule-based.
يعرض النقر بزر الفأرة الأيمن فوق العنصر (العناصر) المحدد قائمة سياقية تتيح:
Copy و Paste، وهي طريقة ملائمة لإنشاء عنصر (عناصر) جديد بناءً على عنصر (عناصر) موجود
Copy Symbol و Paste Symbol، وهي طريقة ملائمة لتطبيق تمثيل العنصر على عناصر أخرى
Change Color...: تغيير لون الرمز (الرموز) المحدد
Change Opacity...: تغيير عتامة الرمز (الرموز) المحدد
Change Output Unit...: تغيير وحدة إخراج الرمز (الرموز) المحدد
Change Width...: تغيير عرض رمز (رموز) الخطوط المحدد
Change Size...: تغيير حجم رمز (رموز) النقاط المحدد
Change Angle...: تغيير زاوية رمز (رموز) النقاط المحدد
Refine Current Rule: يفتح قائمة فرعية تتيح تنقيح القاعدة الحالية باستخدام scales أو categories أو Ranges. وهو مماثل لاختيار القائمة المقابلة أسفل نافذة الحوار.
يؤدي إلغاء تحديد صف في نافذة حوار أداة الرسم المبنية على القواعد إلى إخفاء معالم تلك القاعدة والقواعد المتداخلة فيها من لوحة الخريطة.
تظهر القواعد المنشأة أيضًا في تسلسل هرمي شجري في مفتاح الخريطة. انقر نقرًا مزدوجًا على مدخل في مفتاح الخريطة لتحرير الرمز المعيّن له، وانقر بزر الفأرة الأيمن لتحصل على مزيد من الخيارات.
يبيّن المثال في شكل 12.7 نافذة حوار التصيير المبني على القواعد لطبقة rivers من مجموعة بيانات QGIS النموذجية.
تأخذ أداة الرسم Point Displacement معالم النقاط الواقعة ضمن مسافة تسامح معيّنة من بعضها، وتضع رموزها حول مركز ثقلها وفق طرق توزيع مختلفة. وقد تكون هذه طريقة ملائمة لإظهار جميع معالم طبقة نقاط حتى لو كانت لها الموقع نفسه (مثل المرافق داخل مبنى).
لضبط أداة رسم إزاحة النقاط، عليك:
تعيين Center symbol: كيف ستبدو النقطة الافتراضية في المركز
اختيار نوع Renderer: كيف تريد تصنيف المعالم في الطبقة (مفرد، مصنّف، مبني على القواعد...)
الضغط على الزر Renderer Settings... لضبط ترميز المعالم وفقًا لأداة الرسم المختارة
تحديد مسافة التسامح Distance التي تُعدّ المعالم القريبة ضمنها متداخلة، فتُزاح حول النقطة الافتراضية نفسها. وتدعم وحدات الرموز الشائعة.
ضبط Placement methods:
Ring (حلقة): يضع جميع المعالم على دائرة يعتمد نصف قطرها على عدد المعالم المراد عرضها.
Concentric rings (حلقات متحدة المركز): يستخدم مجموعة من الدوائر متحدة المركز لإظهار المعالم.
Grid (شبكة): يولّد شبكة منتظمة مع رمز نقطة عند كل تقاطع.
توضع الرموز المزاحة على Displacement lines. ومع أن الحد الأدنى لتباعد خطوط الإزاحة يعتمد على أداة رسم رموز النقاط، فلا يزال بإمكانك تخصيص بعض إعداداتها مثل Stroke width و Stroke color و Size adjustment (مثلًا لإضافة مزيد من التباعد بين النقاط المصيَّرة).
استخدم خيارات المجموعة Labels لتسمية النقاط: توضع التسميات قرب الرمز المزاح، لا عند الموقع الحقيقي للمعلم.
اختر Label attribute: حقل من الطبقة يُستخدم للتسمية
حدّد خصائص Label font وحجمه
اختر Label color
عيّن Label distance factor: لكل معلم نقطي، يُزيح التسمية عن مركز الرمز بما يتناسب مع الحجم القطري للرمز.
فعّل Use scale dependent labeling إذا أردت عرض التسميات فقط عند مقاييس رسم أكبر من Minimum map scale معيّن.
لا تغيّر أداة رسم إزاحة النقاط الشكل الهندسي للمعالم، أي أن النقاط لا تُنقل من مواقعها بل تبقى في أماكنها الأصلية. والتغييرات مرئية فقط لأغراض التصيير. استخدم بدلًا من ذلك خوارزمية المعالجة Points displacement (إزاحة النقاط) إذا أردت إنشاء معالم مزاحة.
على خلاف أداة الرسم Point Displacement التي تُفرّق مواقع معالم النقاط المتقاربة أو المتراكبة، تجمع أداة الرسم Point Cluster النقاط المتجاورة في رمز علامة واحد مُصيَّر. فالنقاط الواقعة ضمن مسافة محددة من بعضها تُدمج في رمز واحد. ويُجرى تجميع النقاط بناءً على أقرب مجموعة تتكوّن، بدلًا من مجرد إسنادها إلى أول مجموعة ضمن مسافة البحث.
من نافذة الحوار الرئيسية يمكنك:
تعيين الرمز الذي يمثل تجمّع النقاط في Cluster symbol؛ ويعرض التصيير الافتراضي عدد المعالم المجمّعة بفضل المتغير@cluster_size في طبقة رمز العلامة الخطية (Font marker).
اختيار نوع Renderer، أي كيف تريد تصنيف المعالم في الطبقة (مفرد، مصنّف، مبني على القواعد...)
الضغط على الزر Renderer Settings... لضبط ترميز المعالم كالمعتاد. لاحظ أن هذا الترميز لا يظهر إلا على المعالم غير المجمّعة، إذ يُطبَّق Cluster symbol في غير ذلك. وكذلك عندما تنتمي جميع معالم النقاط في تجمّع ما إلى فئة التصيير نفسها، وبالتالي يُطبَّق عليها اللون نفسه، فإن ذلك اللون يمثل المتغير @cluster_color للتجمّع.
تحديد Distance القصوى التي تؤخذ في الحسبان لتجميع المعالم. وتدعم وحدات الرموز الشائعة.
لا تغيّر أداة رسم تجميع النقاط الشكل الهندسي للمعالم، أي أن النقاط لا تُنقل من مواقعها بل تبقى في أماكنها الأصلية. والتغييرات مرئية فقط لأغراض التصيير. استخدم بدلًا من ذلك خوارزمية المعالجة التجميع العنقودي K-means أو التجميع العنقودي DBSCAN إذا أردت إنشاء معالم مبنية على التجميع.
تتيح أداة الرسم Merged Features «دمج» معالم المساحات والخطوط في كائن واحد قبل التصيير، لضمان تمثيل الرموز المعقدة أو المعالم المتداخلة برمز كارتوغرافي موحّد ومتصل.
تتيح أداة الرسم Inverted Polygon للمستخدم تعريف رمز لتعبئة ما هو خارج مضلعات الطبقة. وكما سبق، يمكنك اختيار أدوات رسم فرعية، وهي: الرمز المفرد، أو المتدرّجة، أو المصنّفة، أو المبنية على القواعد، أو أداة رسم 2.5D.
باستخدام أداة الرسم Heatmap يمكنك إنشاء خرائط حرارية ديناميكية حية لطبقات النقاط (المتعددة). يمكنك تحديد Radius الخريطة الحرارية بالمليمترات أو النقاط أو البكسلات أو وحدات الخريطة أو البوصات، واختيار Color ramp لنمط الخريطة الحرارية وتحريره، واستخدام شريط تمرير للموازنة بين سرعة التصيير وجودته. كما يمكنك تعريف حد Maximum value و Weight points by باستخدام حقل أو تعبير.
استخدم Data defined override للتحكم ديناميكيًا في Radius و Maximum value بناءً على سمات بياناتك. فمثلًا يمكن تحديد نصف قطر نقطة الخريطة الحرارية من سمة عدد السكان، أو أن تعتمد القيمة القصوى على مدى زمني.
عند إضافة معلم أو إزالته، تحدّث أداة رسم الخريطة الحرارية نمط الخريطة الحرارية تلقائيًا. وسيُعرض Color ramp كشريط مفتاح خريطة، ويمكنك في Legend settings تعيين Labels للقيمتين Maximum و Minimum. كما يمكنك تغيير اتجاه مفتاح الخريطة ومنحاه في Layout.
باستخدام أداة الرسم 2.5D يمكن إنشاء تأثير 2.5D على معالم طبقتك. ابدأ باختيار قيمة Height (بوحدات الخريطة)، ويمكنك لذلك استخدام قيمة ثابتة أو أحد حقول طبقتك أو تعبيرًا. وعليك أيضًا اختيار Angle (بالدرجات) لإعادة تمثيل موقع الناظر (0° تعني الغرب، وتتزايد عكس اتجاه عقارب الساعة). استخدم خيارات الضبط المتقدمة لتعيين Roof Color و Wall Color. وإذا أردت محاكاة الإشعاع الشمسي على جدران المعالم، فاحرص على تحديد الخيار Shade walls based on aspect. كما يمكنك محاكاة ظل بتعيين Color و Size (بوحدات الخريطة).
بعد الانتهاء من ضبط النمط الأساسي في أداة رسم 2.5D، يمكنك تحويله إلى أداة رسم أخرى (مفرد، مصنّف، متدرّج). وستُحفظ تأثيرات 2.5D وتتاح لك جميع الخيارات الخاصة بأداة الرسم الأخرى لضبطها بدقة (وبهذه الطريقة يمكنك مثلًا الحصول على رموز مصنّفة بتمثيل 2.5D جميل أو إضافة تنسيق إضافي لرموز 2.5D). وللتأكد من أن الظل و"المبنى" نفسه لا يتداخلان مع المعالم القريبة الأخرى، قد تحتاج إلى تفعيل مستويات الرموز ( Advanced ► Symbol levels...). وتُحفظ قيمتا الارتفاع والزاوية الخاصتان بـ 2.5D في متغيرات الطبقة، لذا يمكنك تحريرهما لاحقًا في تبويب المتغيرات في نافذة خصائص الطبقة.
تتيح أداة الرسم Embedded Symbols عرض الترميز «الأصلي» لمصدر البيانات المقدَّم. وهذا هو الحال غالبًا مع مجموعات بيانات KML و TAB ذات الترميز المعرَّف مسبقًا.
من تبويب الترميز، يمكنك أيضًا تعيين بعض الخيارات التي تؤثر دائمًا في جميع معالم الطبقة:
Opacity: يمكنك بهذه الأداة جعل الطبقة الواقعة أسفلها في لوحة الخريطة مرئية. استخدم شريط التمرير لتكييف مستوى ظهور طبقتك المتجهية حسب احتياجاتك. ويمكنك أيضًا تحديد نسبة الظهور بدقة في القائمة بجانب شريط التمرير.
Blending mode على مستويي Layer و Feature: يمكنك بهذه الأدوات تحقيق تأثيرات تصيير خاصة ربما عرفتها سابقًا من برامج الرسوميات فقط. إذ تُمزج بكسلات الطبقات العلوية والسفلية عبر الإعدادات الموصوفة في أنماط المزج.
طبّق تأثيرات الرسم على جميع معالم الطبقة باستخدام الزر Draw Effects.
يتيح لك Control feature rendering order، باستخدام سمات المعالم، تعريف الترتيب العمودي (z-order) الذي ستُصيَّر به. فعّل مربع الاختيار وانقر على الزر بجانبه، فتظهر لك نافذة الحوار Define Order التي:
تختار فيها حقلًا أو تبني تعبيرًا لتطبيقه على معالم الطبقة.
تعيّن فيها ترتيب فرز المعالم المجلوبة، أي إذا اخترت الترتيب Ascending (تصاعدي)، تُصيَّر المعالم ذات القيم الأدنى تحت تلك ذات القيم الأعلى.
تعرّف فيها متى تُصيَّر المعالم التي تُرجع القيمة NULL: first (في الأسفل) أو last (في الأعلى).
كرّر الخطوات أعلاه بعدد القواعد التي تريد استخدامها.
تُطبَّق القاعدة الأولى على جميع معالم الطبقة، فترتّبها عموديًا وفق القيمة المُرجعة. ثم ضمن كل مجموعة من المعالم ذات القيمة نفسها (بما في ذلك ذات القيمة NULL) وبالتالي المستوى العمودي نفسه، تُطبَّق القاعدة التالية لفرزها. وهكذا...
لأدوات الرسم التي تسمح بطبقات رموز مكدّسة (جميعها عدا الخريطة الحرارية) يوجد خيار للتحكم في ترتيب تصيير مستويات كل رمز.
في معظم أدوات الرسم، يمكنك الوصول إلى خيار مستويات الرموز بالنقر على الزر Advanced أسفل قائمة الرموز المحفوظة واختيار Symbol levels. أما في أداة الرسم المبنية على القواعد فالخيار متاح مباشرةً عبر الزر Symbols Levels...، بينما يقع الزر نفسه في أداة الرسم أداة رسم إزاحة النقاط داخل نافذة الحوار Rendering settings.
لتفعيل مستويات الرموز، حدّد Enable symbol levels. سيعرض كل صف عيّنة صغيرة من الرمز المركّب، وتسميته، وطبقات الرمز المنفردة مقسّمة إلى أعمدة بجانب كل منها رقم. وتمثل الأرقام مستوى ترتيب التصيير الذي ستُرسم به طبقة الرمز: فالمستويات ذات القيم الأدنى تُرسم أولًا وتبقى في الأسفل، بينما تُرسم ذات القيم الأعلى أخيرًا فوق غيرها.
إذا عُطّلت مستويات الرموز، فستُرسم الرموز الكاملة وفق ترتيب معالمها. وستحجب الرموز المتداخلة ببساطة ما تحتها. كما أن الرموز المتشابهة لن «تندمج» مع بعضها.
شكل 12.15 الفرق بين تفعيل مستويات الرموز (A) وتعطيلها (B)¶
لتمكين نافذة الحوار Data-defined Size Legend من تصيير الترميز، اختر الخيار الذي يحمل الاسم نفسه من الزر Advanced أسفل قائمة الرموز المحفوظة. أما للمخططات البيانية، فالخيار متاح ضمن التبويب Legend. وتوفر نافذة الحوار الخيارات التالية:
اختيار نوع مفتاح الخريطة: Legend not enabled و Separated legend items و Collapsed legend. وفي الخيار الأخير، يمكنك اختيار محاذاة عناصر مفتاح الخريطة في Bottom (الأسفل) أو Center (المنتصف)؛
تغيير حجم الفئات المستخدمة: افتراضيًا يوفر لك QGIS مفتاح خريطة من خمس فئات (مبنية على الفواصل الطبيعية الأنيقة)، لكن يمكنك تطبيق تصنيفك الخاص باستخدام الخيار Manual size classes. استخدم الزرين و لتعيين قيم فئاتك المخصّصة وتسمياتها.
في مفتاح الخريطة المطوي، يمكن:
Align symbols: محاذاة الرموز في المنتصف أو الأسفل
ضبط Line symbol للخط الأفقي الواصل من الرمز إلى نص مفتاح الخريطة المقابل.
تُعرض معاينة لمفتاح الخريطة في اللوحة اليمنى من نافذة الحوار وتُحدَّث أثناء تعيين المعاملات.
لتحويل أي رمز إلى رمز متحرك، يمكنك الاستفادة من لوحة Animation settings. في هذه اللوحة، يمكنك تفعيل الحركة للرمز وتعيين معدل إطارات محدد لإعادة رسم الرمز.
ابدأ بالانتقال إلى المستوى الأعلى للرمز، واختر القائمة Advanced في أسفل يمين نافذة الحوار
ابحث عن الخيار Animation settings
حدّد Is Animated لتفعيل الحركة للرمز
اضبط Frame rate، أي مدى سرعة تشغيل الحركة
يمكنك الآن استخدام المتغير @symbol_frame في أي خاصية معرّفة بالبيانات لرمز فرعي من أجل تحريك تلك الخاصية.
فمثلًا، يؤدي تعيين دوران الرمز إلى التعبير المعرّف بالبيانات @symbol_frame%360 إلى دوران الرمز مع الوقت، بسرعة دوران يحددها معدل إطارات الرمز:
شكل 12.17 ضبط دوران الرمز باستخدام تعبير معرّف بالبيانات¶
يمكنك تعيين نطاق عازل للامتداد لـ رمز. ويعني ذلك تطبيق نطاق عازل على امتداد الخريطة الحالي، بحيث إذا كان المعلم خارج امتداد الخريطة الفعلي ولكن داخل الامتداد المزوّد بالنطاق العازل فسيظل يُرسم. ويفيد هذا مثلًا مع الرموز التي تستخدم مولّد الأشكال الهندسية حين تريد أن تظل ترى الأشكال الهندسية المولَّدة حتى لو كان المعلم الفعلي خارج امتداد الخريطة.
لتحرير النطاق العازل للامتداد يمكنك استخدام لوحة Extent buffer.
ابدأ بالانتقال إلى المستوى الأعلى للرمز، واختر القائمة Advanced في أسفل يمين نافذة الحوار
ابحث عن خيار Extent buffer
في اللوحة الجديدة يمكنك تعيين مسافة النطاق العازل
يمكن تغيير وحدات مسافة النطاق العازل. ويمكنك أيضًا التحكم في قيمة المسافة باستخدام عنصر واجهة التجاوز المعرّف بالبيانات. فمثلًا يمكنك تغيير القيمة بناءً على مقياس الرسم الحالي للخريطة if(@map_scale>50000,5000,0):
شكل 12.18 مثال على النطاق العازل للامتداد مع رمز يستخدم مستوى رمز من نوع مولّد الأشكال الهندسية.¶
لتحسين رسم الطبقة وتجنّب (أو على الأقل تقليل) اللجوء إلى برمجيات أخرى للإخراج النهائي للخرائط، يوفّر QGIS وظيفة قوية أخرى: خيارات Draw Effects التي تضيف تأثيرات رسم لتخصيص عرض الطبقات المتجهية.
يتوفر هذا الخيار في نافذة الحوار Layer Properties ► Symbology، ضمن مجموعة رسم الطبقة (ويُطبَّق على الطبقة كاملة) أو في خصائص طبقة الرمز (ويُطبَّق على المعالم المقابلة). ويمكنك الجمع بين الاستخدامين.
يمكن تفعيل تأثيرات الرسم بتحديد خيار Draw effects والنقر على زر Customize effects. سيفتح ذلك نافذة الحوار Effect Properties (انظر شكل 12.19). تتوفر أنواع التأثيرات التالية مع خيارات مخصّصة:
المصدر: يرسم النمط الأصلي للمعلم وفق إعدادات خصائص الطبقة. ويمكن ضبط Opacity (العتامة) لنمطه، وكذلك نمط المزج و نمط الرسم. وهذه خصائص مشتركة بين جميع أنواع التأثيرات.
التمويه: يضيف تأثير تمويه على الطبقة المتجهية. والخيارات المخصّصة التي يمكنك تغييرها هي Blur type (Stack blur (fast) أو Gaussian blur (quality)) و Blur strength.
الظل المُسقَط: يضيف استخدام هذا التأثير ظلًا على المعلم يبدو كأنه يضيف بُعدًا إضافيًا. ويمكن تخصيص هذا التأثير بتغيير زاوية ومسافة Offset (الإزاحة)، اللتين تحددان الاتجاه الذي ينزاح نحوه الظل ومدى قربه من الكائن المصدر. ويتيح Drop Shadow أيضًا خيار تغيير Blur radius و Color للتأثير.
شكل 12.22 تأثيرات الرسم: نافذة حوار الظل المُسقَط¶
الظل الداخلي: يشبه هذا التأثير تأثير Drop Shadow، لكنه يضيف الظل على الجهة الداخلية لحواف المعلم. والخيارات المتاحة للتخصيص هي نفسها خيارات تأثير Drop Shadow.
التوهج الداخلي: يضيف تأثير توهج داخل المعلم. ويمكن تخصيص هذا التأثير بضبط Spread (عرض) التوهج، أو Blur radius. ويحدد الأخير مدى القرب من حافة المعلم الذي تريد أن يحدث عنده التمويه. إضافة إلى ذلك، توجد خيارات لتخصيص لون التوهج باستخدام Single color أو Color ramp.
شكل 12.24 تأثيرات الرسم: نافذة حوار التوهج الداخلي¶
التوهج الخارجي: يشبه هذا التأثير تأثير Inner Glow، لكنه يضيف التوهج على الجهة الخارجية لحواف المعلم. والخيارات المتاحة للتخصيص هي نفسها خيارات تأثير Inner Glow.
شكل 12.25 تأثيرات الرسم: نافذة حوار التوهج الخارجي¶
التحويل: يتيح إمكانية تحويل شكل الرمز. وأول الخيارات المتاحة للتخصيص هما Reflect horizontal و Reflect vertical، اللذان ينشئان انعكاسًا على المحورين الأفقي و/أو الرأسي. أما الخيارات الأخرى فهي:
Shear X,Y: يُميل المعلم على امتداد المحور X و/أو Y.
Scale X,Y: يكبّر المعلم أو يصغّره على امتداد المحور X و/أو Y بالنسبة المئوية المحددة.
Rotation: يدير المعلم حول نقطة مركزه.
و Translate X,Y يغيّر موضع العنصر بناءً على مسافة محددة على المحور X و/أو Y.
يمكن استخدام نوع واحد أو أكثر من التأثيرات في الوقت نفسه. ويمكنك تفعيل تأثير أو إلغاء تفعيله باستخدام مربع الاختيار الخاص به في قائمة التأثيرات. ويمكنك تغيير نوع التأثير المحدد باستخدام خيار Effect type. ويمكنك إعادة ترتيب التأثيرات باستخدام زري Move up و Move down، وكذلك إضافة التأثيرات أو إزالتها باستخدام زري Add new effect و Remove effect.
توجد بعض الخيارات المشتركة المتاحة لجميع أنواع تأثيرات الرسم. ويعمل خيارا Opacity و Blend mode بصورة مشابهة لتلك الموصوفة في تصيير الطبقة، ويمكن استخدامهما في جميع تأثيرات الرسم باستثناء تأثير التحويل.
يتوفر أيضًا خيار Draw mode لكل تأثير، ويمكنك اختيار ما إذا كنت تريد رسم الرمز و/أو تعديله، وفق بعض القواعد:
تُرسم التأثيرات من الأعلى إلى الأسفل.
يعني النمط Render only أن التأثير سيكون مرئيًا.
يعني النمط Modifier only أن التأثير لن يكون مرئيًا، لكن التغييرات التي يطبّقها ستُمرَّر إلى التأثير التالي (الذي يليه مباشرة في الأسفل).
سيجعل النمط Render and Modify التأثير مرئيًا ويمرّر أي تغييرات إلى التأثير التالي. وإذا كان التأثير في أعلى قائمة التأثيرات أو إذا لم يكن التأثير الذي فوقه مباشرة في نمط التعديل، فسيستخدم الرمز المصدر الأصلي من خصائص الطبقة (على غرار المصدر).
توفّر لك خصائص Labels جميع الإمكانات اللازمة والمناسبة لتهيئة التسميات الذكية على الطبقات المتجهية. ويمكن الوصول إلى نافذة الحوار هذه أيضًا من لوحة Layer Styling، أو باستخدام زر Layer Labeling Options في شريط أدوات التسميات.
في أعلى نافذة الحوار لديك:
قائمة منسدلة لاختيار طريقة التسمية المناسبة للطبقة النشطة
زر Configure project labeling rules: يساعدك على التحكم في التفاعلات بين التسميات والمعالم عبر طبقات المشروع. مزيد من التفاصيل في تهيئة قواعد التسمية في المشروع.
زر Automated placement settings (applies to all layers): لتهيئة الخصائص العامة لوضع التسميات وحل التعارضات. مزيد من التفاصيل في ضبط محرك الوضع التلقائي.
الخطوة الأولى هي اختيار طريقة التسمية من القائمة المنسدلة. والطرق المتاحة هي:
No labels: القيمة الافتراضية، ولا تعرض أي تسميات من الطبقة
Single labels: تعرض التسميات على الخريطة باستخدام سمة واحدة أو تعبير
في أعلى نافذة الحوار تُفعَّل قائمة منسدلة Value. ويمكنك اختيار عمود سمة لاستخدامه في التسمية. ويُستخدم افتراضيًا حقل العرض. انقر على إذا أردت تعريف التسميات بناءً على تعبيرات - انظر تعريف التسميات بناءً على التعبيرات.
ملاحظة
يمكن عرض التسميات مع تنسيقها بوصفها مدخلات في مفاتيح الخريطة، إذا فُعِّل ذلك في تبويب مفتاح الخريطة.
تُعرض أدناه خيارات تخصيص التسميات ضمن تبويبات مختلفة:
بالضغط على زر Configure project labeling rules المجاور لمحدد طريقة التسمية المنسدل، يمكنك إنشاء قواعد تتحكم في كيفية تفاعل تسميات طبقة ما مع تسميات أو معالم طبقة أخرى.
اضغط زر Add rule واختر من القائمة المنسدلة أحد أنواع القواعد:
Prevent labels overlapping features: تمنع وضع التسميات متداخلة مع معالم من طبقة مختلفة.
Pull labels towards features: تمنع وضع التسميات بعيدًا جدًا عن معالم من طبقة مختلفة. ويمكن تعيين المسافة القصوى بالوحدة التي تختارها.
Push labels away from features: تمنع وضع التسميات قريبة جدًا من معالم من طبقة مختلفة. ويمكن تعيين المسافة الدنيا بالوحدة التي تختارها، وكذلك أولوية القاعدة (القواعد ذات الأولوية الأعلى هي الأهم احترامًا عند حدوث تعارض في وضع التسميات).
Push labels away from other labels: تمنع وضع التسميات قريبة جدًا من تسميات طبقة مختلفة.
تنبيه
لا تتوفر الخيارات الثلاثة الأخيرة إلا في QGIS المثبّت مع GEOS >= 3.10 (انظر قائمة Help ► About).
املأ الخصائص كما تشاء؛ ويمكنك إعطاء القاعدة اسمًا أكثر دلالة.
اضغط OK.
أضف ما يلزم من القواعد.
عند الحاجة، اضغط Edit rule لتعديل القاعدة المحددة أو Remove rule لحذفها من المشروع.
تتوفر القواعد المعيّنة من تبويب خصائص Labels لأي طبقة، بالضغط على زر Configure project labeling rules. ويمكنك تفعيل أي منها أو تعطيله مؤقتًا باستخدام مربع الاختيار المجاور للاسم. مرّر المؤشر فوق قاعدة لمعاينة تفاصيلها.
يمكنك استخدام إعدادات الوضع التلقائي لتهيئة سلوك تلقائي للتسميات على مستوى المشروع. في الزاوية العلوية اليمنى من تبويب Labels، انقر على زر Automated placement settings (applies to all layers)، فتُفتح نافذة حوار تحتوي على الخيارات التالية:
Number of candidates: يحسب ويخصّص لمعالم الخطوط والمضلعات عدد مواضع التسميات الممكنة بناءً على حجمها. فكلما كان المعلم أطول أو أعرض زاد عدد مواضعه المرشّحة، وأمكن وضع تسمياته بشكل أفضل مع خطر تصادم أقل.
Text rendering: يعيّن القيمة الافتراضية لعناصر واجهة رسم التسميات عند تصدير لوحة الخريطة أو تخطيط إلى PDF أو SVG. إذا اختير Always render labels as text فيمكن تحرير التسميات في تطبيقات خارجية (مثل Inkscape) بوصفها نصًا عاديًا. لكن الأثر الجانبي هو انخفاض جودة الرسم، ووجود مشكلات في الرسم عند استخدام بعض إعدادات النص مثل الهالات. لذلك يُوصى بخيار Always render labels as paths (recommended) الذي يصدّر التسميات بوصفها حدودًا خارجية لكنه يضمن توافقًا تامًا مع كامل خيارات التنسيق المتاحة. ومع خيار Prefer rendering labels as text، تُرسم التسميات بوصفها كائنات نصية، ما لم يؤدِّ ذلك إلى عيوب في الرسم أو رسم رديء الجودة (بحسب إعدادات تنسيق النص).
ملاحظة
عند رسم التسميات بوصفها نصًا على جهاز متجهي (مثل PDF أو SVG)، يجب الحرص على توفّر الخطوط المطلوبة للمستخدمين عند فتح الملفات المُنشأة، وإلا فستُستخدم الخطوط الاحتياطية الافتراضية لعرض المُخرَج بدلًا منها. (مع أن عمليات التصدير إلى PDF قد تضمّن بعض الخطوط تلقائيًا عند الإمكان، بحسب منصة المستخدم).
Allow truncated labels on edges of map: يتحكم في ما إذا كان ينبغي رسم التسميات التي تقع جزئيًا خارج امتداد الخريطة. إذا حُدِّد فستُعرض هذه التسميات (حين لا توجد طريقة لوضعها كاملة داخل المنطقة المرئية). وإذا لم يُحدَّد فسيجري تخطي التسميات المرئية جزئيًا. لاحظ أن هذا الإعداد لا يؤثر في عرض التسميات في عنصر الخريطة في التخطيط.
Show all labels for all layers (i.e. including colliding objects). لاحظ أن هذا الخيار يمكن ضبطه أيضًا لكل طبقة على حدة (انظر تبويب الرسم)
Show unplaced labels: يتيح تحديد ما إذا كانت هناك تسميات مهمة مفقودة من الخرائط (مثلًا بسبب التداخلات أو قيود أخرى). وتُعرض بلون قابل للتخصيص.
Show candidates (for debugging): يتحكم في ما إذا كان ينبغي رسم مربعات على الخريطة تعرض جميع المواضع المرشّحة المولَّدة لوضع التسميات. وكما يشير اسمه، فهو مفيد فقط لتصحيح الأخطاء واختبار تأثير إعدادات التسمية المختلفة. وقد يكون مفيدًا لوضع يدوي أفضل باستخدام أدوات شريط أدوات التسميات.
Show label metrics (for debugging): يعرض حدود نص التسمية باللون الأحمر وخطوط الأساس باللون الأزرق
Project labeling version: يدعم QGIS إصدارين مختلفين من الوضع التلقائي للتسميات:
Version 1: النظام القديم (المستخدم في إصدارات QGIS 3.10 وما قبلها، وعند فتح المشاريع المُنشأة بهذه الإصدارات في QGIS 3.12 أو أحدث). يعامل الإصدار 1 أولويات التسميات والعوائق بوصفها "إرشادات تقريبية" فقط، ومن الممكن في هذا الإصدار أن توضع تسمية منخفضة الأولوية فوق عائق عالي الأولوية. وبناءً على ذلك، قد يصعب الحصول على نتائج التسمية المرغوبة عند استخدام هذا الإصدار، ولذلك لا يُوصى به إلا للتوافق مع المشاريع القديمة.
Version 2 (recommended): هذا هو النظام الافتراضي في المشاريع الجديدة المُنشأة في QGIS 3.12 أو أحدث. في الإصدار 2، أُعيد بناء المنطق الذي يحدد متى يُسمح للتسميات بالتداخل مع العوائق. ويمنع المنطق الأحدث أي تسمية من التداخل مع أي عائق يزيد وزنه بوصفه عائقًا على أولوية التسمية. ونتيجة لذلك، يعطي هذا الإصدار نتائج تسمية أكثر قابلية للتنبؤ وأسهل فهمًا.
مع التسمية القائمة على القواعد يمكن تعريف إعدادات تسمية متعددة وتطبيقها انتقائيًا على أساس مرشحات التعبيرات ونطاق مقياس الرسم، كما في الرسم القائم على القواعد.
لإنشاء قاعدة:
اختر خيار التسمية القائمة على القواعد من القائمة المنسدلة الرئيسية في تبويب Labels
انقر على زر Add rule أسفل نافذة الحوار.
املأ نافذة الحوار الجديدة بما يلي:
Description: نص يُستخدم لتعريف القاعدة في تبويب Labels وبوصفه مدخل تسمية في مفتاح الخريطة ضمن مفتاح الخريطة في تخطيط الطباعة
Filter: تعبير لتحديد المعالم التي ستُطبَّق عليها إعدادات التسمية
إذا كانت هناك قواعد معيّنة مسبقًا، فيمكن استخدام خيار Else لتحديد جميع المعالم التي لا تطابق أي مرشح من قواعد المجموعة نفسها.
يُعرض ملخص للقواعد الموجودة في نافذة الحوار الرئيسية (انظر شكل 12.31). ويمكنك إضافة قواعد متعددة، وإعادة ترتيبها أو تضمين بعضها في بعض بالسحب والإفلات. ويمكنك كذلك إزالتها باستخدام زر أو تحريرها باستخدام زر أو بالنقر المزدوج.
سواء اخترت نوع التسمية المفردة أو القائمة على القواعد، يتيح QGIS استخدام التعبيرات لتسمية المعالم.
بافتراض أنك تستخدم طريقة Single labels، انقر على زر بجوار القائمة المنسدلة Value في تبويب Labels في نافذة حوار الخصائص.
في شكل 12.32 ترى تعبيرًا نموذجيًا لتسمية طبقة أشجار ألاسكا بنوع الشجرة والمساحة، بناءً على الحقل 'VEGDESC' وبعض النص الوصفي، والدالة $area مقترنة بـ format_number() لتحسين مظهرها.
العمل بالتسمية القائمة على التعبيرات سهل. وكل ما عليك الانتباه إليه هو:
قد تحتاج إلى ربط جميع العناصر (السلاسل النصية والحقول والدوال) باستخدام دالة لدمج السلاسل النصية مثل concat أو + أو ||. وانتبه إلى أنه في بعض الحالات (عند وجود قيم فارغة أو رقمية) لن تلبي جميع هذه الأدوات حاجتك.
تُكتب السلاسل النصية بين 'علامتي اقتباس مفردتين'.
تُكتب الحقول بين "علامتي اقتباس مزدوجتين" أو دون أي علامة اقتباس.
لنلقِ نظرة على بعض الأمثلة:
تسمية مبنية على حقلين 'name' و 'place' مع فاصلة بوصفها فاصلًا:
"name"||', '||"place"
النتيجة:
John Smith, Paris
تسمية مبنية على حقلين 'name' و 'place' مع نصوص أخرى:
'My name is '+"name"+'and I live in '+"place"'My name is '||"name"||'and I live in '||"place"concat('My name is ',name,' and I live in ',"place")
النتيجة:
My name is John Smith and I live in Paris
تسمية مبنية على حقلين 'name' و 'place' مع نصوص أخرى بالجمع بين دوال دمج مختلفة:
concat('My name is ',name,' and I live in '||place)
النتيجة:
My name is John Smith and I live in Paris
أو، إذا كان الحقل 'place' فارغًا (NULL)، فالنتيجة:
My name is John Smith
تسمية متعددة الأسطر مبنية على حقلين 'name' و 'place' مع نص وصفي:
concat('My name is ',"name",'\n','I live in ',"place")
النتيجة:
My name is John Smith
I live in Paris
تسمية مبنية على حقل ودالة $area لعرض اسم المكان وحجم مساحته المقرّب بوحدة محوّلة:
'The area of ' || "place" || ' has a size of '
|| round($area/10000) || ' ha'
النتيجة:
The area of Paris has a size of 10500 ha
أنشئ شرط CASE ELSE. إذا كانت قيمة السكان في الحقل population أقل من أو تساوي 50000 فهي بلدة، وإلا فهي مدينة:
concat('This place is a ',CASEWHEN"population"<=50000THEN'town'ELSE'city'END)
النتيجة:
This place is a town
اعرض الاسم للمدن ولا تسمية للمعالم الأخرى (لسياق "city" انظر المثال أعلاه):
CASEWHEN"population">50000THEN"NAME"END
النتيجة:
Paris
كما ترى في منشئ التعبيرات، لديك مئات الدوال المتاحة لإنشاء تعبيرات بسيطة ومعقدة جدًا لتسمية بياناتك في QGIS. انظر فصل التعبيرات لمزيد من المعلومات والأمثلة عن التعبيرات.
باستخدام وظيفة Data defined override، تُتجاوز إعدادات التسمية بمدخلات من جدول البيانات الوصفية أو بتعبيرات مبنية عليها. ويمكن استخدام هذه الميزة لتعيين قيم معظم خيارات التسمية الموصوفة أعلاه.
على سبيل المثال، باستخدام مجموعة بيانات QGIS النموذجية لألاسكا، لنسمِّ طبقة airports بأسمائها، بناءً على استخدامها العسكري USE، أي ما إذا كان المطار متاحًا لـ:
العسكريين، فتُعرض باللون الرمادي وبالحجم 8؛
غيرهم، فتُعرض باللون الأزرق وبالحجم 10.
للقيام بذلك، بعد تفعيل التسمية على الحقل NAME للطبقة (انظر إعداد التسمية):
وبالمثل، يمكنك تخصيص أي خاصية أخرى للتسمية بالطريقة التي تريدها. اطّلع على مزيد من التفاصيل حول وصف عنصر الواجهة Data-define override وطريقة التعامل معه في قسم إعداد التجاوز المعرَّف بالبيانات.
استخدم التجاوز المعرّف بالبيانات لتسمية كل جزء من المعالم متعددة الأجزاء
يوجد خيار لضبط التسمية للمعالم متعددة الأجزاء بشكل مستقل عن خصائص التسمية لديك. اختر الرسم، ثم Featureoptions، وانتقل إلى زر Data-define override المجاور لمربع الاختيار Label every part of multipart-features وعرّف التسميات كما هو موصوف في إعداد التجاوز المعرَّف بالبيانات.
Highlight Pinned Labels, Diagrams and Callouts. إذا كانت الطبقة المتجهية للعنصر قابلة للتحرير فيكون التمييز باللون الأخضر، وإلا فباللون الأزرق.
Toggle Display of Unplaced Labels: يتيح تحديد ما إذا كانت هناك تسميات مهمة مفقودة من الخرائط (مثلًا بسبب التداخلات أو قيود أخرى). وتُعرض بلون قابل للتخصيص (انظر ضبط محرك الوضع التلقائي).
Pin/Unpin Labels and Diagrams. بالنقر أو بسحب منطقة، تثبّت العناصر المتراكبة. وإذا نقرت أو سحبت منطقة مع الضغط على Shift، يُلغى تثبيت العناصر. وأخيرًا، يمكنك أيضًا النقر أو سحب منطقة مع الضغط على Ctrl لتبديل حالة تثبيتها.
Show/Hide Labels and Diagrams. إذا نقرت على العناصر، أو نقرت وسحبت منطقة مع الضغط على Shift، فإنها تُخفى. وعندما يكون عنصر مخفيًا، يكفي أن تنقر على المعلم لاستعادة ظهوره. وإذا سحبت منطقة، فستُستعاد جميع العناصر الموجودة فيها.
Move a Label, Diagram or Callout: انقر لتحديد العنصر ثم انقر لنقله إلى المكان المطلوب. تُخزَّن الإحداثيات الجديدة في حقول مساعدة. وتحديد العنصر بهذه الأداة ثم الضغط على مفتاح Delete يحذف قيمة الموضع المخزّنة.
Rotate a Label. انقر لتحديد التسمية ثم انقر مرة أخرى لتطبيق الدوران المطلوب. وبالمثل، تُخزَّن الزاوية الجديدة في حقل مساعد. وتحديد تسمية بهذه الأداة ثم الضغط على مفتاح Delete يحذف قيمة دوران هذه التسمية.
Change Label Properties. تفتح نافذة حوار لتغيير خصائص التسمية التي نُقر عليها؛ وقد تكون التسمية نفسها أو إحداثياتها أو زاويتها أو خطها أو حجمها أو محاذاتها متعددة الأسطر... ما دامت هذه الخاصية مربوطة بحقل. وهنا يمكنك ضبط خيار Label every part of a feature.
تحذير
أدوات التسمية تستبدل قيم الحقول الحالية
استخدام Label toolbar لتخصيص التسمية يكتب فعليًا القيمة الجديدة للخاصية في الحقل المربوط بها. لذا احرص على ألا تستبدل عن غير قصد بيانات قد تحتاجها لاحقًا!
ملاحظة
يمكن استخدام آلية خصائص التخزين المساعد لتخصيص التسمية (الموضع وغيره) دون تعديل مصدر البيانات الأساسي.
بالاقتران مع Label Toolbar، يساعدك إعداد التجاوز المعرّف بالبيانات على التعامل مع التسميات في لوحة الخريطة (نقلها وتحريرها وتدويرها). وسنصف الآن مثالًا يستخدم وظيفة التجاوز المعرّف بالبيانات مع وظيفة Move Label, Diagram or Callout (انظر شكل 12.35).
استورد lakes.shp من مجموعة بيانات QGIS النموذجية.
انقر نقرًا مزدوجًا على الطبقة لفتح خصائص الطبقة. انقر على Labels ثم Placement. اختر Offset from centroid.
ابحث عن مدخلات Data defined. انقر على أيقونة لتعريف نوع الحقل لـ Coordinate. اختر xlabel لـ X و ylabel لـ Y. أصبحت الأيقونات الآن مميّزة باللون الأصفر.
شكل 12.35 تسمية طبقات المضلعات المتجهية باستخدام التجاوز المعرّف بالبيانات¶
قرّب العرض إلى بحيرة.
اجعل الطبقة قابلة للتحرير باستخدام زر Toggle Editing.
انتقل إلى شريط أدوات التسميات وانقر على أيقونة . يمكنك الآن إزاحة التسمية يدويًا إلى موضع آخر (انظر شكل 12.36). ويُحفظ الموضع الجديد للتسمية في العمودين xlabel و ylabel من جدول البيانات الوصفية.
من الممكن أيضًا إضافة خط يربط كل بحيرة بتسميتها المنقولة باستخدام:
يتيح لك تبويب Diagrams إضافة طبقة رسومية متراكبة إلى طبقة متجهية (انظر شكل 12.37). ويمكن الوصول إلى نافذة الحوار هذه أيضًا من لوحة Layer Styling، أو باستخدام زر Layer Diagram Options في شريط أدوات التسميات.
يوفّر التنفيذ الأساسي الحالي للمخططات البيانية دعمًا لما يلي:
No diagrams: القيمة الافتراضية، دون عرض أي مخطط بياني فوق المعالم؛
Pie chart، رسم إحصائي دائري مقسّم إلى شرائح لتوضيح النسب العددية. ويتناسب طول قوس كل شريحة مع الكمية التي تمثلها؛
Text diagram، دائرة مقسّمة أفقيًا تعرض قيمًا إحصائية بداخلها؛
Histogram، أعمدة بألوان مختلفة لكل سمة مصفوفة بجانب بعضها؛
Stacked bars، يكدّس أعمدة بألوان مختلفة لكل سمة فوق بعضها رأسيًا أو أفقيًا؛
Stacked diagram، يكدّس مخططات بيانية من أنواع متماثلة أو مختلفة بجانب بعضها، رأسيًا أو أفقيًا. مزيد من التفاصيل في المخططات البيانية المكدّسة.
في الزاوية العلوية اليمنى من تبويب Diagrams، يوفّر زر Automated placement settings (applies to all layers) وسائل للتحكم في وضع التسميات للمخططات البيانية على لوحة الخريطة.
نصيحة
التبديل السريع بين أنواع المخططات البيانية
بما أن الإعدادات مشتركة تقريبًا بين الأنواع المختلفة للمخططات البيانية، فعند تصميم مخططك يمكنك بسهولة تغيير نوع المخطط والتحقق من أيها أنسب لبياناتك دون أي خسارة.
لكل نوع من المخططات البيانية، تُقسَّم الخصائص إلى عدة تبويبات:
يحدد Attributes المتغيرات التي ستُعرض في المخطط البياني. استخدم زر add item لنقل الحقول المطلوبة إلى لوحة 'Assigned Attributes'. ويمكن أيضًا استخدام سمات مولَّدة باستخدام التعبيرات.
يمكنك تحريك أي صف إلى الأعلى أو الأسفل بالنقر والسحب، لترتيب طريقة عرض السمات. ويمكنك أيضًا تغيير التسمية في عمود 'Legend' أو لون السمة بالنقر المزدوج على العنصر.
هذه التسمية هي النص الافتراضي المعروض في مفتاح الخريطة في تخطيط الطباعة أو في شجرة الطبقات.
يحدد Rendering مظهر المخطط البياني. ويوفّر إعدادات عامة لا تتداخل مع القيم الإحصائية، مثل:
عتامة الرسم، وعرض حدوده الخارجية ولونها؛
بحسب نوع المخطط البياني:
للمدرج التكراري والأعمدة المكدّسة: عرض العمود والمسافة بين الأعمدة. وقد ترغب في تعيين المسافة إلى 0 للأعمدة المكدّسة. علاوة على ذلك، يمكن جعل Axis line symbol مرئيًا على لوحة الخريطة وتخصيصه باستخدام خصائص الرمز الخطي.
للمخطط النصي: لون خلفية الدائرة و الخط المستخدم للنصوص؛
للمخططات الدائرية: Start angle للشريحة الأولى و Direction الخاص بها (باتجاه عقارب الساعة أم لا).
Size هو التبويب الرئيسي لضبط طريقة تمثيل الإحصاءات المحددة. ويمكن أن تكون وحدات حجم المخطط البياني 'Millimeters' أو 'Points' أو 'Pixels' أو 'Map Units' أو 'Inches'. ويمكنك استخدام:
Fixed size، حجم موحّد لتمثيل رسم جميع المعالم (غير متاح للمدرجات التكرارية)
أو Scaled size، المبني على تعبير يستخدم سمات الطبقة:
في Attribute، اختر حقلًا أو أنشئ تعبيرًا
اضغط Find لإرجاع Maximum value للسمة أو أدخل قيمة مخصّصة في عنصر الواجهة.
للمدرج التكراري والأعمدة المكدّسة، أدخل قيمة Bar length المستخدمة لتمثيل Maximum value للسمات. ثم يُحجَّم طول العمود لكل معلم خطيًا للحفاظ على هذا التطابق.
للمخطط الدائري والمخطط النصي، أدخل قيمة Size المستخدمة لتمثيل Maximum value للسمات. ثم تُحجَّم مساحة الدائرة أو قطرها لكل معلم خطيًا للحفاظ على هذا التطابق (بدءًا من 0). ومع ذلك يمكن تعيين Minimum size للمخططات الصغيرة.
يحدد Placement موضع المخطط البياني. وبحسب نوع الشكل الهندسي للطبقة، يوفّر خيارات مختلفة للوضع (مزيد من التفاصيل في الموضع):
Around point أو Over point للأشكال الهندسية النقطية. ويتطلب المتغير الأول نصف قطر يلتزم به.
Around line أو Over line للأشكال الهندسية الخطية. وكما في المعالم النقطية، يتطلب المتغير الأول مسافة يلتزم بها، ويمكنك تحديد موضع المخطط البياني بالنسبة إلى المعلم ('فوق' الخط و'عليه' و/أو 'تحته'). ومن الممكن اختيار عدة خيارات معًا، وفي هذه الحالة سيبحث QGIS عن الموضع الأمثل للمخطط البياني. وتذكّر أنه يمكنك أيضًا استخدام اتجاه الخط لتحديد موضع المخطط البياني.
Around centroid (على Distance محددة) و Over centroid و Using perimeter و Inside polygon هي الخيارات المتاحة لمعالم المضلعات.
توفّر مجموعة Coordinate تحكمًا مباشرًا في وضع المخطط البياني لكل معلم على حدة، باستخدام سماته أو تعبير لتعيين الإحداثيين X و Y. ويمكن أيضًا ملء هذه المعلومات باستخدام أداة نقل التسميات والمخططات البيانية.
في قسم Priority يمكنك تعريف رتبة أولوية الوضع لكل مخطط بياني، أي إذا وُجدت عدة مخططات بيانية أو تسميات مرشّحة للموقع نفسه، فسيُعرض العنصر ذو الأولوية الأعلى وقد تُستبعد العناصر الأخرى.
يحدد Discourage diagrams and labels from covering features المعالم التي ستُستخدم بوصفها عوائق، أي أن QGIS سيحاول عدم وضع المخططات البيانية أو التسميات فوق هذه المعالم. ثم تُستخدم رتبة الأولوية لتقييم ما إذا كان يمكن حذف مخطط بياني بسبب معلم عائق ذي وزن أكبر.
شكل 12.40 نافذة حوار خصائص الطبقة المتجهية مع خصائص المخطط البياني، تبويب الموضع¶
يحتوي تبويب Options على إعدادات للمدرجات التكرارية والأعمدة المكدّسة. ويمكنك اختيار ما إذا كان Bar orientation ينبغي أن يكون Up أو Down أو Right أو Left، للمخططات الأفقية والرأسية.
حدّد Show legend entries for diagram attributes لعرض الخاصيتين Color و Legend في مفاتيح الخريطة، كما عُيِّنتا سابقًا في تبويب Attributes؛
وعند استخدام حجم محجَّم للمخططات البيانية، اضغط زر Legend Entries for Diagram Size... لتهيئة مظهر رمز المخطط البياني في مفاتيح الخريطة. يفتح ذلك نافذة الحوار Data-defined Size Legend الموصوفة خياراتها في مفتاح الخريطة للحجم المعرّف بالبيانات.
عند ضبط ذلك، تُعرض عناصر مفتاح الخريطة للمخطط البياني (السمات مع اللون وحجم المخطط) أيضًا في مفتاح الخريطة في تخطيط الطباعة، بجوار ترميز الطبقة.
تتيح المخططات البيانية المكدّسة للمستخدمين إنشاء مخططات معقدة مثل الأهرام السكانية، حيث يوجد مخططان فرعيان، هما مدرجان تكراريان، متجاوران ومعروضان أفقيًا.
يمكن أيضًا بناء مخططات بيانية متعددة الأزمنة بوصفها مخططات مكدّسة. ويمكن تهيئة عدد المخططات الفرعية وكذلك المسافة بينها.
علاوة على ذلك، يمكن أن تكون المخططات الفرعية من أنواع مختلفة (مثل مخطط دائري بجانب مدرج تكراري) وأن تكون لها إعداداتها المستقلة مثل السمات و الرسم و الحجم و الخيارات و مفتاح الخريطة.
تتحدد إعدادات الموضع في المخطط المكدّس، وكذلك بعض إعدادات الظهور (الموجودة في تبويب الرسم)، بإعدادات الموضع والظهور للمخطط الفرعي الأول في المكدّس.
وأخيرًا، يتحدد ترتيب المخططات الفرعية بترتيب العناصر في قائمة المخطط المكدّس. ويظهر المخطط الفرعي الأول على اليسار في المخطط المكدّس الأفقي، أو في الجزء العلوي من المخطط الرأسي.
يساعدك تبويب Masks على تهيئة تراكب رموز الطبقة الحالية مع طبقات رموز أو تسميات أخرى من أي طبقة. والهدف من ذلك تحسين مقروئية الرموز والتسميات المتقاربة الألوان التي قد يصعب تمييزها عند تداخلها؛ إذ يضيف قناعًا مخصّصًا وشفافًا حول العناصر "لإخفاء" أجزاء من طبقات الرموز في الطبقة الحالية.
لتطبيق الأقنعة على الطبقة النشطة، عليك أولًا أن تفعّل في المشروع إما طبقات رموز القناع أو أقنعة التسميات. ثم حدّد من تبويب Masks:
Masked symbol layers: تسرد في بنية شجرية جميع طبقات الرموز في الطبقة الحالية. ويمكنك هناك اختيار عنصر طبقة الرمز الذي تريد "قصّه" بشفافية عند تداخله مع مصادر القناع المحددة
تبويب Mask sources: يسرد جميع أقنعة التسميات وطبقات رموز القناع المعرّفة في المشروع. اختر العناصر التي ستولّد القناع فوق طبقات الرموز المقنّعة المحددة
لعرض طبقة بشكل ثلاثي الأبعاد، اختر من القائمة المنسدلة أعلى التبويب أحد الخيارين:
Single symbol: تُرسم المعالم باستخدام رمز ثلاثي الأبعاد مشترك يمكن أن تكون خصائصه معرّفة بالبيانات أو لا. اقرأ التفاصيل حول ضبط رمز ثلاثي الأبعاد لكل نوع من أنواع الأشكال الهندسية للطبقة.
Rule-based: يمكن تعريف إعدادات رموز متعددة وتطبيقها انتقائيًا بناءً على مرشحات التعبيرات ونطاق مقياس الرسم. مزيد من التفاصيل حول الطريقة في الرسم القائم على القواعد.
فضّل تبويبElevationلإعدادات ارتفاع الرمز والتضاريس
ترث خصائص المعالم المتعلقة بالارتفاع والمنسوب (Altitude clamping و Altitude binding و Extrusion أو Height) في تبويب 3D View قيمها الافتراضية من خصائص الارتفاع للطبقة، ويُفضَّل ضبطها من داخل تبويب Elevation.
لأداء أفضل، تُحمَّل بيانات الطبقات المتجهية في الخلفية باستخدام تعدد الخيوط، وتُرسم في بلاطات يمكن التحكم في حجمها من قسم Layer rendering في التبويب:
Zoom levels count: يحدد عمق الشجرة الرباعية. فمثلًا، يعني مستوى تكبير واحد أنه ستوجد بلاطة واحدة للطبقة كاملة. ويعني ثلاثة مستويات تكبير أنه ستوجد 16 بلاطة على مستوى الأوراق (وكل مستوى تكبير إضافي يضرب ذلك في 4). القيمة الافتراضية 3 والقيمة القصوى 8.
Show bounding boxes of tiles: مفيد خصوصًا إذا كانت هناك مشكلات في عدم ظهور البلاطات حين ينبغي ظهورها.
يوفّر تبويب Fields معلومات عن الحقول المرتبطة بالطبقة ويساعدك على تنظيمها.
يمكن جعل الطبقة قابلة للتحرير باستخدام Toggle editing mode. وعندئذٍ يمكنك تعديل بنيتها باستخدام زري New field و Delete field.
عند إنشاء New field، لا يتوفر خيار Comment إلا لمصادر البيانات التي تسمح بتحرير التعليقات (انظر مدخلات قواعد البيانات لمزيد من التفاصيل). ويمكنك أيضًا تعيين أسماء مستعارة ضمن نافذة الحوار Add Field، لصيغ OGR المدعومة (GeoPackage و ESRI File Geodatabase).
يمكنك أيضًا إعادة تسمية الحقول بالنقر المزدوج على اسمها. ولا يُدعم ذلك إلا لمزوّدي بيانات مثل PostgreSQL و Oracle وطبقة الذاكرة وبعض طبقات GDAL بحسب إصدار GDAL.
إذا كان الاسم المستعار للحقل معيّنًا في مصدر البيانات الأساسي أو في خصائص النماذج، فإنه يُعرض أيضًا. والاسم المستعار هو اسم حقل مقروء للإنسان يمكنك استخدامه في نموذج المعلم أو جدول البيانات الوصفية. وتُحفظ الأسماء المستعارة في ملف المشروع.
إلى جانب الحقول الموجودة في مجموعة البيانات، بما فيها الحقول الافتراضية و التخزين المساعد، يسرد تبويب Fields أيضًا الحقول من أي طبقات مضمومة. وبحسب مصدر الحقل، يُطبَّق عليه لون خلفية مختلف.
لكل حقل مُدرج، تسرد نافذة الحوار أيضًا خصائص للقراءة فقط مثل Type و Type name و Length و Precision`.
بحسب مزوّد البيانات، يمكنك ربط تعليق بحقل، مثلًا عند إنشائه. وتُسترجع هذه المعلومة وتُعرض في عمود Comment، ثم تظهر لاحقًا عند تمرير المؤشر فوق تسمية الحقل في نموذج المعلم.
ضمن عمود Configuration يمكنك ضبط سلوك الحقل في ظروف معيّنة:
Notsearchable: حدّد هذا الخيار إذا كنت لا تريد أن يُستعلم عن هذا الحقل عبر شريط البحث (Locator)
DonotexposeviaWMS: حدّد هذا الخيار إذا كنت لا تريد عرض هذا الحقل عند تقديم الطبقة بوصفها WMS من QGIS server
DonotexposeviaWFS: حدّد هذا الخيار إذا كنت لا تريد عرض هذا الحقل عند تقديم الطبقة بوصفها WFS من QGIS server
يساعدك تبويب Attributes Form على إعداد النموذج الذي يُعرض عند إنشاء معالم جديدة أو تحرير المعالم الموجودة أو الاستعلام عنها. ويؤثر ذلك فيها في كل من عرض الجدول وعرض النموذج. ويمكنك تعريف:
عناصر واجهة إضافية من نوع HTML و QML ونص لتحسين النموذج؛
منطق إضافي بلغة Python للتعامل مع التفاعل مع النموذج أو عناصر واجهة الحقول.
في أعلى يمين نافذة الحوار، يمكنك ضبط ما إذا كان النموذج يُفتح افتراضيًا عند إنشاء معالم جديدة. ويمكن تهيئة ذلك لكل طبقة أو بشكل عام عبر خيار Suppress attribute form pop-up after feature creation في قائمة Settings ► Options ► Digitizing.
افتراضيًا، عند النقر على معلم باستخدام أداة Identify Features أو عند تحويل جدول البيانات الوصفية إلى نمط عرض النموذج، يعرض QGIS نموذجًا أساسيًا بعناصر واجهة معرّفة مسبقًا (عادةً مربعات أرقام ومربعات نصوص --- ويُمثَّل كل حقل في صف مخصّص بتسميته بجوار عنصر الواجهة). وإذا كانت هناك علاقات معيّنة على الطبقة، فتُعرض حقول الطبقات المرجِعة في إطار مضمّن أسفل النموذج، وفق البنية الأساسية نفسها.
هذا العرض هو نتيجة القيمة الافتراضية Autogenerate لإعداد Attribute editor layout في تبويب Layer properties ► Attributes Form. ولهذه الخاصية ثلاث قيم مختلفة:
Autogenerate: يحافظ على البنية الأساسية "صف واحد - حقل واحد" للنموذج لكنه يتيح تخصيص كل عنصر واجهة مقابل.
Drag-and-dropdesigner: إلى جانب تخصيص عناصر الواجهة، يمكن جعل بنية النموذج أكثر تعقيدًا، مثلًا بعناصر واجهة مضمّنة في مجموعات وتبويبات.
Provideuifile: يتيح استخدام ملف Qt designer، ومن ثمّ قالب يُحتمل أن يكون أكثر تعقيدًا وتكاملًا في الميزات، بوصفه نموذج المعلم.
أسفل إعداد Attribute editor layout مباشرة، يتيح لك مربع بحث تصفية الحقول والعلاقات والحاويات وعناصر الواجهة المتاحة الأخرى.
بالنسبة إلى العناصر التي تدعم الأسماء المستعارة، مثل الحقول أو العلاقات، يستهدف المرشح كلًا من الأسماء والأسماء المستعارة.
يتيح لك زر Show field aliases instead of names التبديل بين الأسماء المستعارة للحقول وأسمائها.
عند عرض الأسماء المستعارة، تُعرض أسماء الحقول التي لا يوجد لها اسم مستعار باللون الرمادي الفاتح لتسهيل التعرف عليها.
شكل 12.46 البحث في الحقول باستخدام الأسماء المستعارة والأسماء في صفحة نموذج البيانات الوصفية¶
عند تفعيل خيار Autogenerate، تعرض لوحة Available widgets قوائم بالحقول (من الطبقة الحالية وطبقات الضم والعلاقات) والإجراءات المفعّلة التي ستظهر في النموذج. اختر حقلًا ويمكنك تهيئة مظهره وسلوكه في اللوحة اليمنى:
في نمط المحرر هذا، لا يمكن سوى عرض خصائص الإجراءات. علاوة على ذلك، ستُعرض عبر قائمة منسدلة Actions في نموذج المعلم، ووفق خاصية Show in attribute table في السياقات الأخرى.
يتيح لك مصمّم السحب والإفلات إنشاء نموذج يحتوي على عدة حاويات (تبويبات أو مجموعات) لعرض حقول البيانات الوصفية أو عناصر واجهة أخرى غير مرتبطة مباشرة بحقل معيّن (مثل عناصر واجهة HTML/QML أو الإجراءات المعرّفة للطبقة)، كما هو موضح مثلًا في شكل 12.47.
شكل 12.47 النموذج المدمج الناتج مع تبويبات ومجموعات مسمّاة¶
اختر Draganddropdesigner من القائمة المنسدلة Select attribute layout editor. يفعّل ذلك لوحة Form Layout بجوار لوحة Available widgets، وهي مملوءة بالحقول الموجودة. ويعرض الحقل المحدد خصائصه في لوحة ثالثة.
حدّد الحقول التي لا تريد استخدامها في لوحة Form Layout واضغط زر لإزالتها. ويمكنك أيضًا عكس التحديد باستخدام زر Invert selection.
اسحب الحقول وأفلتها من اللوحة الأولى إلى لوحة Form Layout لإعادة إضافتها. ويمكن إضافة الحقل نفسه عدة مرات.
اسحب الحقول وأفلتها داخل لوحة Form Layout لإعادة ترتيب مواضعها.
أضف حاويات لتجميع الحقول المنتمية إلى الفئة نفسها وتحسين بنية النموذج.
الخطوة الأولى هي استخدام أيقونة Add a new tab or group to the form layout. وستُعرض الحقول والمجموعات الأخرى بداخلها.
ثم اضبط خصائص الحاوية، أي:
Label: العنوان الذي سيُستخدم للحاوية
Container Type: يمكن أن يكون Tab أو Group box in container (مربع مجموعة قابل للطي داخل تبويب أو مجموعة أخرى) أو Row (نوع حاوية يتيح لك ترتيب عناصر الواجهة في صف أفقي، مع تحديد عدد الأعمدة تلقائيًا بناءً على عدد عناصر الواجهة)،
Within: تتيح لك هذه الميزة الاختيارية تحديد حاوية موجودة ستُضمَّن فيها الحاوية الجديدة (Group box in container أو Row).
و Number of columns التي ينبغي توزيع الحقول المضمّنة عليها
شكل 12.48 نافذة حوار لإنشاء الحاويات باستخدام Attribute editor layout¶
يمكن لاحقًا تحديث هذه الخصائص وغيرها بتحديد العنصر، ثم من اللوحة الثالثة:
إخفاء تسمية الحاوية أو إظهارها
إعادة تسمية الحاوية
تعيين عدد الأعمدة
إدخال تعبير للتحكم في ظهور الحاوية. وسيُعاد تقييم التعبير في كل مرة تتغير فيها القيم في النموذج، ويُعرض التبويب أو مربع المجموعة أو يُخفى وفقًا لذلك
Show as Group Box: يحوّل تبويبًا إلى مربع مجموعة في المستوى الأعلى والعكس
في حالة مربع المجموعة، اضبط ما إذا كان ينبغي أن يظهر عند فتح النموذج بحالة Collapsed لجميع المعالم، أو فقط للمعالم المطابقة لتعبير (Control collapsed by expression).
تهيئة مظهر Style للحاوية، مع Background color مخصّص ولون التسمية وخصائص الخط
يمكنك إنشاء وتضمين ما تشاء من الحاويات بالضغط مجددًا على أيقونة Add a new tab or group to the form layout.
الخطوة التالية هي إسناد الحقول المناسبة إلى كل حاوية، بالسحب والإفلات ببساطة. ويمكن أيضًا نقل مربعات المجموعات والتبويبات بالطريقة نفسها.
إذا كانت الطبقة طرفًا في علاقة واحد أو متعدد إلى متعدد، فاسحب اسم العلاقة من لوحة Available Widgets وأفلته في لوحة Form Layout. سيُضمَّن نموذج البيانات الوصفية للطبقة المرتبطة في المكان المختار من نموذج الطبقة الحالية. وكما في العناصر الأخرى، حدّد تسمية العلاقة لتهيئة بعض الخصائص:
إخفاء تسمية العلاقة أو إظهارها
إظهار زر الربط
إظهار زر فك الربط
إذا كان للطبقة إجراء واحد أو أكثر مفعّل بنطاق Layer أو Feature، فستُسرد الإجراءات تحت Actions ويمكنك سحبها وإفلاتها كما في الحقول الأخرى. وسيُضمَّن الإجراء المرتبط في المكان المختار من نموذج الطبقة الحالية.
خصّص النموذج أكثر بإضافة عنصر واجهة أو أكثر من Other Widgets (انظر عناصر واجهة أخرى)
طبّق نافذة حوار خصائص الطبقة
افتح نموذج البيانات الوصفية لمعلم (مثلًا باستخدام أداة Identify features) وينبغي أن يعرض النموذج الجديد.
QML Widget: يُضمّن مستند Qt QML، ويعرض عناصر رسومية في نموذج البيانات الوصفية. إلى جانب Title المخصص لعنصر الواجهة المضاف وتحديد ما إذا كان سيُعرض أم لا، يمكنك الاختيار من عناصر QML code المعرّفة مسبقًا:
Free text...: يتيح لك الكتابة من الصفر أو لصق كود موجود
Rectangle: يوفّر كودًا أدنى لعرض مستطيل
Bar chart: يوفّر كودًا أدنى لعرض مخطط أعمدة
Pie chart: يوفّر كودًا أدنى لعرض مخطط دائري
يمكنك توسيع الكود باستخدام صياغة QML، أو استخدام حقول الطبقة أو تعابير QGIS التي تُحسب ديناميكيًا.
شكل 12.49 إعداد رسم بياني QML ليُعرض في نموذج البيانات الوصفية¶
Text Widget: يعرض عنصر واجهة نصيًا يدعم وسوم HTML الأساسية وقد يحتوي على نتيجة تعابير تُحسب ديناميكيًا.
تدعم عناصر الواجهة المذكورة أعلاه (باستثناء Spacer Widget) التعابير التي يمكن استخدامها لعرض محتوى يتغير ديناميكيًا كلما تغيّر حقل آخر في النموذج. يمكن تحقيق ذلك باستخدام الدالة current_value('field_name') في التعبير لفحص قيمة حقل آخر.
يتيح لك الخيار Provideui-file استخدام نوافذ حوار معقدة مصممة باستخدام Qt-Designer. يمنحك استخدام ملف UI حرية كبيرة في إنشاء نافذة الحوار. لاحظ أنه لربط الكائنات الرسومية (مربع النص، القائمة المنسدلة...) بحقول الطبقة، يجب أن تمنحها الاسم نفسه.
استخدم Edit UI لتحديد مسار الملف المراد استخدامه.
يمكن أيضًا استضافة ملفات UI على خادم بعيد. في هذه الحالة، تُدخل عنوان URL للنموذج بدلًا من مسار الملف في Edit UI.
يمكن أن تحتوي نماذج QGIS على دالة Python تُستدعى عند فتح نافذة الحوار. استخدم هذه الدالة لإضافة منطق إضافي إلى نوافذ الحوار. يمكن تحديد كود النموذج بثلاث طرق مختلفة:
loadfromtheenvironment: استخدام دالة موجودة مثلًا في startup.py أو في إضافة مثبّتة
loadfromanexternalfile: تتيح لك نافذة اختيار الملفات تحديد ملف Python من نظام ملفاتك أو إدخال عنوان URL لملف بعيد.
providecodeinthisdialog: يظهر محرر Python يمكنك فيه كتابة الدالة المراد استخدامها مباشرة.
في جميع الحالات، يجب إدخال اسم الدالة التي ستُستدعى (open في المثال أدناه).
مثال على ذلك (في الوحدة MyForms.py):
defopen(dialog,layer,feature):geom=feature.geometry()control=dialog.findChild(QWidget,"My line edit")
يساعدك الجزء الرئيسي من تبويب Attributes Form على تعيين نوع عنصر الواجهة المستخدم لتعبئة قيم الحقل أو عرضها، في جدول البيانات الوصفية أو نموذج المعلم: يمكنك تحديد كيفية تفاعل المستخدم مع كل حقل والقيم أو نطاقات القيم المسموح بإضافتها إليه.
شكل 12.50 نافذة حوار لاختيار عنصر واجهة التحرير لعمود سمة¶
نصيحة
نسخ إعدادات عنصر الواجهة ولصقها
يمكن نسخ إعدادات الحقل إلى الحافظة ثم لصقها في حقل آخر بالنقر بزر الفأرة الأيمن على حقل في لوحة Available widgets.
يفيد ذلك في توفير الوقت والتأكد من تطبيق الإعدادات المشتركة بشكل صحيح على عدة حقول مترابطة، مثلًا عند تهيئة عناصر واجهة حقلَي خط العرض وخط الطول.
يمكن نسخ إعدادات عنصر الواجهة ولصقها بين حقول الطبقة نفسها، أو بين حقول طبقات مختلفة في مشروع QGIS، أو بين حقول طبقات في نسخ QGIS مختلفة قيد التشغيل.
لاحظ أنه لا تُنسخ الأسماء المستعارة ولا التعليقات، لأنها خاصة بكل حقل على حدة.
Alias: اسم مقروء للبشر يُستخدم للحقول. يُعرض الاسم المستعار في نموذج المعلم، وجدول البيانات الوصفية، وفي لوحة Identify results. ويمكن أيضًا استخدامه بديلًا لاسم الحقل في منشئ التعابير، مما يسهّل فهم التعابير ومراجعتها. تُحفظ الأسماء المستعارة في ملف المشروع.
Comment: يعرض تعليق الحقل كما يظهر في تبويب Fields، في حالة للقراءة فقط. تُعرض هذه المعلومة تلميحًا عند تمرير المؤشر فوق تسمية الحقل في نموذج المعلم.
Editable: ألغِ تحديد هذا الخيار لجعل الحقل للقراءة فقط (غير قابل للتعديل يدويًا) حتى عندما تكون الطبقة في وضع التحرير. لاحظ أن تحديد هذا الإعداد لا يتجاوز أي قيود تحرير يفرضها مزوّد البيانات. يمكن التحكم في هذا الخيار عبر خاصية معرّفة بالبيانات بفضل الزر Data-defined override.
Reuse last entered value: يتذكر آخر قيمة أُدخلت في هذا الحقل ويستخدمها قيمةً افتراضية للمعلم التالي الذي يُحرَّر في الطبقة.
Label on top: يضع اسم الحقل فوق عنصر الواجهة أو بجانبه في نموذج المعلم.
يمكنك تقييد القيمة المراد إدخالها في الحقل. يمكن أن يكون هذا القيد:
Not null: يُلزم المستخدم بتقديم قيمة؛
Unique: يضمن أن تكون القيمة المُدخلة فريدة في الحقل بأكمله؛
مبنيًا على expression مخصص: مثلًا notregexp_match(col0,'[^A-Za-z]') سيضمن أن قيمة الحقل col0 تحتوي على حروف أبجدية فقط. يمكن إضافة وصف قصير لمساعدتك على تذكّر القيد.
كلما أُضيفت قيمة أو حُرّرت في حقل، فإنها تخضع للقيود الموجودة و:
إذا استوفت جميع المتطلبات، تظهر علامة صح خضراء بجانب الحقل في النموذج؛
إذا لم تستوفِ جميع المتطلبات، يُلوَّن الحقل بالأصفر أو البرتقالي وتُعرض علامة خطأ مقابلة بجانب عنصر الواجهة. يمكنك تمرير المؤشر فوق علامة الخطأ لتتذكر القيود المطبقة على الحقل وتصحّح القيمة:
تظهر علامة خطأ صفراء عندما يكون القيد غير المستوفى قيدًا غير مُلزِم (softconstraint)، ولا يمنعك من حفظ التغييرات بالقيم "الخاطئة"؛
لا يمكن تجاهل علامة الخطأ البرتقالية، ولا تسمح لك بحفظ تعديلاتك حتى تستوفي القيود. تظهر عند تحديد الخيار Enforce constraint (hardconstraint).
Default value: للمعالم الجديدة، يملأ الحقل تلقائيًا افتراضيًا بقيمة معرّفة مسبقًا أو بقيمة مبنية على تعبير. على سبيل المثال، يمكنك:
استخدام $x و $length و $area لملء حقل تلقائيًا بالإحداثي X للمعلم أو طوله أو مساحته أو أي معلومة هندسية عند إنشائه؛
زيادة قيمة حقل بمقدار 1 لكل معلم جديد باستخدام maximum("field")+1؛
حفظ تاريخ ووقت إنشاء المعلم باستخدام now()؛
استخدام المتغيرات في التعابير، مما يسهّل مثلًا إدراج اسم المشغّل (@user_full_name)، أو مسار ملف المشروع (@project_path)، ...
تُعرض معاينة للقيمة الافتراضية الناتجة أسفل عنصر الواجهة.
ملاحظة
لا يعرف الخيار Defaultvalue القيم الموجودة في أي حقل آخر من المعلم الجاري إنشاؤه، لذا لن يكون من الممكن استخدام تعبير يجمع أيًّا من تلك القيم، أي أن استخدام تعبير مثل concat(field1,field2) قد لا يعمل.
Apply default value on update: كلما تغيّرت سمة المعلم أو شكله الهندسي، يُعاد حساب القيمة الافتراضية. قد يفيد ذلك في حفظ قيم مثل آخر مستخدم عدّل البيانات، أو آخر وقت تغيّرت فيه...
تحدد سياسات الحقول كيفية تعيين القيم للحقول أثناء عمليات التحرير المختلفة:
سياسات التقسيم والتكرار
تنطبق هذه السياسات عند Splitting features أو Duplicating features:
Duplicate Values: يحتفظ بالقيمة الحالية للحقل في المعالم الجديدة.
Use Default Value: يعيد تعيين الحقل بإعادة حساب قيمته الافتراضية. إذا لم يوجد شرط لقيمة افتراضية، تُحفظ القيمة الحالية في المعالم الجديدة.
Remove Value: يمسح الحقل ليصبح غير مُعيَّن.
Use Ratio Geometries: يعيد حساب قيمة الحقل لجميع الأجزاء المقسّمة بضرب القيمة الحالية في نسبة أطوال الأجزاء المقسّمة أو مساحاتها.
سياسات الدمج
تحدد هذه السياسات القيم الأولية عند Merging features:
Remove Value: يمسح الحقل ليصبح غير مُعيَّن (قد يملأ مزوّد البيانات القيمة الافتراضية).
Use Default Value: يستخدم القيمة الافتراضية للحقل المعيّنة في QGIS. (تستخدم التعابير معلمًا وهميًا بالشكل الهندسي المدمج؛ ولن تعمل الإشارات إلى الحقول الأخرى).
Use Sum (للحقول الرقمية فقط): يجمع القيم من جميع المعالم المدمجة.
Use Minimum Value (للحقول الرقمية فقط): يستخدم أصغر قيمة من المعالم المحددة.
Use Maximum Value (للحقول الرقمية فقط): يستخدم أكبر قيمة من المعالم المحددة.
Average Weighted by Geometry (للحقول الرقمية فقط): تُحسب القيم الجديدة على أنها المتوسط المرجّح لقيم المصدر.
Use Largest Feature: يستخدم القيمة من المعلم ذي الشكل الهندسي الأكبر.
بناءً على نوع الحقل، يحدد QGIS تلقائيًا نوع عنصر واجهة افتراضيًا ويعيّنه له. يمكنك بعد ذلك استبدال عنصر الواجهة بأي عنصر آخر متوافق مع نوع الحقل. عناصر الواجهة المتاحة هي:
Binary (BLOB): متاح فقط للحقول الثنائية، ويعرض افتراضيًا تسمية بحجم البيانات المضمّنة، إن لم يكن الحقل فارغًا. يتيح زر منسدل بجانب التسمية ما يلي:
Embed file، لاستبدال محتوى الحقل أو تعبئته
Clear contents، لإزالة أي بيانات في الحقل
Save contents to file، لتصدير البيانات كملف على القرص
يمكن أيضًا معاينة الملف الثنائي المضمّن في الحقل، إذا اقترن في نموذج سحب وإفلات مع عنصر واجهة QML أو HTML مثلًا.
Checkbox: يعرض مربع اختيار تحدد حالته القيمة المراد إدخالها. داخليًا، يخزّن عنصر الواجهة قيمة (مثلًا 1 للمحدد، و0 لغير المحدد) بينما يمثّلها مرئيًا كمربع قابل للتبديل. يمكنك تهيئة القيم المخزنة لحالتَي التحديد وعدمه في التمثيل. ويمكن أيضًا عرض حالة مربع الاختيار كنص عادي باستخدام التسميتين "True"/"False". تؤثر هذه الإعدادات في كيفية عرض القيم في أدوات رسم التصنيف.
Classification: متاح فقط عند تطبيق ترميز مصنّف على الطبقة، ويعرض قائمة منسدلة بقيم الفئات.
Color: يعرض عنصر واجهة الألوان الذي يتيح اختيار لون؛ وتُخزَّن قيمة اللون بصيغة HTML في جدول البيانات الوصفية.
Date/Time: يعرض حقلًا سطريًا يمكنه فتح عنصر واجهة تقويم لإدخال تاريخ أو وقت أو كليهما. يجب أن يكون نوع العمود نصيًا. يمكنك اختيار تنسيق مخصص، وإظهار تقويم منبثق، وغير ذلك.
Enumeration: يفتح قائمة منسدلة بقيم معرّفة مسبقًا مجلوبة من قاعدة البيانات. هذا مدعوم حاليًا فقط من مزوّد PostgreSQL، للحقول من نوع enum.
Attachment: يستخدم نافذة حوار "Open file" لتخزين مسار الملف بنمط نسبي أو مطلق. يمكن استخدامه لعرض مسار المستند كرابط تشعبي أو لعرض المستند داخل عنصر واجهة مخصص في النموذج. أنواع المستندات المدعومة هي الصور وصفحات الويب والصوت والفيديو، وتعتمد صيغ الملفات المدعومة على نظام التشغيل. يمكنك أيضًا تهيئة نظام تخزين خارجي لجلب الموارد أو تخزينها.
نصيحة
المسار النسبي في عنصر واجهة Attachment
إذا كان المسار المحدد باستخدام متصفح الملفات موجودًا في المجلد نفسه الذي يوجد فيه ملف المشروع .qgs أو في مجلد أدنى منه، تُحوَّل المسارات إلى مسارات نسبية. يزيد ذلك من قابلية نقل مشروع .qgs المرفق به معلومات وسائط متعددة.
Geometry: متوافق مع نوع الحقل Geometry. على سبيل المثال، يمكن أن تحتوي طبقات PostgreSQL وطبقات الذاكرة على عدة حقول للشكل الهندسي. يستخدم QGIS أول عمود شكل هندسي بوصفه الشكل الهندسي للطبقة. يتيح تطبيق عنصر واجهة Geometry على حقول الشكل الهندسي الإضافية استخدام البيانات دون فقدان في نموذج البيانات الوصفية:
النسخ بصيغتَي WKT (التمثيل النصي المعروف، مثل POINT(3010) ) أو GeoJSON
لصق
مسح
Hidden: عمود السمة المخفي غير مرئي. لا يستطيع المستخدم رؤية محتوياته.
Key/Value: يعرض جدولًا من عمودين لتخزين مجموعات من أزواج المفتاح/القيمة داخل حقل واحد. هذا مدعوم حاليًا من مزوّد PostgreSQL، للحقول من نوع hstore.
JSON View: يعرض بيانات JSON في محرر نصوص مع تمييز الصياغة أو في عرض شجري. عنصر الواجهة هذا حاليًا للقراءة فقط. تتوفر عدة خيارات لتغيير طريقة عرض البيانات. يحدد 'Default view' ما إذا كان عنصر الواجهة سيظهر في وضع النص أو الشجرة. ولـ 'Format JSON' ثلاثة خيارات تتعلق بالعرض الشجري فقط:
Indented: يعرض البيانات بشكل مقروء للبشر مع أسطر جديدة وأربع مسافات للإزاحة.
Compact: يعرض البيانات في سلسلة نصية من سطر واحد محسّنة الحجم دون أسطر جديدة أو مسافات.
Disabled: يعرض البيانات كما ترد من مزوّد البيانات.
List: يعرض جدولًا من عمود واحد لإضافة قيم مختلفة داخل حقل واحد. هذا مدعوم حاليًا من مزوّد PostgreSQL، للحقول من نوع array.
Range: يتيح لك تعيين قيم رقمية من نطاق محدد. يمكن أن يكون عنصر واجهة التحرير شريط تمرير أو مربع أرقام دوّار.
ملاحظة
بعض الطبقات، مثل GeoPackage أو ESRI File Geodatabase، التي تحتوي على نطاقات حقول من نوع المدى (range Field Domains) معرّفة مسبقًا، سيتعرّف عليها QGIS تلقائيًا ويعيّن عنصر واجهة Range للحقول المعنية. سيُملأ عنصر الواجهة مسبقًا بالقيمتين الدنيا والعليا المحددتين في النطاق.
Relation Reference: هذا هو عنصر الواجهة الافتراضي المعيّن للحقل المُشير (أي المفتاح الأجنبي في الطبقة الفرعية) عند تعيين علاقة. يوفّر وصولًا مباشرًا إلى نموذج المعلم الأصل الذي يضمّن بدوره قائمة المعالم الفرعية ونموذجها. يمكن تحديد عدد الإدخالات في عنصر الواجهة لتحسين الكفاءة، وإذا لم يُعيَّن حد فستُحمَّل جميع الإدخالات. يُستخدم الحقل المحدد في تعبير العرض بوصفه القيمة المعروضة في أدوات رسم التصنيف.
Text Edit (الافتراضي): يفتح حقل تحرير نصي يتيح استخدام نص بسيط أو أسطر متعددة. إذا اخترت أسطرًا متعددة يمكنك أيضًا اختيار محتوى HTML.
Unique Values: يمكنك اختيار إحدى القيم المستخدمة سابقًا في جدول البيانات الوصفية. إذا كان الخيار 'Editable' مفعّلًا، يُعرض حقل تحرير سطري مع دعم الإكمال التلقائي، وإلا تُستخدم قائمة منسدلة.
Uuid Generator: يولّد حقل UUID (المعرّفات الفريدة عالميًا) للقراءة فقط، إذا كان فارغًا.
Value Map: قائمة منسدلة بعناصر معرّفة مسبقًا. تُخزَّن القيمة في السمة، ويُعرض الوصف في القائمة المنسدلة. يمكنك تعريف القيم يدويًا أو تحميلها من طبقة أو من ملف CSV. يُستخدم الوصف بوصفه القيمة المعروضة، أي أنه سيظهر في أدوات رسم التصنيف.
ملاحظة
بعض الطبقات، مثل GeoPackage أو ESRI File Geodatabase، التي تحتوي على نطاقات حقول مرمّزة (coded Field Domains) معرّفة مسبقًا، سيتعرّف عليها QGIS تلقائيًا ويعيّن عنصر واجهة Value Map للحقول المعنية.
Value Relation: يقدّم قيمًا من جدول مرتبط في قائمة منسدلة. يمكنك اختيار الطبقة وعمود المفتاح وعمود القيمة. عمود المفتاح هو القيمة المخزنة في جدول البيانات الوصفية، بينما عمود القيمة هو التسمية المعروضة في القائمة المنسدلة. وعمود القيمة هو أيضًا القيمة المعروضة التي ستظهر في أدوات رسم التصنيف. يمكنك أيضًا اختيار ترتيب قائمة القيم المعروضة حسب العمود Key (ترتيب الفرز الافتراضي)، أو العمود Value، أو Field محدد من الطبقة. فعّل Descending order إذا أردت فرز القيم بترتيب عكسي.
تتوفر عدة خيارات لتغيير السلوك القياسي: السماح بالقيمة NULL، والسماح بالتحديد المتعدد، واستخدام الإكمال التلقائي. ستعرض النماذج إما قائمة منسدلة أو حقل تحرير سطري عند تفعيل مربع اختيار الإكمال التلقائي.
إذا كانت طبقة مخزنة في PostgreSQL أو GeoPackage أو SpatiaLite مهيأة لاستخدام عنصر واجهة Value Relation، لكن الطبقة المطلوبة غير محمّلة بعد في المشروع، فسيبحث QGIS تلقائيًا عن الطبقة في قاعدة البيانات/الاتصال نفسه.
يتيح لك التبويب Joins ربط معالم الطبقة الحالية بمعالم من طبقة متجهية أخرى محمّلة (أو جدول). يعتمد الربط على سمة مشتركة بين الطبقتين، في علاقة واحد لواحد. لمزيد من التفاصيل حول الربط، يُرجى قراءة ربط المعالم بين طبقتين.
الطريقة المعتادة لتخصيص التنسيق والتسميات هي استخدام الخصائص المعرّفة بالبيانات كما هو موضح في إعداد التجاوز المعرَّف بالبيانات. لكن قد لا يكون ذلك ممكنًا إذا كانت البيانات الأساسية للقراءة فقط. علاوة على ذلك، قد تكون تهيئة هذه الخصائص المعرّفة بالبيانات مستهلكة للوقت كثيرًا أو غير مرغوبة! على سبيل المثال، إذا أردت الاستفادة الكاملة من أدوات الخريطة المرفقة مع شريط أدوات التسميات، فستحتاج إلى إضافة وتهيئة أكثر من 20 حقلًا في مصدر بياناتك الأصلي (موضعَي X و Y، وزاوية الدوران، ونمط الخط، واللون وغيرها).
توفّر آلية التخزين المساعد الحل لهذه القيود والتهيئات المزعجة. الحقول المساعدة طريقة غير مباشرة لإدارة هذه الخصائص المعرّفة بالبيانات (التسميات، والمخططات، والترميز...) وتخزينها تلقائيًا في قاعدة بيانات SQLite بفضل عمليات الربط القابلة للتحرير. يتيح لك ذلك تخزين خصائص لطبقات غير قابلة للتحرير.
يتوفر تبويب في نافذة حوار خصائص الطبقة المتجهية لإدارة التخزين المساعد:
بما أن مصدر البيانات يمكن تخصيصه بفضل الخصائص المعرّفة بالبيانات دون أن يكون قابلًا للتحرير، فإن أدوات خريطة التسميات الموضحة في شريط أدوات التسميات تكون متاحة دائمًا بمجرد تفعيل التسميات.
في الواقع، يحتاج نظام التخزين المساعد إلى طبقة مساعدة لتخزين هذه الخصائص في قاعدة بيانات SQLite (راجع قاعدة بيانات التخزين المساعد). تُنفَّذ عملية إنشائها في أول مرة تنقر فيها على الخريطة بينما تكون إحدى أدوات خريطة التسميات مفعّلة. ثم تُعرض نافذة تتيح لك اختيار المفتاح الأساسي المستخدم في الربط (لضمان تعريف المعالم بشكل فريد):
بعد إنشاء الطبقة المساعدة، يمكنك تحرير تسميات الطبقة. انقر على تسمية بينما أداة الخريطة Change Label مفعّلة، ثم يمكنك تحديث خصائص التنسيق مثل الأحجام والألوان وغيرها. تُنشأ الخصائص المعرّفة بالبيانات المقابلة ويمكن استرجاعها:
كما ترى في الشكل أعلاه، أُنشئ 21 حقلًا وهُيّئت تلقائيًا للتسميات. على سبيل المثال، نوع الحقل المساعد FontStyle هو String واسمه labeling_fontstyle في قاعدة بيانات SQLite الأساسية. وهناك أيضًا 1 معلم يستخدم حاليًا هذه الحقول المساعدة.
لاحظ أن الأيقونة معروضة في تبويب خصائص Labels، مما يشير إلى أن خيارات التجاوز المعرّفة بالبيانات معيّنة بشكل صحيح:
شكل 12.55 الخصائص المعرّفة بالبيانات المُنشأة تلقائيًا¶
بخلاف ذلك، هناك طريقة أخرى لإنشاء حقل مساعد لخاصية محددة بفضل الزر Data-defined override. بالنقر على Store data in the project، يُنشأ حقل مساعد تلقائيًا للحقل Opacity. إذا نقرت على هذا الزر ولم تكن الطبقة المساعدة قد أُنشئت بعد، تُعرض أولًا نافذة (شكل 12.52) لاختيار المفتاح الأساسي المستخدم في الربط.
على غرار الطريقة الموضحة أعلاه لتخصيص التسميات، يمكن أيضًا استخدام الحقول المساعدة لتنسيق الرموز والمخططات. للقيام بذلك، انقر على Data-defined override واختر Store data in the project لخاصية محددة. على سبيل المثال، الحقل Fill color:
لكل رمز سمات مختلفة (مثل نمط التعبئة ولون التعبئة ولون الحد وغيرها...)، لذا يتطلب كل حقل مساعد يمثّل سمة اسمًا فريدًا لتجنّب التعارض. بعد اختيار Store data in the project، تُفتح نافذة تعرض Type الحقل وتطلب منك إدخال اسم فريد للحقل المساعد. على سبيل المثال، عند إنشاء حقل مساعد Fill color تُفتح النافذة التالية:
يمكن تحرير الحقول المساعدة باستخدام جدول البيانات الوصفية. لكن ليست جميع الحقول المساعدة مرئية في البداية في جدول البيانات الوصفية.
تظهر تلقائيًا في جدول البيانات الوصفية الحقول المساعدة التي تمثّل سمات ترميز الطبقة أو تسمياتها أو مظهرها أو مخططاتها. والاستثناء هو السمات التي يمكن تعديلها باستخدام شريط أدوات التسميات، فهي مخفية افتراضيًا. الحقول المساعدة التي تمثّل Color يُعيَّن لها عنصر الواجهة Color افتراضيًا، وإلا فإن الحقول المساعدة تستخدم افتراضيًا عنصر الواجهة Text Edit.
الحقول المساعدة التي تمثّل سمات يمكن تعديلها باستخدام شريط أدوات التسميات تكون Hidden في جدول البيانات الوصفية افتراضيًا. لجعل حقل ما مرئيًا، افتح تبويب خصائص نموذج البيانات الوصفية وغيّر قيمة Widget Type للحقل المساعد من Hidden إلى قيمة أخرى مناسبة. على سبيل المثال، غيّر auxiliary_storage_labeling_size إلى Text Edit أو غيّر auxiliary_storage_labeling_color إلى عنصر الواجهة Color. ستصبح تلك الحقول الآن مرئية في جدول البيانات الوصفية.
ستظهر الحقول المساعدة في جدول البيانات الوصفية كما في الصورة التالية:
العنصر الأول Create معطّل في هذه الحالة لأن الطبقة المساعدة قد أُنشئت بالفعل. لكن في حالة عمل جديد، يمكنك استخدام هذا الإجراء لإنشاء طبقة مساعدة. وكما هو موضح في التسميات، سيلزم حينها مفتاح أساسي.
يتيح الإجراء Clear الاحتفاظ بجميع الحقول المساعدة مع إزالة محتوياتها. وبهذا ينخفض عدد المعالم التي تستخدم هذه الحقول إلى 0.
يزيل الإجراء Delete الطبقة المساعدة بالكامل. بعبارة أخرى، يُحذف الجدول المقابل من قاعدة بيانات SQLite الأساسية وتُفقد تخصيصات الخصائص.
أخيرًا، يتيح الإجراء Export حفظ الطبقة المساعدة بوصفها طبقة متجهية جديدة. لاحظ أن الأشكال الهندسية لا تُخزَّن في التخزين المساعد. لكن في هذه الحالة، تُصدَّر الأشكال الهندسية من مصدر البيانات الأصلي أيضًا.
يوفّر التبويب Actions إمكانية تنفيذ إجراء بناءً على سمات معلم. يمكن استخدام ذلك لتنفيذ أي عدد من الإجراءات، مثل تشغيل برنامج بوسائط مبنية من سمات معلم أو تمرير معاملات إلى أداة تقارير ويب.
شكل 12.61 نظرة عامة على نافذة حوار الإجراءات مع بعض الإجراءات النموذجية¶
تفيد الإجراءات عندما تريد كثيرًا تشغيل تطبيق خارجي أو عرض صفحة ويب بناءً على قيمة أو أكثر في طبقتك المتجهية. وهي أنواع مختلفة ويمكن استخدامها على النحو التالي:
تبدأ إجراءات Generic و macOS و Windows و Unix عملية خارجية.
تنفّذ إجراءات Python تعبير Python.
إجراءات Generic و Python مرئية في كل مكان.
إجراءات macOS و Windows و Unix مرئية فقط على المنصة المعنية (أي يمكنك تعريف ثلاثة إجراءات "Edit" لفتح محرر، ولا يرى المستخدمون ولا ينفّذون إلا إجراء "Edit" الخاص بمنصتهم لتشغيل المحرر).
Open URL: يستخدم طلب HTTP GET لفتح عنوان URL مُعطى.
Submit URL (urlencoded or JSON): مثل الإجراء Open URL لكن باستخدام طلب HTTP POST. تُرسَل البيانات إلى عنوان URL باستخدام "application/x-www-form-urlencoded" أو "application/json" إذا كان المتن JSON صالحًا.
Submit URL (multipart): مثل الإجراء Open URL لكن باستخدام طلب HTTP POST. تُرسَل البيانات إلى عنوان URL باستخدام "multipart/form-data".
توجد عدة أمثلة مضمّنة في نافذة الحوار. يمكنك تحميلها بالنقر على Create Default Actions. لتحرير أي من الأمثلة، انقر نقرًا مزدوجًا على صفّه. أحد الأمثلة هو إجراء بحث بناءً على قيمة سمة. يُستخدم هذا المفهوم في الشرح التالي.
يتيح لك الخيار Show in Attribute Table أن تعرض في نافذة حوار جدول البيانات الوصفية الإجراءات المحددة ذات نطاق المعلم، إما في صورة Combo Box أو Separate Buttons (راجع ضبط الأعمدة).
لتعريف إجراء سمة، افتح نافذة حوار Layer Properties للطبقة المتجهية وانقر على التبويب Actions. في التبويب Actions، انقر على Add a new action لفتح نافذة الحوار Edit Action.
اختر Type الإجراء وقدّم اسمًا وصفيًا له. يجب أن يحتوي الإجراء نفسه على اسم التطبيق الذي سيُنفَّذ عند استدعاء الإجراء. يمكنك إضافة قيمة حقل سمة واحد أو أكثر كوسائط للتطبيق. عند استدعاء الإجراء، تُستبدل أي مجموعة من الأحرف تبدأ بـ % متبوعة باسم حقل بقيمة ذلك الحقل. وتُستبدل الأحرف الخاصة %% بقيمة الحقل المحدد من نتائج التعريف أو من جدول البيانات الوصفية (راجع استخدام الإجراءات). يمكن استخدام علامات الاقتباس المزدوجة لتجميع نص في وسيط واحد للبرنامج أو السكربت أو الأمر. وتُتجاهل علامات الاقتباس المزدوجة إذا سبقتها شرطة مائلة عكسية.
يمكن للإجراءات استدعاء عملية واحدة مع وسائطها، لذا لن تعمل العوامل المنطقية (مثل & و && و ; و |). في أنظمة التشغيل الشبيهة بـ UNIX يمكن تنفيذ عدة أوامر عبر bash-c.
يتيح لك Action Scopes تحديد المكان الذي يجب أن يتوفر فيه الإجراء. لديك الخيارات التالية:
Field: يتوفر الإجراء عند النقر بزر الفأرة الأيمن في الخلية داخل جدول البيانات الوصفية، وفي نموذج المعلم، وفي زر الإجراء الافتراضي في شريط الأدوات الرئيسي.
Feature: يتوفر الإجراء عند النقر بزر الفأرة الأيمن في الخلية داخل جدول البيانات الوصفية.
Canvas: يتوفر الإجراء في زر الإجراءات الرئيسي في شريط الأدوات.
Form: يتوفر الإجراء فقط في نموذج معلم مصمم باستخدام وضع السحب والإفلات.
Layer: يتوفر الإجراء في زر الإجراءات في شريط أدوات جدول البيانات الوصفية. انتبه إلى أن هذا النوع من الإجراءات يشمل الطبقة بأكملها وليس المعالم المفردة.
إذا كانت لديك أسماء حقول هي سلاسل جزئية من أسماء حقول أخرى (مثل col1 و col10)، فعليك الإشارة إلى ذلك بإحاطة اسم الحقل (والحرف %) بأقواس مربعة (مثل [%col10]). يمنع ذلك الخلط بين اسم الحقل %col10 واسم الحقل %col1 متبوعًا بـ 0 في نهايته. سيزيل QGIS الأقواس عندما يستبدل قيمة الحقل. إذا أردت أن يُحاط الحقل المستبدل بأقواس مربعة، فاستخدم مجموعة ثانية هكذا: [[%col10]].
باستخدام الأداة Identify Features، يمكنك فتح نافذة الحوار Identify Results. وهي تتضمن عنصر (Derived) يحتوي على معلومات متعلقة بنوع الطبقة. يمكن الوصول إلى القيم في هذا العنصر بطريقة مشابهة للحقول الأخرى بوضع (Derived). قبل اسم الحقل المشتق. على سبيل المثال، تحتوي طبقة النقاط على حقلَي X و Y، ويمكن استخدام قيم هذين الحقلين في الإجراء عبر %(Derived).X و %(Derived).Y. السمات المشتقة متاحة فقط من نافذة الحوار Identify Results، وليس من نافذة الحوار Attribute Table.
فيما يلي مثالان على الإجراءات:
konquerorhttps://www.google.com/search?q=%name
konquerorhttps://www.google.com/search?q=%%
في المثال الأول، يُستدعى متصفح الويب konqueror ويُمرَّر إليه عنوان URL لفتحه. يُجري عنوان URL بحثًا في Google عن قيمة الحقل name من طبقتنا المتجهية. لاحظ أن التطبيق أو السكربت الذي يستدعيه الإجراء يجب أن يكون في مسار النظام (path)، وإلا فعليك تقديم المسار الكامل. وللتأكد، يمكننا إعادة كتابة المثال الأول هكذا: /opt/kde3/bin/konquerorhttps://www.google.com/search?q=%name. سيضمن ذلك تنفيذ تطبيق konqueror عند استدعاء الإجراء.
يستخدم المثال الثاني الترميز %%، الذي لا يعتمد على حقل معين للحصول على قيمته. عند استدعاء الإجراء، يُستبدل %% بقيمة الحقل المحدد في نتائج التعريف أو في جدول البيانات الوصفية.
يتيح لك QGIS تكرار الإجراءات الموجودة. لتكرار إجراء سمة، افتح نافذة حوار Layer Properties للطبقة المتجهية وانقر على التبويب Actions. في التبويب Actions، انقر على Duplicate an action لفتح نافذة الحوار Duplicate Action. يجب أن تكون قد حددت إجراءً موجودًا واحدًا على الأقل لإنشاء نسخة مكررة.
في نافذة الحوار التي تظهر، أجرِ أي تغييرات لازمة. راجع تعريف الإجراءات لمزيد من المعلومات. عند الانتهاء، اضغط OK لإنشاء نسخة مكررة من الإجراء مع أي تغييرات أجريتها. إذا لم تحرّر الوصف، أو إذا غيّرته ليصبح مطابقًا لوصف أي إجراء موجود آخر، فستُضاف "_1" إلى نهايته.
يقدّم QGIS طرقًا عديدة لتنفيذ الإجراءات التي فعّلتها على طبقة. وبحسب إعداداتها، يمكن أن تكون متاحة:
في القائمة المنسدلة للزر Run Feature Action من Attributes toolbar أو من نافذة الحوار Attribute table؛
عند النقر بزر الفأرة الأيمن على معلم باستخدام الأداة Identify Features (راجع تعريف المعالم لمزيد من المعلومات)؛
من لوحة Identify Results، تحت القسم Actions؛
كعناصر في عمود Actions في نافذة الحوار Attribute Table.
إذا كنت تستدعي إجراءً يستخدم الترميز %%، فانقر بزر الفأرة الأيمن على قيمة الحقل التي تريد تمريرها إلى التطبيق أو السكربت في نافذة الحوار Identify Results أو نافذة الحوار Attribute Table.
إليك مثالًا آخر يستخرج البيانات من طبقة متجهية ويُدرجها في ملف باستخدام bash والأمر echo (لذا سيعمل فقط على أو ربما ). تحتوي الطبقة المعنية على حقول لاسم النوع taxon_name، وخط العرض lat، وخط الطول long. نريد أن نتمكن من إجراء تحديد مكاني للمواقع وتصدير قيم هذه الحقول إلى ملف نصي للسجل المحدد (المعروض باللون الأصفر في منطقة خريطة QGIS). إليك الإجراء الذي يحقق ذلك:
كتمرين، يمكننا إنشاء إجراء يُجري بحثًا في Google على الطبقة lakes. أولًا، علينا تحديد عنوان URL اللازم لإجراء بحث عن كلمة مفتاحية. يسهل ذلك بالذهاب إلى Google وإجراء بحث بسيط، ثم أخذ عنوان URL من شريط العنوان في متصفحك. من هذا الجهد البسيط، نرى أن التنسيق هو https://www.google.com/search?q=QGIS، حيث QGIS هو مصطلح البحث. وبهذه المعلومة، يمكننا المتابعة:
تأكد من تحميل الطبقة lakes.
افتح نافذة الحوار Layer Properties بالنقر المزدوج على الطبقة في مفتاح الخريطة، أو انقر بزر الفأرة الأيمن واختر Properties من القائمة المنبثقة.
انقر على التبويب Actions.
انقر على Add a new action.
اختر نوع الإجراء Open URL،
أدخل اسمًا للإجراء، مثل GoogleSearch.
يمكنك أيضًا إضافة Short Name أو حتى Icon.
اختر Action Scopes. راجع تعريف الإجراءات لمزيد من المعلومات. اترك الإعدادات الافتراضية في هذا المثال.
للإجراء، أضف عنوان URL المستخدم لإجراء بحث في Google، حتى مصطلح البحث دون أن يشمله: https://www.google.com/search?q=
يجب أن يبدو النص في الحقل Action الآن هكذا:
https://www.google.com/search?q=
انقر على القائمة المنسدلة التي تحتوي على أسماء حقول الطبقة lakes. تقع مباشرة إلى يسار الزر Insert.
عند النقر على الإجراء، يُفتح متصفحك الافتراضي وينتقل إلى عنوان URL https://www.google.com/search?q=Tustumena. ومن الممكن أيضًا إضافة حقول سمات أخرى إلى الإجراء. لذلك يمكنك إضافة + إلى نهاية نص الإجراء، واختيار حقل آخر والنقر على Insert Field. في هذا المثال، لا يوجد ببساطة حقل آخر متاح يكون من المنطقي البحث عنه.
يمكنك تعريف عدة إجراءات لطبقة، وسيظهر كل منها في نافذة الحوار Identify Results.
يمكنك أيضًا استدعاء الإجراءات من جدول البيانات الوصفية بتحديد صف والنقر بزر الفأرة الأيمن، ثم اختيار الإجراء من القائمة المنبثقة.
للإجراءات استخدامات متنوعة. على سبيل المثال، إذا كانت لديك طبقة نقاط تحتوي على مواقع صور مع اسم الملف، يمكنك إنشاء إجراء لتشغيل عارض لعرض الصورة. ويمكنك أيضًا استخدام الإجراءات لتشغيل تقارير ويب لحقل سمة أو مجموعة من الحقول، بتحديدها بالطريقة نفسها التي اتبعناها في مثال البحث في Google.
يمكننا أيضًا إنشاء أمثلة أكثر تعقيدًا، مثلًا باستخدام إجراءات Python.
عادةً، عندما ننشئ إجراءً لفتح ملف بتطبيق خارجي، يمكننا استخدام مسارات مطلقة، أو ربما مسارات نسبية. في الحالة الثانية، يكون المسار نسبيًا إلى موقع الملف التنفيذي للبرنامج الخارجي. لكن ماذا لو احتجنا إلى استخدام مسارات نسبية إلى الطبقة المحددة (طبقة مبنية على ملف، مثل Shapefile أو SpatiaLite)؟ الكود التالي سيفي بالغرض:
مثال آخر على إجراء Python هو الذي يتيح لنا إضافة طبقات جديدة إلى المشروع. على سبيل المثال، ستضيف الأمثلة التالية إلى المشروع طبقة متجهية وطبقة شبكية على الترتيب. أسماء الملفات المراد إضافتها إلى المشروع والأسماء التي ستُعطى للطبقات مستمدة من البيانات (filename و layername هما اسما عمودين في جدول البيانات الوصفية للطبقة المتجهية التي أُنشئ فيها الإجراء):
معرّف المعلم في عرض النموذج لجدول البيانات الوصفية
معرّف المعلم عند تصدير الخريطة أو التخطيط إلى صيغة مخرجات متعددة الطبقات مثل Geospatial PDF
معلومات تلميح الخريطة، أي الرسالة المعروضة في لوحة الخريطة عند تمرير المؤشر فوق معلم من الطبقة النشطة مع ضغط الأيقونة Show Map Tips. ينطبق ذلك عندما يكون Enable Map Tips نشطًا ولم يُعيَّن HTML Map Tip.
يتحكم Enable Map Tips في عرض تلميحات الخريطة للطبقة
يوفّر HTML Map Tip محرر نصوص HTML متكاملًا ومتقدمًا لتلميحات الخريطة، يمزج بين تعابير QGIS وأنماط HTML ووسومها (أسطر متعددة، وخطوط، وصور، وروابط تشعبية، وجداول، ...). يمكنك التحقق من نتيجة نموذج الكود في إطار Preview (وهو مفيد أيضًا لمعاينة مخرجات Display name). إضافة إلى ذلك، يمكنك تحديد التعابير الموجودة وتحريرها باستخدام الزر Insert/Edit Expression.
ملاحظة
فهم سلوك الزر Insert/Edit Expression
إذا حددت نصًا داخل تعبير (بين "[%" و "%]")، أو إذا لم يُحدَّد أي نص لكن المؤشر داخل تعبير، فسيُحدَّد التعبير بأكمله تلقائيًا لتحريره. وإذا كان المؤشر أو النص المحدد خارج تعبير، تُفتح نافذة الحوار مع التحديد.
تحت Scale dependent visibility، يمكنك تعيين مقياسَي Maximum (inclusive) و Minimum (exclusive)، لتحديد نطاق مقاييس الرسم الذي تكون فيه المعالم مرئية. وخارج هذا النطاق تكون مخفية. يساعدك الزر Set to current canvas scale على استخدام مقياس الرسم الحالي للوحة الخريطة حدًّا لنطاق الرؤية. راجع منتقي مقياس الرسم للظهور لمزيد من المعلومات.
ملاحظة
يمكنك أيضًا تفعيل الرؤية المعتمدة على مقياس الرسم لطبقة من داخل لوحة Layers: انقر بزر الفأرة الأيمن على الطبقة واختر من القائمة السياقية Set Layer Scale Visibility.
يقدّم QGIS دعمًا لتعميم المعالم أثناء العرض. يمكن أن يحسّن ذلك أوقات الرسم عند رسم كثير من المعالم المعقدة بمقاييس رسم صغيرة. يمكن تفعيل هذه الميزة أو تعطيلها في إعدادات الطبقة باستخدام الخيار Simplify geometry. وهناك أيضًا إعداد عام يفعّل التعميم افتراضيًا للطبقات المضافة حديثًا (راجع التبسيط العام لمزيد من المعلومات).
ملاحظة
قد يُدخل تعميم المعالم تشوّهات في مخرجاتك المرسومة في بعض الحالات. قد تشمل هذه فجوات رفيعة بين المضلعات ورسمًا غير دقيق عند استخدام طبقات رموز مبنية على الإزاحة.
يشير الخيار Fixed reference scale إلى مقياس الرسم الذي ترتبط به أحجام الترميز والتسميات التي تستخدم وحدات ورقية (مثل المليمترات أو النقاط). وستتغير الأحجام وفقًا لذلك كلما عُرضت الخريطة بمقياس رسم مختلف.
على سبيل المثال، طبقة خطية تستخدم خطًا بعرض 2mm مع تعيين Reference scale إلى 1:2000 ستُرسم بخطوط عرضها 4mm عند عرض الخريطة بمقياس 1:1000.
تتيح لك المجموعة Selections التحكم فيما إذا كان يجب استخدام لون أو رمز محدد بدلًا من الافتراضي (Project properties ► General ► Selection color) لطبقة معينة. يفيد ذلك في تحسين وضوح المعالم المحددة مع بعض أنواع الترميز:
Use default selection color
Override color for selected features: مثلًا إذا كانت الطبقة تستخدم اللون الأصفر افتراضيًا ولم يكن تحديد الأصفر القياسي مرئيًا.
Override symbol for selected features: مثلًا إذا كانت طبقة خطية تستخدم رمزًا رفيعًا، وقد لا يجعل تلوين الخطوط مرئية بما يكفي، فإن تجاوز الرمز بخط أسمك قد يساعد. كذلك، إذا كانت الطبقة تستخدم ترميزًا شبكيًا أو تعبئات/خطوطًا متدرجة أو shapeburst مع ترميز تدرج لوني، فلا يُطبَّق لون التحديد الافتراضي إطلاقًا؛ وقد يساعد القدرة على تعيين رمز أبسط محدد لاستخدامه للمعالم المحددة في الطبقة.
قد يؤدي رسم الطبقات شديدة التفصيل (مثل طبقات المضلعات ذات العدد الهائل من العقد) إلى أن تصبح تصديرات التخطيط بصيغة PDF/SVG ضخمة، إذ تُضمَّن جميع العقد في الملف المُصدَّر. وقد يجعل ذلك أيضًا العمل بالملف الناتج أو فتحه في برامج أخرى بطيئًا جدًا.
يؤدي تحديد Force layer to render as raster إلى إجبار هذه الطبقات على التحويل إلى صيغة شبكية، بحيث لا تضطر الملفات المُصدَّرة إلى تضمين جميع العقد الموجودة في هذه الطبقات، ومن ثم يتسارع الرسم.
يمكنك أيضًا تحقيق ذلك بإجبار التخطيط على التصدير بصيغة شبكية، لكن هذا حل شامل لا وسط فيه، إذ يُطبَّق التحويل الشبكي على جميع الطبقات. وبدلًا من ذلك، يمكنك الاعتماد على تبسيط الأشكال الهندسية في إعدادات تصدير التخطيط.
Refresh layer at interval: يتحكم في ما إذا كان يمكن تحديث الطبقة ومدى انتظام تحديثها. خيارات Configuration المتاحة هي:
Reload data: ستُحدَّث الطبقة بالكامل. ستُتجاهل أي بيانات مخزنة مؤقتًا وتُجلب من جديد من مزوّد البيانات. قد يؤدي هذا الوضع إلى بطء تحديث الخريطة.
Redraw layer only: يفيد هذا الوضع في الرسوم المتحركة أو عندما يُحدَّث نمط الطبقة على فترات منتظمة. تُؤجَّل تحديثات لوحة الخريطة لتجنّب التحديث عدة مرات إذا كان لأكثر من طبقة فترة تحديث تلقائي معيّنة.
يمكن أيضًا تعيين Interval (seconds) بين عمليات التحديث المتتالية.
بحسب مزوّد البيانات (مثل PostgreSQL)، يمكن إرسال إشعارات إلى QGIS عند تطبيق تغييرات على مصدر البيانات من خارج QGIS. استخدم الخيار Refresh layer on notification لتشغيل التحديث. ويمكنك أيضًا قصر تحديث الطبقة على رسالة محددة تُعيَّن في مربع النص Only if message is.
يقدّم التبويب Temporal خيارات للتحكم في رسم الطبقة عبر الزمن. يتطلب هذا الرسم الديناميكي تفعيل التنقل الزمني على لوحة الخريطة.
شكل 12.67 نافذة حوار الخصائص الزمنية للطبقة المتجهية¶
حدّد الخيار Dynamic Temporal Control لتهيئة الرسم الزمني للطبقة المتجهية. بحسب بنية مجموعة بياناتك، قد ترغب في استخدام أحد خيارات Configuration المتاحة:
Fixed time range: تُرسم جميع المعالم إذا تداخل الإطار الزمني للوحة الخريطة مع النطاق المحدد بين Start date و End date.
Single field with date/time: تُعرض المعالم إذا وقعت قيمة الحقل Field الخاص بها ضمن الإطار الزمني للوحة الخريطة. ويمكن تعيين Event duration (مدة الحدث). وعند تفعيل الخيار Accumulate features over time، يستمر عرض جميع المعالم التي تقع قبل النطاق الزمني للخريطة أو ضمنه. وبذلك تُتجاهل مدة الحدث.
Separate fields for start and end date/time: تُعرض المعالم إذا تداخل النطاق المحدد بقيم الحقلين Start field و End field الخاصين بها مع النطاق الزمني للوحة الخريطة.
Separate fields for start and event duration: تُعرض المعالم إذا تداخل النطاق المعرَّف بقيم الحقلين Start field و Event duration field الخاصين بها مع النطاق الزمني للوحة الخريطة.
Start and end date/time from expressions: تُعرض المعالم إذا تداخل النطاق الزمني المحدد بالحقلين Start expression و End expression مع النطاق الزمني للوحة الخريطة.
Redraw layer only: يُعاد رسم الطبقة عند كل إطار جديد من الحركة، لكن دون تطبيق أي ترشيح زمني على المعالم. ويفيد ذلك عندما تستخدم الطبقة قيم تعبيرات زمنية في إعدادات أداة الرسم (مثل الترميز المعرَّف بالبيانات).
يمكن أيضًا تعيين Limits (حدود) النطاق الزمني للمعالم على النحو التالي:
يعرض التبويب Variables جميع المتغيرات المتاحة على مستوى الطبقة (بما فيها جميع المتغيرات العامة ومتغيرات المشروع).
كما يتيح للمستخدم إدارة المتغيرات على مستوى الطبقة. انقر الزر لإضافة متغير مخصص جديد على مستوى الطبقة. وبالمثل، حدّد متغيرًا مخصصًا على مستوى الطبقة من القائمة وانقر الزر لإزالته.
لمزيد من المعلومات حول استخدام المتغيرات، راجع القسم تخزين القيم في المتغيرات ضمن الأدوات العامة.
شكل 12.68 نافذة حوار خصائص الارتفاع للطبقة المتجهية¶
Vertical Reference System: إذا كان نظام الإحداثيات المرجعي (CRS) لطبقتك المتجهية مركّبًا (يتضمن البعد Z)، فإن نظام الإحداثيات الرأسي المستخدم للطبقة هو المكوّن الرأسي لنظام إحداثيات الطبقة. وفي هذه الحالة لا يمكنك تعيين نظام إحداثيات رأسي مختلف يدويًا. أما إذا كان نظام إحداثيات طبقتك أفقيًا (ثنائي الأبعاد)، فيمكنك اختيار نظام إحداثيات رأسي محدد بالنقر على Select CRS. وتدعم الطبقات المتجهية أنظمة الإسناد الرأسية في:
Elevation Clamping: يحدد كيفية تعيين ارتفاع المعالم وما إذا كان:
Clamped to terrain: يأخذ الارتفاع مباشرة من ارتفاع التضاريس ويتجاهل أي قيم Z موجودة في المعالم. ويمكن أيضًا إدخال قيمة Offset (إزاحة) معرَّفة بالبيانات عن التضاريس.
Relative to terrain: تُضاف أي قيم Z موجودة في المعالم إلى ارتفاع التضاريس. ويمكن استخدام معامل Scale متبوعًا بقيمة Offset معرَّفة بالبيانات لضبط الارتفاع. هذا الخيار غير متاح لطبقات الأشكال الهندسية ثنائية الأبعاد.
Absolute: يتجاهل ارتفاع التضاريس ويأخذ قيم Z مباشرة من المعالم لتحديد الارتفاع. ويمكن استخدام معامل Scale متبوعًا بقيمة Offset معرَّفة بالبيانات لضبط الارتفاع. أما لطبقات الأشكال الهندسية ثنائية الأبعاد (التي لا تحتوي على قيم Z)، فيمكن بدلًا من ذلك تعيين Base height (ارتفاع القاعدة) معرَّف بالبيانات.
Enable extrusion: يمكنك تعيين Height (الارتفاع) للتحكم في مدى امتداد المعالم رأسيًا فوق قاعدتها. ويفيد ذلك في الإشارة إلى أن طبقة أشكال هندسية ثنائية الأبعاد، مثل طبقة مضلعات لمساقط المباني، تمثل في الواقع كائنات ثلاثية الأبعاد.
Custom tolerance: يتيح لك تجاوز سماحية أخذ العينات العامة المحددة في إعدادات المقطع الجانبي للارتفاع، خصيصًا لهذه الطبقة المتجهية. عند تفعيله، يمكنك ضبط Tolerance التي تحدد كيفية أخذ عينات الطبقة على امتداد خط المقطع. ويفيد ذلك عندما تحتاج إلى أخذ عينات أدق أو أخشن من القيمة العامة الافتراضية، على سبيل المثال لتحسين الأداء أو الدقة للأشكال الهندسية المعقدة.
Elevation Binding: لا يكون ذا صلة إلا عند الجمع بين خيار Elevation clamping يعتمد على التضاريس وطبقة خطوط أو مضلعات، ويتحكم هذا الخيار في كيفية تعيين ارتفاع المعلم بالنسبة إلى ارتفاع التضاريس. ويمكن أخذ عينات التضاريس:
عند Centroid (المركز الهندسي) للمعلم، مع إضافة ارتفاع المركز الهندسي إلى قيمة z لكل رأس
عند كل Vertex (رأس) على حدة قبل إضافته إلى قيمة z للرأس
Profile Chart Appearance: يتحكم في كيفية عرض المعالم عند رسم مخطط المقطع الجانبي. ويتوفر نمطان رئيسيان لـ Interpretation (التفسير):
بوصفها Individual features: يأخذ عينات من المواضع المنفصلة التي يتقاطع فيها خط المقطع العرضي مع المعالم المتجهية. ويمكن تمثيل هذا التقاطع كنقطة أو خط أو سطح بحسب نوع الطبقة وما إذا كان البثق مطبقًا.
عند تفعيل Respect layer symbology، تُعرض المعالم على مخطط المقطع الجانبي بـ تنسيق الطبقة المقابل لها (مما يتيح مثلًا ظهور الفئات المصنفة على مخطط المقطع). وإذا لم يتطابق نوع رمز المقطع مع أنواع رموز أداة الرسم الخاصة بالطبقة، يُطبَّق لون الرمز فقط من أداة الرسم على رمز المقطع.
بحسب إعدادات الطبقة، يمكن تمثيل رموز المقطع بنمط مخصص باستخدام:
نمط العلامة: لمعالم النقاط والخطوط غير المبثوقة، ولمعالم المضلعات غير المبثوقة التي يلمسها خط المقطع
نمط الخط: لمعالم النقاط والخطوط المبثوقة، ولمعالم المضلعات غير المبثوقة التي يتقاطع معها خط المقطع
بوصفها Continuous Surface (e.g. contours): يُعرض مخطط الارتفاع كسطح بدلًا من معالم منفصلة، وذلك بوصل نتائج الارتفاع المأخوذة كعينات في خط متصل. ويمكن أن يحسّن هذا التمثيل البصري، وهو مصمم للطبقات المتجهية التي تمثل سطح ارتفاع متصلًا، مثل خطوط الكنتور أو نقاط الارتفاع المسوحة. ويمكن تعيين Style (نمط) المقطع على أنه:
يتيح التبويب Dependencies التصريح باعتماديات البيانات بين الطبقات. وتنشأ اعتمادية البيانات عندما قد يؤدي تعديل البيانات في طبقة ما، لا عن طريق تعامل مباشر من المستخدم، إلى تعديل بيانات طبقات أخرى. ومثال ذلك عندما يُحدَّث الشكل الهندسي لطبقة بواسطة مُشغّل (trigger) في قاعدة البيانات أو بسكربت PyQGIS مخصص بعد تعديل الشكل الهندسي لطبقة أخرى.
في التبويب Dependencies، يمكنك تحديد أي طبقات قد تغيّر البيانات في الطبقة الحالية من الخارج. ويتيح التحديد الصحيح للطبقات المعتمَد عليها لـ QGIS إبطال ذاكرة التخزين المؤقت لهذه الطبقة عند تغيير الطبقات المعتمَد عليها.
بحسب الترميز المطبق على الطبقة، قد ينتهي بك الأمر إلى عدة مدخلات في مفتاح الخريطة، ليس بالضرورة أن يكون عرضها مقروءًا أو مفيدًا. ويساعدك الخيار Legend placeholder image على تحديد صورة بديلة تُعرض في كل من لوحة Layers ومفتاح الخريطة في تخطيط الطباعة.
Show label legend: يعرض لمحات عن إعدادات التسميات المختلفة كمدخلات في مفاتيح الخريطة. ويُعرض نمط التسمية معاينةً مع الوصف.
Text on symbols: قد يكون من المفيد في بعض الحالات إضافة معلومات إضافية إلى الرموز في مفتاح الخريطة. ومن خلال هذا الإطار، يمكنك أن تُسند إلى أي رمز مستخدم في ترميز الطبقة نصًا يُعرض فوق الرمز، في كل من لوحة Layers ومفتاح الخريطة في تخطيط الطباعة. ويتم هذا الربط بكتابة كل نص بجانب الرمز في عنصر واجهة الجدول، أو بتعبئة الجدول باستخدام الزر Set Labels from Expression. ويُتحكم في مظهر النص من خلال عناصر واجهة اختيار الخط واللون في الزر Text Format.
شكل 12.69 تعيين نص على الرموز (يسارًا) وعرضه في لوحة Layers (يمينًا)¶
قائمة بعناصر الواجهة التي يمكنك تضمينها داخل شجرة الطبقات في لوحة الطبقات. والفكرة هي توفير طريقة للوصول السريع إلى بعض الإجراءات التي تُستخدم كثيرًا مع الطبقة (ضبط الشفافية، الترشيح، التحديد، النمط أو غير ذلك...).
يوفر QGIS افتراضيًا عنصر واجهة الشفافية، لكن يمكن توسيع ذلك بواسطة إضافات تسجّل عناصر الواجهة الخاصة بها وتُسند إجراءات مخصصة إلى الطبقات التي تديرها.
يتكون التبويب QGIS Server من الأقسام Description و Attribution و Metadata URL و Legend URL.
من القسم Description، يمكنك تغيير Short name (الاسم المختصر) المستخدم للإشارة إلى الطبقة في الطلبات (لمعرفة المزيد عن الأسماء المختصرة، اقرأ الاسم المختصر). ويمكنك أيضًا إضافة أو تحرير Title (عنوان)، و WFS Title بديل، و Abstract (ملخص) للطبقة، أو تعريف Keyword list (قائمة كلمات مفتاحية) هنا. ويمكن استخدام قوائم الكلمات المفتاحية هذه في فهرس بيانات وصفية (metadata catalog). وإذا أردت استخدام عنوان من ملف بيانات وصفية بصيغة XML، فعليك إدخال رابط في الحقل Data URL.
استخدم Attribution للحصول على بيانات السمات من فهرس بيانات وصفية بصيغة XML.
في Metadata URL، يمكنك إضافة المسارات العامة إلى فهرس البيانات الوصفية بصيغة XML. وستُحفظ هذه المعلومات في ملف مشروع QGIS للجلسات اللاحقة، وسيستخدمها QGIS Server.
في القسم Legend URL، يمكنك إدخال عنوان URL لصورة مفتاح الخريطة في حقل العنوان. ويمكنك استخدام القائمة المنسدلة Format لتطبيق الصيغة المناسبة للصورة. والصيغ المدعومة حاليًا هي png و jpg و jpeg.
شكل 12.70 تبويب QGIS Server في نافذة حوار خصائص الطبقات المتجهية¶
تؤثر الخيارات في القسم Automatic Fixes مباشرة في رؤوس أي شكل هندسي يُضاف أو يُعدَّل. فإذا فُعّل الخيار Remove duplicate nodes، يُزال أي رأسين متتاليين لهما الإحداثيات نفسها تمامًا. وإذا عُيّنت Geometry precision (دقة الشكل الهندسي)، تُقرَّب جميع الرؤوس إلى أقرب مضاعف لدقة الشكل الهندسي المهيأة. ويتم التقريب في نظام الإحداثيات المرجعي للطبقة. ولا تُقرَّب قيم Z و M. ومع كثير من أدوات الخريطة، تظهر شبكة على اللوحة أثناء الرقمنة.
شكل 12.72 تحريك الرأس العلوي يلتقط جميع الرؤوس إلى الشبكة¶
في القسم Geometry checks، يمكن تفعيل عمليات تحقق إضافية لكل شكل هندسي على حدة. وفور أي تعديل على الشكل الهندسي، يُبلَّغ المستخدم بإخفاقات هذه الفحوص في لوحة Geometry validation. وما دام أحد الفحوص يفشل، فلا يمكن حفظ الطبقة. ويُجري الفحص Is valid فحوص صلاحية أساسية مثل التقاطع الذاتي في الأشكال الهندسية.
في القسم Topology checks، يمكن تفعيل فحوص تحقق طوبولوجية إضافية. وتُنفَّذ فحوص الطوبولوجيا عندما يحفظ المستخدم الطبقة. ويُبلَّغ عن أخطاء الفحص في لوحة Geometry validation. وما دامت أخطاء التحقق موجودة، فلا يمكن حفظ الطبقة. وتُنفَّذ فحوص الطوبولوجيا في منطقة المستطيل المحيط بالمعالم المعدَّلة. ونظرًا لاحتمال وجود معالم أخرى في المنطقة نفسها، يُبلَّغ عن الأخطاء الطوبولوجية المتعلقة بهذه المعالم إلى جانب الأخطاء الناتجة في جلسة التحرير الحالية.
خيار فحص الطوبولوجيا
توضيح
يتحقق الفحص Gap من وجود فجوات بين المضلعات المتجاورة.
يتحقق الفحص Overlap من وجود تداخلات بين المضلعات المتجاورة.
يتحقق الفحص Missing vertex من الحدود المشتركة للمضلعات المتجاورة التي يفتقد فيها أحد الحدين رأسًا موجودًا في الحد الآخر.
يكون من المرغوب أحيانًا الإبقاء على فجوات داخل منطقة في طبقة مضلعات مغطاة بالكامل بالمضلعات فيما عدا ذلك. فعلى سبيل المثال، قد تحتوي طبقة استخدامات الأراضي على ثقوب مقبولة للبحيرات. ويمكن تعريف مناطق تُتجاهل في فحص الفجوات. ونظرًا لأن الفجوات داخل هذه المناطق مسموح بها، فسنشير إليها بمناطق Allowed Gaps (الفجوات المسموح بها).
في خيارات فحوص الفجوات ضمن Allowed Gaps، يمكن تهيئة Allowed Gaps layer (طبقة الفجوات المسموح بها).
كلما نُفّذ فحص الفجوات، لا يُبلَّغ عن الفجوات المغطاة بمضلع واحد أو أكثر في Allowed Gaps Layer بوصفها أخطاء طوبولوجية.
يمكن أيضًا تهيئة Buffer (نطاق عازل) إضافي. ويُطبَّق هذا النطاق العازل على كل مضلع في Allowed Gaps Layer. وهذا يجعل الاختبارات أقل تأثرًا بالتغييرات الصغيرة في الخطوط الخارجية عند حدود الفجوات.
عند تفعيل Allowed Gaps، يتوفر زر إضافي (Add Allowed Gap) لأخطاء الفجوات المكتشفة في لوحة التحقق من الأشكال الهندسية، حيث يُبلَّغ عن الفجوات أثناء الرقمنة. وعند الضغط على الزر Add Allowed Gap، يُدرج مضلع جديد بالشكل الهندسي للفجوة المكتشفة في Allowed Gaps Layer. وهذا يتيح وسم الفجوات بسرعة على أنها مسموح بها.
تُستدعى لوحة Geometry Validation عندما يجد أي من فحوص الرقمنة المذكورة أعلاه خطأً. وتوفر لك النافذة قائمة بالأخطاء ووصفها، ويمكنك تصفح القائمة باستخدام أسهم لوحة المفاتيح أو الأسهم المخصصة.
ستحتاج إلى معالجة جميع المشكلات قبل أن تتمكن من حفظ التعديلات على الطبقة. وللقيام بذلك: