14.6. الدرس: إنشاء خرائط تفصيلية باستخدام أداة الأطلس (Atlas)

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

هدف هذا الدرس: تعلّم استخدام أداة الأطلس في QGIS لتوليد خرائط تفصيلية قابلة للطباعة تساعد في أعمال الجرد الميداني.

14.6.1. ★☆☆ تابع معنا: تجهيز تخطيط الطباعة

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

  1. افتح مشروع QGIS من الدرس السابق forest_inventory.qgs. ينبغي أن تكون لديك الطبقات التالية على الأقل:

    • forest_stands_2012 (بشفافية 50%، وتعبئة خضراء، وخطوط حدود بلون أخضر أغمق)

    • systematic_plots_clip

    • rautjarvi_aerial

  2. احفظ المشروع باسم جديد هو map_creation.qgs.

لإنشاء خريطة قابلة للطباعة، تذكّر أنك تستخدم Layout Manager:

  1. افتح Project ► layoutManager Layout Manager....

  2. في نافذة الحوار Layout manager:

    1. تحت New from template، اضغط على الزر Create... بجانب العنصر Empty layout

    2. سمِّ تخطيط الطباعة forest_map.

    3. اضغط على OK. يُنشأ تخطيط طباعة جديد ويُفتح، ويعرض ورقة فارغة.

  3. في نافذة تخطيط الطباعة، تأكّد من ضبط الخصائص لورقة بحجم A4:

    1. انقر بزر الفأرة الأيمن فوق الورقة واختر Page properties. تُفتح اللوحة Page properties على الجانب الأيمن من التخطيط.

    2. تحقّق من أن Size هو A4.

    3. تحقّق من أن Orientation هو Landscape.

  4. فعّل التبويب Layout بجانب اللوحة Page properties واضبط Export resolution على 300 dpi.

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

  1. في التبويب Layout وسّع المنطقة Guides and Grid.

  2. تحقّق من أن Grid spacing مضبوط على 10 mm وأن Snap tolerance مضبوط على 5 px.

عليك تفعيل استخدام الشبكة:

  1. افتح القائمة View.

  2. فعّل Show grid.

  3. فعّل Snap to grid.

  4. لاحظ أن خيارات استخدام Guides مفعّلة افتراضيًا، مما يتيح لك رؤية خطوط إرشادية عند تحريك العناصر في التخطيط.

  5. يمكنك الآن البدء بإضافة العناصر إلى التخطيط. أضف أولًا عنصر خريطة لتتمكن من مراجعة مظهر لوحة الخريطة أثناء إجراء التغييرات على ترميز الطبقات:

    1. انقر على الزر addMap Add Map.

    2. انقر واسحب مستطيلًا على اللوحة بحيث تشغل الخريطة معظمها.

    ../../../_images/composer_1.png

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

14.6.2. ★☆☆ تابع معنا: إضافة خريطة خلفية

اترك التخطيط مفتوحًا لكن ارجع إلى الخريطة. لنُضف بعض بيانات الخلفية وننشئ بعض الأنماط بحيث يكون محتوى الخريطة واضحًا قدر الإمكان.

  1. أضف الطبقة الشبكية للخلفية basic_map.tif الموجودة في المجلد exercise_data\forestry\.

  2. إذا طُلب منك، فاختر نظام الإحداثيات المرجعي ETRS89 / ETRS-TM35FIN للطبقة الشبكية.

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

  3. كبّر الآن إلى قطع العيّنات بحيث ترى نحو أربعة أو خمسة صفوف فقط من القطع.

الترميز الحالي لقطع العيّنات ليس الأفضل:

../../../_images/plots_zoom1-2.png

في التمارين السابقة كان النطاق العازل الأبيض للتسميات مناسبًا فوق الصورة الجوية، أما الآن وقد أصبحت صورة الخلفية بيضاء في معظمها فبالكاد يمكنك رؤية التسميات. لكن كيف تبدو في تخطيط الطباعة؟ لنتحقق من ذلك:

  1. انتقل إلى نافذة تخطيط الطباعة.

  2. استخدم الزر select Select/Move item لتحديد عنصر الخريطة في التخطيط.

  3. انتقل إلى التبويب Item properties.

  4. انقر على setToCanvasExtent Set map extent to match main canvas extent.

  5. إذا احتجت إلى تحديث العنصر، فانقر على refresh Update map preview.

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

14.6.3. ★☆☆ جرّب بنفسك: تغيير ترميز الطبقات

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

../../../_images/plots_zoom2_symbology.png

ستستخدم لاحقًا الترميز الأخضر للطبقة forest_stands_2012. وللاحتفاظ به والحصول على عرض لها يُظهر حدود الأحراج فقط:

  1. انقر بزر الفأرة الأيمن على forest_stands_2012 واختر Duplicate

  2. تحصل على طبقة جديدة باسم forest_stands_2012 copy يمكنك استخدامها لتعريف نمط مختلف، مثلًا دون تعبئة وبحدود حمراء.

    أصبح لديك الآن عرضان مختلفان للأحراج، ويمكنك أن تقرر أيهما تعرض في خريطتك التفصيلية.

  3. ارجع إلى نافذة تخطيط الطباعة كثيرًا لترى كيف ستبدو الخريطة. لأغراض إنشاء الخرائط التفصيلية، أنت تبحث عن ترميز يبدو جيدًا لا عند مقياس رسم منطقة الغابة بأكملها (الصورة اليسرى أدناه) بل عند مقياس رسم أقرب (الصورة اليمنى أدناه). تذكّر استخدام refresh Update map preview و setToCanvasExtent Set map extent to match main canvas extent كلما غيّرت التكبير في خريطتك أو في التخطيط.

    ../../../_images/composer_2-3.png

14.6.4. ★☆☆ جرّب بنفسك: إنشاء قالب خريطة أساسي

  1. بعد أن تحصل على ترميز يرضيك، تصبح جاهزًا لإضافة مزيد من المعلومات إلى خريطتك المطبوعة. أضف العناصر التالية على الأقل:

    • العنوان.

    • شريط مقياس الرسم.

    • إطار شبكة لخريطتك.

    • الإحداثيات على جوانب الشبكة.

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

    ../../../_images/map_template1.png
  3. صدّر خريطتك كصورة وألقِ نظرة عليها.

    1. Layout ► Export as Image....

    2. استخدم مثلًا JPG format.

هكذا ستبدو الخريطة عند طباعتها.

14.6.5. ★☆☆ تابع معنا: إضافة مزيد من العناصر إلى تخطيط الطباعة

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

ستساعد خريطة النظرة العامة الفرق الميدانية على تحديد موقع الخريطة التفصيلية ضمن منطقة الغابة العامة:

  1. أضف عنصر خريطة آخر إلى اللوحة، أسفل نص العنوان مباشرةً.

  2. في التبويب Item properties، افتح القائمة المنسدلة Overview.

  3. اضبط Overview frame على Map 0. يُنشئ هذا مستطيلًا مظللًا فوق الخريطة الصغرى يمثّل الامتداد الظاهر في الخريطة الكبرى.

  4. فعّل أيضًا الخيار Frame بلون أسود و Thickness بقيمة 0.30.

../../../_images/more_elements1.png

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

  1. ارجع إلى الخريطة، لكن لا تغلق Print Layout.

  2. انقر بزر الفأرة الأيمن على الطبقة forest_stands_2012 ثم انقر على Zoom to Layer Extent.

  3. ألغِ تفعيل جميع الطبقات ما عدا basic_map و forest_stands_2012.

  4. وسّع الأداة Manage map themes في اللوحة Layers واختر Add theme.

  5. سمِّه basic_overview.

  6. ارجع إلى تخطيط الطباعة.

  7. مع تحديد الخريطة الصغيرة، انقر على Set map extent to match main canvas extent لضبط امتدادها على ما تراه في نافذة الخريطة.

  8. ثبّت عرض خريطة النظرة العامة بتفعيل Follow map theme واختيار basic_overview تحت Main properties.

أصبحت خريطة النظرة العامة الآن أقرب إلى ما توقعته ولن يتغير عرضها بعد الآن. لكن بالطبع لم تعد خريطتك التفصيلية تعرض حدود الأحراج ولا قطع العيّنات. لنصلح ذلك:

  1. انتقل إلى نافذة الخريطة مجددًا واختر الطبقات التي تريد إظهارها (systematic_plots_clip و forest_stands_2012 copy و Basic_map).

  2. كبّر مجددًا بحيث تظهر بضعة صفوف فقط من قطع العيّنات.

  3. ارجع إلى نافذة Print Layout.

  4. حدّد الخريطة الكبرى في تخطيطك.

  5. في Item properties انقر على Update preview و Set map extent to match main canvas extent.

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

لاحظ أيضًا أن خريطة النظرة العامة تعرض إطارًا مظللًا للامتداد الظاهر في الخريطة التفصيلية.

../../../_images/more_elements2.png

أصبح قالب خريطتك جاهزًا تقريبًا. أضف الآن مربعَي نص أسفل الخريطة، يحتوي أحدهما على النص 'Detailed map zone: ' والآخر على 'Remarks: '. ضعهما كما ترى في الصورة أعلاه.

يمكنك أيضًا إضافة سهم الشمال إلى خريطة النظرة العامة:

  1. اختر الأداة northArrow Add North Arrow.

  2. انقر واسحب مستطيلًا في الزاوية العلوية اليمنى من خريطة النظرة العامة.

  3. في Item properties فعّل SVG image

  4. تصفّح SVG Browser ► SVG Groups بحثًا عن صورة سهم.

  5. تحت Image rotation، فعّل Sync with map واختر Map 1 (خريطة النظرة العامة).

  6. غيّر حجم صورة السهم إلى حجم يبدو مناسبًا على الخريطة الصغيرة.

أصبح تخطيط الخريطة الأساسي جاهزًا، وتريد الآن الاستفادة من أداة الأطلس لتوليد ما تراه ضروريًا من الخرائط التفصيلية بهذا التنسيق.

14.6.6. ★☆☆ تابع معنا: إنشاء طبقة تغطية للأطلس

طبقة تغطية الأطلس هي مجرد طبقة متجهية ستُستخدم لتوليد الخرائط التفصيلية، خريطة واحدة لكل معلم في طبقة التغطية. ولتكوين فكرة عمّا ستفعله بعد ذلك، إليك مجموعة كاملة من الخرائط التفصيلية لمنطقة الغابة:

../../../_images/preview_atlas_results.png

يمكن أن تكون طبقة التغطية أي طبقة موجودة، لكن الأنسب عادةً إنشاء طبقة لهذا الغرض تحديدًا. لننشئ شبكة من المضلعات تغطي منطقة الغابة:

  1. في عرض الخريطة في QGIS، افتح Vector ► Research Tools ► vectorGrid Create grid.

  2. اضبط الأداة كما هو موضح في هذه الصورة:

    ../../../_images/coverage_polygons.png
  3. احفظ المخرجات باسم atlas_coverage.shp.

  4. رمّز الطبقة الجديدة atlas_coverage بحيث تكون المضلعات دون تعبئة.

تغطي المضلعات الجديدة منطقة الغابة بأكملها، وتعطيك فكرة عمّا ستحتويه كل خريطة (المُنشأة من كل مضلع).

../../../_images/atlas_coverage.png

14.6.7. ★☆☆ تابع معنا: إعداد أداة الأطلس

الخطوة الأخيرة هي إعداد أداة الأطلس:

  1. ارجع إلى تخطيط الطباعة.

  2. في اللوحة الموجودة على اليمين، انتقل إلى التبويب Atlas generation.

  3. اضبط الخيارات كما يلي:

    ../../../_images/atlas_settings.png

    يُخبر ذلك أداة الأطلس باستخدام المعالم (المضلعات) الموجودة في atlas_coverage محورًا لكل خريطة تفصيلية، فتُخرج خريطة واحدة لكل معلم في الطبقة. ويُخبر الخيار Hidden coverage layer الأطلسَ بعدم إظهار المضلعات في الخرائط الناتجة.

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

  1. حدّد عنصر الخريطة الأكبر (Map 0).

  2. انتقل إلى التبويب Item properties.

  3. في القائمة، فعّل Controlled by atlas.

  4. واضبط Margin around feature على 10%. سيكون امتداد العرض أكبر بنسبة 10% من المضلعات، مما يعني أن خرائطك التفصيلية ستتداخل بنسبة 10%.

    ../../../_images/controlled_by_atlas.png

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

  1. فعّل معاينات الأطلس باستخدام الزر atlas، أو عبر Atlas ► Preview Atlas إذا لم يكن شريط أدوات الأطلس ظاهرًا.

  2. يمكنك استخدام الأسهم في شريط أدوات الأطلس أو في القائمة Atlas للتنقل بين الخرائط التي ستُنشأ.

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

14.6.8. ★☆☆ تابع معنا: تحرير طبقة التغطية

إلى جانب إزالة مضلعات المناطق غير المهمة، يمكنك أيضًا تخصيص التسميات النصية في خريطتك لتُولَّد بمحتوى من Attribute table الخاص بطبقة التغطية:

  1. ارجع إلى عرض الخريطة.

  2. فعّل التحرير للطبقة atlas_coverage.

  3. حدّد المضلعات المحددة (باللون الأصفر) في الصورة أدناه.

  4. احذف المضلعات المحددة.

  5. أوقف التحرير واحفظ التعديلات.

../../../_images/remove_polygons.png

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

لا تحتوي طبقة التغطية التي تستخدمها بعدُ على معلومات مفيدة يمكنك استخدامها لتخصيص محتوى التسميات في خريطتك. الخطوة الأولى هي إنشاؤها؛ يمكنك مثلًا إضافة رمز منطقة لمساحات المضلعات وحقل يتضمن بعض الملاحظات التي ينبغي للفرق الميدانية أخذها في الاعتبار:

  1. افتح Attribute table للطبقة atlas_coverage.

  2. فعّل التحرير.

  3. استخدم الحاسبة calculateField لإنشاء الحقلين التاليين وتعبئتهما.

  4. أنشئ حقلًا باسم Zone من النوع Whole number (integer).

  5. في المربع Expression اكتب أو انسخ أو أنشئ @row_number.

  6. أنشئ حقلًا آخر باسم Remarks من النوع Text (string) وبعرض 255.

  7. في المربع Expression اكتب 'No remarks.'. سيضبط هذا القيمة الافتراضية لجميع المضلعات.

سيكون لدى مدير الغابة بعض المعلومات عن المنطقة التي قد تفيد عند زيارتها، مثل وجود جسر أو مستنقع أو موقع نوع محمي. يُرجَّح أن الطبقة atlas_coverage لا تزال في وضع التحرير؛ أضف النص التالي في الحقل Remarks للمضلعات المقابلة (انقر نقرًا مزدوجًا على الخلية لتحريرها):

  • للمنطقة Zone 2: Bridge to the North of plot 19. Siberian squirrel between p_13 and p_14.

  • للمنطقة Zone 6: Difficult to transit in swamp to the North of the lake.

  • للمنطقة Zone 7: Siberian squirrel to the South East of p_94.

  • أوقف التحرير واحفظ تعديلاتك.

أوشكت على الانتهاء؛ عليك الآن أن تُخبر أداة الأطلس بأنك تريد أن تستخدم بعض التسميات النصية المعلومات الموجودة في جدول البيانات الوصفية للطبقة atlas_coverage.

  1. ارجع إلى Print Layout.

  2. حدّد التسمية النصية التي تحتوي على Detailed map....

  3. اضبط حجم Font على 12.

  4. ضع المؤشر في نهاية النص داخل التسمية.

  5. في التبويب Item properties، داخل Main properties انقر على Insert or Edit an Expression....

  6. في Function list انقر نقرًا مزدوجًا على الحقل Zone تحت Field and Values.

  7. انقر على OK.

  8. ينبغي أن يُظهر النص داخل المربع في Item properties ما يلي: Detail map inventory zone: [% "Zone" %]. لاحظ أن [% "Zone" %] سيُستبدل بقيمة الحقل Zone للمعلم المقابل من الطبقة atlas_coverage.

  9. اختبر محتوى التسمية بالنظر إلى خرائط معاينة الأطلس المختلفة.

  10. افعل الشيء نفسه للتسميات ذات النص Remarks: باستخدام الحقل الذي يحتوي على معلومات المنطقة. يمكنك ترك سطر فارغ قبل إدخال التعبير. يمكنك رؤية النتيجة لمعاينة المنطقة 2 في الصورة أدناه:

    ../../../_images/preview_zone2.png
  11. استخدم معاينة الأطلس لتصفّح جميع الخرائط التي ستُنشئها قريبًا، واستمتع!

14.6.9. ★☆☆ تابع معنا: طباعة الخرائط

وأخيرًا وليس آخرًا، طباعة خرائطك أو تصديرها إلى ملفات صور أو ملفات PDF. يمكنك استخدام Atlas ► Export Atlas as Images... أو Atlas ► Export Atlas as PDF.... لا يعمل تنسيق التصدير SVG حاليًا بشكل صحيح وسيعطي نتيجة رديئة.

لنطبع الخرائط في ملف PDF واحد يمكنك إرساله إلى المكتب الميداني لطباعته:

  1. انتقل إلى التبويب Atlas generation في اللوحة اليمنى.

  2. تحت Output فعّل Single file export when possible. سيجمع هذا كل الخرائط في ملف PDF واحد، وإذا لم يكن هذا الخيار مفعّلًا فستحصل على ملف لكل خريطة.

  3. افتح Layout ► Export as PDF....

  4. احفظ ملف PDF باسم inventory_2012_maps.pdf في المجلد exercise_data\forestry\samplig\map_creation\.

  5. افتح ملف PDF للتحقق من أن كل شيء سار كما هو متوقع.

  6. يمكنك بالسهولة نفسها إنشاء صور منفصلة لكل خريطة (تذكّر إلغاء تفعيل إنشاء ملف واحد)، وهنا يمكنك رؤية الصور المصغّرة للصور التي ستُنشأ:

    ../../../_images/maps_as_images.png
  7. في Print Layout، اضغط على fileSave Save لحفظ تغييرات تخطيط الطباعة في المشروع. يحفظ هذا أيضًا ملف المشروع. يمكنك إعادة فتح المشروع في أي وقت وتشغيل الأطلس أو تحريره.

    يمكنك أيضًا حفظ خريطتك كقالب تخطيط باسم forestry_atlas.qpt في المجلد exercise_data\forestry\map_creation\. استخدم Layout ► Save as Template. ستتمكن من استخدام هذا القالب مرارًا في مشاريع أخرى.

  8. أغلق Print Layout والمشروع.

14.6.10. الخلاصة

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

14.6.11. ما التالي؟

في الدرس التالي، سترى كيف يمكنك استخدام بيانات LiDAR لإنشاء نموذج ارتفاع رقمي ثم استخدامه لتحسين وضوح بياناتك وخرائطك.