3.2. الدرس: التسميات

يمكن إضافة التسميات إلى الخريطة لعرض أي معلومات عن كائن ما. يمكن أن ترتبط التسميات بأي طبقة متجهية. وتعتمد هذه التسميات في محتواها على البيانات الوصفية للطبقة.

هدف هذا الدرس: تطبيق تسميات مفيدة وجميلة المظهر على طبقة.

3.2.1. ★☆☆ تابع معنا: استخدام التسميات

أولًا، تأكد من أن الزر labelingSingle ظاهر في الواجهة الرسومية:

  1. انتقل إلى عنصر القائمة View ► Toolbars

  2. تأكد من وجود علامة اختيار بجوار العنصر Label Toolbar. إن لم تكن موجودة، فانقر على العنصر Label Toolbar لتفعيله.

  3. انقر على الطبقة places في لوحة Layers حتى تصبح مظللة

  4. انقر على زر شريط الأدوات labelingSingle لفتح التبويب Labels في لوحة Layer Styling

  5. بدّل من No Labels إلى labelingSingle Single Labels

    ستحتاج إلى اختيار الحقل من البيانات الوصفية الذي سيُستخدم للتسميات. في الدرس السابق، قررت أن الحقل name هو الأنسب لهذا الغرض.

  6. اختر name من قائمة Value:

    ../../../_images/select_label_with.png
  7. انقر على Apply

يجب أن تحتوي الخريطة الآن على تسميات كهذه:

../../../_images/first_place_names.png

3.2.2. ★☆☆ تابع معنا: تغيير خيارات التسمية

بحسب الأنماط التي اخترتها لخريطتك في الدروس السابقة، قد تجد أن التسميات غير منسقة بشكل مناسب، فهي إما متداخلة أو بعيدة جدًا عن علامات نقاطها.

ملاحظة

استخدمت أعلاه الزر labelingSingle في Label Toolbar لفتح لوحة Layer Styling. وكما هو الحال مع Symbology، تتوفر خيارات التسمية نفسها عبر لوحة Layer Styling ونافذة الحوار Layer Properties كلتيهما. ستستخدم هنا نافذة الحوار Layer Properties.

  1. افتح نافذة الحوار Layer Properties بالنقر المزدوج على الطبقة places

  2. اختر التبويب labelingSingle Labels

  3. تأكد من تحديد Text في قائمة الخيارات على اليسار، ثم حدّث خيارات تنسيق النص لتطابق الموضحة هنا:

    ../../../_images/label_formatting_options.png
  4. انقر على Apply

    قد يكون ذلك الخط أكبر وأكثر ألفة للمستخدمين، لكن وضوحه يظل معتمدًا على الطبقات المرسومة تحته. لحل هذه المشكلة، لنلقِ نظرة على الخيار Buffer.

  5. اختر Buffer من قائمة الخيارات على اليسار

  6. فعّل مربع الاختيار بجوار Draw text buffer، ثم اختر الخيارات لتطابق الموضحة هنا:

    ../../../_images/buffer_options.png
  7. انقر على Apply

    سترى أن هذا يضيف هالة ملونة أو حدًّا حول تسميات الأماكن، مما يسهّل تمييزها على الخريطة:

    ../../../_images/buffer_results.png

    يمكننا الآن معالجة موضع التسميات بالنسبة إلى علامات نقاطها.

  8. اختر Placement من قائمة الخيارات على اليسار

  9. اختر Around point وغيّر قيمة Distance إلى 2.0 مليمتر:

    ../../../_images/offset_placement_settings.png
  10. انقر على Apply

    سترى أن التسميات لم تعد متداخلة مع علامات نقاطها.

3.2.3. ★★☆ تابع معنا: استخدام التسميات بدلًا من ترميز الطبقة

في حالات كثيرة، لا يلزم أن يكون موقع النقطة محددًا بدقة كبيرة. على سبيل المثال، تشير معظم النقاط في الطبقة places إلى بلدات أو ضواحٍ كاملة، والنقطة المحددة المرتبطة بهذه المعالم ليست بتلك الدقة على مقياس كبير. بل إن إعطاء نقطة محددة أكثر من اللازم يربك قارئ الخريطة في أحيان كثيرة.

على سبيل المثال: على خريطة للعالم، قد تقع النقطة المعطاة للاتحاد الأوروبي في مكان ما في بولندا مثلًا. وقد يبدو لقارئ الخريطة الذي يرى نقطة مسمّاة European Union في بولندا أن عاصمة الاتحاد الأوروبي تقع إذن في بولندا.

لذا، لمنع هذا النوع من سوء الفهم، من المفيد غالبًا إلغاء تفعيل رموز النقاط واستبدالها بالكامل بالتسميات.

في QGIS، يمكنك القيام بذلك بتغيير موضع التسميات بحيث تُرسم مباشرة فوق النقاط التي تشير إليها.

  1. افتح التبويب labelingSingle Labels في نافذة الحوار Layer Properties للطبقة places

  2. اختر الخيار Placement من قائمة الخيارات

  3. انقر على الزر Offset from point

    سيُظهر هذا خيارات Quadrant التي يمكنك استخدامها لضبط موضع التسمية بالنسبة إلى علامة النقطة. في هذه الحالة، نريد أن تكون التسمية في مركز النقطة، لذا اختر الربع الأوسط:

    ../../../_images/quadrant_offset_options.png
  4. أخفِ رموز النقاط بتحرير Symbology الطبقة كالمعتاد، وضبط حجم Marker على 0.0:

    ../../../_images/hide_point_marker.png
  5. انقر على Apply وسترى هذه النتيجة:

    ../../../_images/hide_point_marker_results.png

إذا صغّرت عرض الخريطة، فسترى أن بعض التسميات تختفي عند المقاييس الأكبر لتجنب التداخل. أحيانًا يكون هذا ما تريده عند التعامل مع مجموعات بيانات تحتوي على نقاط كثيرة، لكنك في أحيان أخرى ستفقد معلومات مفيدة بهذه الطريقة. هناك إمكانية أخرى للتعامل مع حالات كهذه، سنتناولها في تمرين لاحق من هذا الدرس. أما الآن، فصغّر العرض وانقر على الزر showUnplacedLabel في شريط الأدوات وانظر ماذا يحدث.

3.2.4. ★★☆ جرّب بنفسك: تخصيص التسميات

  • أعد ضبط إعدادات التسمية والرمز لتكون هناك علامة نقطة وإزاحة للتسمية قدرها 2.0 مليمتر.

  • اضبط الخريطة على مقياس الرسم 1:100000. يمكنك القيام بذلك بكتابته في المربع Scale في Status Bar. عدّل تسمياتك لتكون مناسبة للعرض بهذا المقياس.

3.2.5. ★★☆ تابع معنا: تسمية الخطوط

الآن بعد أن عرفت كيف تعمل التسميات، هناك مشكلة إضافية. تسمية النقاط والمضلعات سهلة، لكن ماذا عن الخطوط؟ إذا سمّيتها بالطريقة نفسها التي سمّيت بها النقاط، فستبدو نتائجك على هذا النحو:

../../../_images/bad_street_labels.png

سنعيد الآن تنسيق تسميات الطبقة roads لتكون سهلة الفهم.

  1. أخفِ الطبقة places حتى لا تشتت انتباهك

  2. فعّل labelingSingle Single Labels للطبقة roads كما فعلت أعلاه للطبقة places

  3. اضبط Size الخط على 10 حتى ترى مزيدًا من التسميات

  4. كبّر العرض على منطقة بلدة Swellendam

  5. في التبويب Placement ضمن التبويب Labels، اختر الإعدادات التالية:

    ../../../_images/street_label_settings.png

    ستجد على الأرجح أن تنسيق النص استخدم القيم الافتراضية، وأن التسميات نتيجةً لذلك صعبة القراءة جدًا. حدّث Text لاستخدام Color رمادي داكن أو أسود، و Buffer لاستخدام Color أصفر فاتح.

    ستبدو الخريطة على هذا النحو تقريبًا، بحسب مقياس الرسم:

    ../../../_images/street_label_formatted.png

    سترى أن بعض أسماء الطرق تظهر أكثر من مرة، وهذا ليس ضروريًا دائمًا. لمنع حدوث ذلك:

  6. في التبويب Labels من نافذة الحوار Layer Properties، اختر الخيار Rendering وحدّد Merge connected lines to avoid duplicate labels كما هو موضح:

    ../../../_images/merge_lines_option.png
  7. انقر على OK

    من الوظائف المفيدة الأخرى منع رسم التسميات للمعالم القصيرة جدًا التي لا تستحق الملاحظة.

  8. في اللوحة Rendering نفسها، اضبط قيمة Suppress labeling of features smaller than ... على 5.00 mm ولاحظ النتائج عند النقر على Apply

    جرّب أيضًا إعدادات Placement مختلفة. كما رأينا سابقًا، الخيار Horizontal ليس فكرة جيدة في هذه الحالة، لذا لنجرّب الخيار Curved بدلًا منه.

  9. اختر الخيار Curved في اللوحة Placement من التبويب Labels

إليك النتيجة:

../../../_images/final_street_labels.png

كما ترى، يخفي هذا بعض التسميات التي كانت ظاهرة سابقًا، بسبب صعوبة جعل بعضها يتبع خطوط الشوارع الملتوية مع بقائها مقروءة. لكنه يجعل تسميات أخرى أكثر فائدة بكثير لأنها تتبع الطرق بدلًا من أن تطفو في الفراغ بينها. يمكنك أن تقرر أي هذه الخيارات تستخدم، بحسب ما تراه أكثر فائدة أو أفضل مظهرًا.

3.2.6. ★★★ تابع معنا: الإعدادات المعرّفة بالبيانات

  1. ألغِ تفعيل التسميات للطبقة roads

  2. أعد تفعيل التسميات للطبقة places

  3. افتح جدول البيانات الوصفية للطبقة places عبر الزر openTable

    يحتوي على حقل واحد يهمنا الآن: place الذي يحدد نوع المنطقة الحضرية لكل سجل. يمكننا استخدام هذه البيانات للتأثير في أنماط التسميات.

  4. انتقل إلى اللوحة Text في لوحة Labels للطبقة places

  5. انقر على الزر dataDefine بجوار زر النص المائل أسفل Style واختر Edit... لفتح Expression String Builder:

    ../../../_images/expression_string_builder.png
  6. تحت Fields and Values، انقر نقرًا مزدوجًا على place ثم انقر على All Unique. سيعرض هذا جميع القيم الفريدة للحقل place في هذه الطبقة. أضف = في محرر النص ثم انقر نقرًا مزدوجًا على town.

    أو بدلًا من ذلك، يمكنك كتابة "place" = 'town' مباشرة في محرر النص.

  7. انقر على OK مرتين:

    ../../../_images/expression_builder_settings.png

لاحظ أن تسميات جميع الأماكن التي يطابق حقلها place القيمة town تُعرض بخط مائل.

../../../_images/italic_label_result.png

3.2.7. ★★★ جرّب بنفسك: استخدام الإعدادات المعرّفة بالبيانات

ملاحظة

نقفز هنا إلى الأمام قليلًا لعرض بعض إعدادات التسمية المتقدمة. في المستوى المتقدم، يُفترض أنك تعرف معنى ما يلي. إن لم تكن تعرفه، فلا تتردد في تخطي هذا القسم والعودة إليه لاحقًا بعد أن تكون قد درست المواد اللازمة.

  1. افتح جدول البيانات الوصفية للطبقة places

  2. ادخل وضع التحرير بالنقر على الزر toggleEditing

  3. أضف عمودًا جديدًا باستخدام الزر newAttribute

  4. اضبطه على هذا النحو:

    ../../../_images/font_size_column.png
  5. استخدم هذا لضبط أحجام خطوط مخصصة لكل نوع مختلف من الأماكن (كل مفتاح في الحقل place)

3.2.8. ★★★ مزيد من الإمكانيات في التسميات

لا يمكننا تغطية كل خيار في هذه الدورة، لكن اعلم أن التبويب Label يحتوي على وظائف مفيدة أخرى كثيرة. يمكنك ضبط الرسم المعتمد على مقياس الرسم، وتغيير أولوية رسم التسميات في طبقة، وضبط كل خيار من خيارات التسمية باستخدام البيانات الوصفية للطبقة. بل يمكنك ضبط الدوران وموضع XY وخصائص أخرى للتسمية (إذا كانت لديك حقول بيانات وصفية مخصصة لهذا الغرض)، ثم تحرير هذه الخصائص باستخدام الأدوات المجاورة للزر الرئيسي Layer Labeling Options:

labelingSingle showPinnedLabels pinLabels showHideLabels moveLabel rotateLabel changeLabelProperties (أدوات التسميات)

(ستكون هذه الأدوات مفعّلة إذا كانت حقول البيانات الوصفية المطلوبة موجودة وكنت في وضع التحرير.)

لا تتردد في استكشاف مزيد من إمكانيات نظام التسميات.

3.2.9. الخلاصة

تعلّمت كيفية استخدام البيانات الوصفية للطبقة لإنشاء تسميات ديناميكية. يمكن لهذا أن يجعل خريطتك أغنى بالمعلومات وأكثر أناقة بكثير!

3.2.10. ما التالي؟

الآن بعد أن عرفت كيف يمكن للبيانات الوصفية أن تُحدث فرقًا مرئيًا في خريطتك، ما رأيك في استخدامها لتغيير ترميز الكائنات نفسها؟ هذا هو موضوع الدرس التالي!