18.4. إنشاء تقرير

سيساعدك هذا القسم على إعداد تقرير في QGIS.

18.4.1. ما هو التقرير؟

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

في QGIS، يُعدّ Report امتدادًا لـ التخطيطات.

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

يمكن إنشاء تقرير باستخدام Project ► New Report أو من داخل Project ► Layout Manager.

ملاحظة

تتصرّف الخرائط في تقارير QGIS بالطريقة نفسها التي تتصرّف بها الخرائط في تخطيطات الطباعة والأطالس. سنركّز هنا على خصوصيات تقارير QGIS. للاطلاع على تفاصيل التعامل مع الخرائط، راجع الأقسام الخاصة بـ تخطيطات الطباعة و الأطالس.

18.4.2. البدء

في نافذة الحوار Layout Manager يمكن إنشاء تقرير من خلال New from template عبر اختيار الخيار Empty Report من القائمة المنسدلة والضغط على الزر Create....

في هذا المثال، نستخدم بعض الحدود الإدارية والأماكن المأهولة والموانئ والمطارات من مجموعة بيانات Natural Earth (1:10M).

../../../_images/project-1.png

باستخدام الأمر Project ► New Report ننشئ تقريرًا فارغًا. في البداية لا يوجد الكثير لنراه – فنافذة الحوار المعروضة تشبه كثيرًا مصمّم تخطيط الطباعة، باستثناء اللوحة Report Organizer على اليسار:

../../../_images/report-2.png

18.4.3. مساحة عمل تقرير التخطيط

يمكن أن تتكوّن تقارير QGIS من أقسام متعددة ومتداخلة. في تقريرنا الفارغ الجديد لا يوجد في البداية سوى قسم التقرير الرئيسي. الخياران الوحيدان لقسم التقرير هذا هما Include report header و Include report footer. إذا فعّلنا هذين الخيارين، فستُدرج ترويسة بوصفها الصفحة (أو الصفحات) الأولى في التقرير (يمكن أن تكون الأجزاء المنفردة من التقارير متعددة الصفحات عند الرغبة)، وستشكّل التذييلة الصفحة (أو الصفحات) الأخيرة. فعّل الترويسة (Include report header)، ثم اضغط على الزر Edit المجاور لها:

../../../_images/report_header.png

يحدث نتيجة لذلك أمران. أولًا، يظهر قلم تحرير بجوار Report في Report Organizer، للدلالة على أن قسم التقرير قيد التحرير حاليًا في المصمّم. كما نرى صفحة جديدة بعنوان صغير هو Report Header. تكون الصفحة افتراضيًا بالاتجاه الأفقي، لكن يمكن تغيير ذلك (وخصائص الصفحة الأخرى) بالنقر بزر الفأرة الأيمن على الصفحة واختيار Page properties. سيؤدي ذلك إلى إظهار التبويب Item properties للصفحة، ويمكن تحديد Size و Width و Height للصفحة وغير ذلك.

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

../../../_images/header.png

سننشئ أيضًا تذييلة بسيطة للتقرير بتفعيل الخيار Include report footer والضغط على Edit.

../../../_images/footer.png

قبل المتابعة، لنصدّر هذا التقرير ونرَ ما نحصل عليه. يتم التصدير من القائمة Report – وفي هذه الحالة نختار Export Report as PDF... لإخراج التقرير كاملًا إلى ملف PDF. وهذه هي النتيجة غير المبهرة كثيرًا – ملف PDF من صفحتين يتكوّن من الترويسة والتذييلة:

../../../_images/headerfooter.png

لنجعل الأمور أكثر إثارة. بالضغط على الزر symbologyAdd Add Section في Report Organizer تُعرض علينا خيارات لأقسام جديدة نضيفها إلى تقريرنا.

../../../_images/add_section.png

يوجد خياران: Static Layout Section و Field Group Section.

يمثّل Add Static Layout Section تخطيط متن واحدًا ثابتًا. ويمكن استخدامه لتضمين تخطيطات ثابتة في منتصف التقرير.

يكرّر Field Group Section تخطيط المتن الخاص به لكل معلم من معالم الطبقة. تُرتَّب المعالم حسب معلم التجميع المحدد (مع خيار للترتيب تصاعديًا/تنازليًا). إذا كان لقسم مجموعة الحقل أقسام فرعية (مثل قسم مجموعة حقل آخر بحقل مختلف)، فلن يتم التكرار إلا على المعالم ذات القيم الفريدة لمعلم المجموعة. وهذا يتيح إنشاء تقارير متداخلة.

سنضيف الآن Field Group Section إلى تقريرنا. في أبسط مستوياته، يمكنك اعتبار Field Group Section مكافئًا لـ أطلس الطباعة: تختار طبقة للتكرار عليها، وسيُدرج التقرير قسمًا لكل معلم يُعثر عليه. يكشف تحديد Field Group Section الجديد عن عدد من الإعدادات الجديدة المرتبطة به:

../../../_images/field_group.png

في هذه الحالة أعددنا مجموعة الحقل بحيث نكرّر على جميع الولايات من الطبقة Admin Level 1، باستخدام القيم من الحقل adm1name. تتوفر الخيارات نفسها لتضمين الترويسة والتذييلة، إلى جانب خيار جديد لتضمين body (متن) لهذا القسم. سنفعل ذلك ونحرّر المتن:

../../../_images/edit_group_body.png

يتكوّن متننا الآن من خريطة وتسمية تعرض اسم الولاية. لتضمين اسم الولاية، اخترنا Add Item ► Add Label وجعلنا النص معرَّفًا بالبيانات ضمن Main Properties بمساعدة Insert or Edit an Expression....

وكانت النتيجة التعبير التالي (name هو اسم السمة في الطبقة Admin Level 1 التي تحتوي على اسم الولاية):

[% "name" %]

ضُبطت الخريطة لتتبع معلم التقرير الحالي (بتفعيل Controlled by Report – تمامًا كما يتبع عنصر الخريطة في الأطلس معلم الأطلس الحالي عند تفعيل Controlled by Atlas):

../../../_images/controlledbyreport.png

لو مضينا قدمًا وصدّرنا تقريرنا الآن، لحصلنا على شيء كهذا:

../../../_images/report1.png

شكل 18.75 ترويسة التقرير، وصفحة لكل ولاية، وتذييلة التقرير.

إذن هو أطلس تقريبًا، لكن مع صفحة ترويسة وصفحة تذييلة.

لنجعل الأمور أكثر إثارة بإضافة قسم فرعي إلى مجموعة الولايات. نفعل ذلك أولًا بتحديد مجموعة الحقل Admin Level 1 في المنظِّم، ثم الضغط على الزر symbologyAdd Add Field وإضافة Field Group Section جديد:

../../../_images/subsection.png

عند التكرار على معالم Field Group Section، تُرشَّح المعالم لتطابق الحقل المحدِّد لمجموعتها الأم (adm1name في هذه الحالة). هنا، سيكرّر القسم الفرعي الذي أضفناه على الطبقة Populated Places، مع تضمين قسم متن لكل مكان يُصادَف. والسر هنا أن الطبقة Populated Places تحتوي على سمة بالاسم نفسه للحقل المحدِّد في الطبقة الأم، وهو adm1name، يوسم كل مكان بالولاية التي يقع ضمنها (إذا كنت محظوظًا فستكون بياناتك مهيكلة بهذا الشكل مسبقًا – وإلا فشغّل خوارزمية المعالجة Join Attributes by Location وأنشئ حقلك الخاص). عند تصدير هذا التقرير، سيأخذ QGIS الولاية الأولى من الطبقة Admin Level 1، ثم يكرّر على جميع Populated Places ذات قيمة adm1name المطابقة. وهذا ما نحصل عليه:

../../../_images/report3.png

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

وبالمثل، ستُدرج تذييلة مجموعة Populated Places بعد إدراج آخر مكان لكل ولاية.

إضافة إلى الأقسام الفرعية المتداخلة، يمكن أيضًا تضمين الأقسام الفرعية في التقرير بشكل متتالٍ. إذا أضفنا قسمًا فرعيًا ثانيًا إلى Admin Level 1 group للطبقة Airports، فإن تقريرنا (إذا كانت الطبقة Airports تحتوي على سمة adm1name يمكنها ربطها بالمجموعة الأم) سيسرد أولًا جميع الأماكن المأهولة لكل ولاية، تليها جميع المطارات ضمن تلك الولاية، قبل الانتقال إلى الولاية التالية.

../../../_images/report_consec.png

النقطة الأساسية هنا هي أن Airports group قسم فرعي من Admin Level 1 group – وليس من Populated Places group.

في هذه الحالة سيكون تقريرنا مهيكلًا على هذا النحو (لاحظ أن أعلام الولايات قد أُدرجت أيضًا - وطريقة إضافة صور خاصة بالمعالم بهذا الشكل موضّحة أدناه):

../../../_images/report_all_img.png

18.4.3.1. تضمين الصور في التقرير

يمكن أن تكون الصور مفيدة جدًا في التقارير، ويتيح QGIS الصور في الأجزاء الثابتة والديناميكية من التقرير على حد سواء. تُضاف الصور بالطريقة نفسها المتبعة في تخطيطات الطباعة القياسية، ولا يتطلب الأمر أكثر من ذلك بالنسبة للأجزاء الثابتة من التقرير (والصور الثابتة في الأجزاء الديناميكية).

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

يعتمد QGIS على أسماء الملفات المطلقة للصور في التقارير.

بالنسبة للصور الديناميكية، تضيف أولًا صورة إلى جزء المتن من المجموعة كالمعتاد. في Item properties للصورة، تضبط Image Source باستخدام الزر dataDefine Data defined override، ثم إما أن تختار سمة تحتوي على المسار المطلق للصور أو Edit... (لإدخال تعبير يولّد المسار المطلق للصورة).

فيما يلي مثال على تعبير يستخدم ضمّ السلاسل النصية لتحديد المسار المطلق للصور، باستخدام المجلد الذي يقع فيه ملف المشروع @project_path) وسمة (adm1name) يُولَّد منها اسم الملف (في هذه الحالة بتحويل السلسلة النصية في السمة adm1name إلى أحرف كبيرة وإلحاق '_flag.png' بها):

concat(@project_folder, '/naturalearth/pictures/' ,
       upper("adm1name"), '_flag.png')

هذا يعني أن الصور موجودة في المجلد الفرعي naturalearth/pictures ضمن مجلد ملف المشروع.

../../../_images/report_dynamic_picture.png

18.4.3.2. إبراز معلم التقرير الحالي في الخريطة

في التقرير أعلاه، تُبرَز معالم التقرير في الخرائط باستخدام التظليل (للولاية) والدوائر (للأماكن المأهولة). لإبراز معالم التقرير في الخرائط (إلى جانب وضعها في مركز الخرائط)، يجب أن تجعل النمط معرَّفًا بالبيانات باستخدام مقارنة بين @id و @atlas_featureid، كما هو الحال في الأطالس.

على سبيل المثال، إذا أردت استخدام خط / حدّ أسمك لمعلم التقرير مقارنة بالمعالم الأخرى، يمكنك جعل عرض الخط معرَّفًا بالبيانات:

if($id=@atlas_featureid, 2.0, 0.1)

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

if($id=@atlas_featureid, '#FF880088', '#88CCCCCC')

18.4.3.3. مزيد من مجموعات المستوى 1

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

../../../_images/report_flex.png

ينتج عن ذلك تصدير الجزء الأخير من تقريرنا على النحو التالي:

../../../_images/ports.png

18.4.4. إعدادات التصدير

عند تصدير تقرير (Report ► Export Report as Images... / SVG... / PDF...)، سيُطلب منك اسم ملف، ثم تُتاح لك فرصة ضبط إعدادات التصدير للحصول على أنسب مخرجات.

كما ترى، فإن التقارير في QGIS قوية ومرنة للغاية!

ملاحظة

اقتُبست المعلومات الحالية من مدوّنة North Road، Exploring Reports in QGIS 3.0 - the Ultimate Guide!