أكثر

ترشيح الميزات في طبقات أخرى من QGIS Atlas؟

ترشيح الميزات في طبقات أخرى من QGIS Atlas؟


أحاول استخدام أدوات QGIS Atlas لبناء خرائط "scattermaps" للطلاب ، أي. عرض المدرسة والطلاب الذين يرتادونها في 215 مدرسة.

طبقة المدارس هي طبقة التغطية ، ويقودهاSCHNUM(رقم المدرسة) القيمة. هذا يعمل بشكل جيد ، أي أنه يقود الصفحات بشكل صحيح.

ومع ذلك ، كيف يمكنني عرض ميزات فقط من طبقات أخرى ، في هذه الحالة طبقة نقطة الطالب ، التي تتطابق مع المقابلةSCHNUMقيمة الميزة الحالية في طبقة التغطية؟

أود أيضًا تبديل طبقة التغطية (المدارس) إلى "مخفية" واستخدام نفس الأسلوب لعرض المدرسة الحالية فقط من طبقة مدارس مكررة.

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

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


في الواقع ، أنت بحاجة إلى استخدام الرموز القائمة على القواعد لتحقيق ما تريد.

تحتاج إلى إنشاء قاعدة لما تريد إظهاره ، وقاعدة ELSE لجميع الآخرين.

في قاعدة ELSE ، قم بإلغاء تحديد خانة اختيار الرمز لجعله غير مرئي.

إخفاء المعالم الأخرى من طبقة التغطية

يمكن أن تكون قاعدة إظهار ميزة الأطلس الحالية فقط كما يلي:

$ id =atlas_featureid

ملاحظة: أعتقد أن متغير atlas_featureid هو صيغة 2.12. أعتقد أنه في الإصدار 2.8.x ستحتاج إلى استخدام دالة تسمى atlas_featureid $.

إخفاء المعالم خارج ميزة الأطلس الحالية

الوصفة هي نفسها كما في السابق ، قاعدة أخرى لإخفاء الميزات ، واحدة لإظهارها.

بالنسبة لسؤالك الخاص ، يبدو أن لديك سمة مشتركة تسمى SCHNUM. في هذه الحالة يمكن أن تكون القاعدة:

"Layers_field" = سمة (atlas_feature، 'cover_layer_field_name')

في حالتك الخاصة:

"SCHNUM" = سمة (atlas_feature، 'SCHNUM')

لاحظ الفرق بين كلا SCHNUM. الأول ، في علامات الاقتباس المزدوجة ، يمثل قيمة كل معلم طبقة حالية للحقل الذي يخزن رمز المدرسة. الثاني ، في علامات الاقتباس الفردية ، عبارة عن سلسلة باسم طبقة التغطية التي تخزن رمز المدرسة.

ملحوظة: مرة أخرى أعتقد أن متغيرatlas_feature شيء "جديد" ، وفي 2.8.x ستحتاج إلى استخدام الوظيفة $ atlas_feature


شاهد الفيديو: how to add coordinate grids to maps i QGIS