أكثر

الحصول على طبقة بالاسم في PyQGIS؟

الحصول على طبقة بالاسم في PyQGIS؟


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

كما أنني أشعر بالفضول فيما إذا كانت الإشارة إلى اسم طبقة معين في الكود سيؤدي إلى حدوث أي خطأ في التكرار على الرغم من وجود بعض الطبقات الأخرى؟

فيما يلي الرمز الخاص بي ، يرجى إخباري أين يجب علي إجراء التغييرات وماذا سيكون التغيير؟

if dist و centerCity: # QMessageBox.information (self.dlg، "info"، "both True") st = '"name" =  "+ centerCity +' " exp = QgsExpression (st) else: QMessageBox.warning ( self.dlg، "أدخل المسافة"، "أدخل المسافة وحاول مرة أخرى.") إرجاع #terminate the function layer = self.iface.activeLayer () it = layer.getFeatures (QgsFeatureRequest (exp)) feature = it.next () mbuf = feature.geometry (). المخزن المؤقت (dist، 2) iterFeat = layer.getFeatures () لـ f في iterFeat: geom2 = f.geometry () valTest = QgsGeometry.within (geom2، mbuf)

التحديث: 10.04.2018

استخدام QGIS 3.x يمكنك استعمال الmapLayersByNameطريقة منمشروع Qgsالفصل بهذه الطريقة:

الطبقات = QgsProject.instance (). mapLayersByName ('اسم الطبقة')

نظرًا لأنه يمكن أن يكون لديك عدة طبقات في QGIS بنفس الاسم في لوحة الطبقات ، فإن الطريقة أعلاه تمنحك قائمة بالطبقات المتطابقة.


ل QGIS 2.x:

ستحتاج فقط إلى التأكد من أن الطبقة الخاصة بك لها اسم يمكنك تمييزه عن الآخرين. بدلا منlayer = self.iface.activeLayer ()، فعل:

layer = None لـ lyr في QgsMapLayerRegistry.instance (). mapLayers (). قيم (): if lyr.name () == "YOUR_LAYER_NAME": layer = lyr break

إذا كنت لا تثق في اسم الطبقة (بعد كل شيء ، يمكن للمستخدم تغييره في أي وقت) ، يمكنك محاولة التحقق من مصدر الطبقة. إذا كانت الطبقة الخاصة بك هي Shapefile ، فيمكنك التحقق من المسار إلى Shapefile ، بهذه الطريقة:

layer = لا شيء لـ lyr في QgsMapLayerRegistry.instance (). mapLayers (). القيم (): if lyr.source () == "/path/to/shapefile.shp": layer = lyr break

تحرير: كما أشارJakob في التعليقات ، يمكنك كتابة الكتلة الأولى في سطر واحد:

layerList = QgsMapLayerRegistry.instance (). mapLayersByName ("YOUR_LAYER_NAME")

أو:

layerList = [lyr لـ lyr في QgsMapLayerRegistry.instance (). mapLayers (). القيم () if lyr.name () == "YOUR_LAYER_NAME"]

على أي حال ، سوف تحتاج إلى التحقق من ذلكlayerListليس فارغًا قبل الوصول إلى عنصره الأول:

إذا layerList: layer = layerList [0]

لإنشاء مثيل طبقة متجه وإضافته إلى المشروع ، حدد معرّف مصدر بيانات الطبقة واسم الطبقة واسم الموفر:

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

بالنسبة لطبقة متجهية الحزمة الجيولوجية:

أسرع طريقة لفتح وعرض طبقة متجه في QGIS هي طريقة addVectorLayer () الخاصة بواجهة Qgis:

يؤدي هذا إلى إنشاء طبقة جديدة وإضافتها إلى مشروع QGIS الحالي (مما يجعلها تظهر في قائمة الطبقات) في خطوة واحدة. تقوم الوظيفة بإرجاع مثيل الطبقة أو لا شيء إذا تعذر تحميل الطبقة.

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

مكتبة OGR (ملف الشكل والعديد من تنسيقات الملفات الأخرى) - مصدر البيانات هو المسار إلى الملف:

لـ dxf (لاحظ الخيارات الداخلية في uri لمصدر البيانات):

قاعدة بيانات PostGIS - مصدر البيانات عبارة عن سلسلة تحتوي على جميع المعلومات اللازمة لإنشاء اتصال بقاعدة بيانات PostgreSQL.

يمكن لفئة QgsDataSourceUri إنشاء هذه السلسلة لك. لاحظ أنه يجب تجميع QGIS مع دعم Postgres ، وإلا فلن يكون هذا المزود متاحًا:

تمنع الوسيطة False التي تم تمريرها إلى uri.uri (False) توسيع معلمات تكوين المصادقة ، إذا لم تكن تستخدم أي تكوين للمصادقة ، فلن تحدث هذه الوسيطة أي فرق.

CSV أو ملفات نصية أخرى محددة - لفتح ملف بفاصلة منقوطة كمحدد ، مع الحقل «x» للإحداثيات X والحقل «y» للإحداثيات Y ، يمكنك استخدام شيء مثل هذا:

تم تنظيم سلسلة الموفر كعنوان URL ، لذلك يجب أن يكون المسار مسبوقًا بـ file: //. كما أنه يسمح للهندسة المنسقة WKT (نص معروف جيدًا) كبديل لحقول x و y ، ويسمح بتحديد نظام الإحداثي المرجعي. على سبيل المثال:

ملفات GPX - يقرأ مزود البيانات «gpx» المسارات والطرق ونقاط الطريق من ملفات gpx. لفتح ملف ، يجب تحديد النوع (المسار / المسار / إحداثية) كجزء من عنوان url:

قاعدة بيانات SpatiaLite - على غرار قواعد بيانات PostGIS ، يمكن استخدام QgsDataSourceUri لإنشاء معرف مصدر البيانات:

الأشكال الهندسية المستندة إلى MySQL WKB ، من خلال OGR - مصدر البيانات هو سلسلة الاتصال بالجدول:

اتصال WFS: يتم تعريف الاتصال باستخدام URI وباستخدام موفر WFS:

يمكن إنشاء uri باستخدام مكتبة urllib القياسية:

يمكنك تغيير مصدر البيانات لطبقة موجودة عن طريق استدعاء setDataSource () على مثيل QgsVectorLayer ، كما في المثال التالي:


إطلاق QGIS¶

بدء وإيقاف QGIS¶

يتم بدء QGIS كما تفعل عادةً مع أي تطبيق آخر على نظامك الأساسي. هذا يعني أنه يمكنك إطلاق QGIS من خلال:

  • الكتابة qgis في موجه الأوامر ، بافتراض إضافة QGIS إلى PATH أو أنت & # 8217re في مجلد التثبيت الخاص به
  • استخدام قائمة التطبيقات في حالة استخدام ثنائي مترجم مسبقًا ، قائمة ابدأ أو قفص الاتهام
  • النقر المزدوج فوق الرمز الموجود في مجلد التطبيقات أو اختصار سطح المكتب
  • النقر المزدوج على مشروع QGIS موجود ( .qgs ) ملف. لاحظ أن هذا سيفتح أيضًا المشروع

    خيار القائمة المشروع ‣ الخروج من QGIS أو استخدم الاختصار السيطرة + QQGIS قم بإنهاء QGIS، أو استخدم الاختصار كمد + س
  • أو استخدم الصليب الأحمر في الزاوية العلوية اليمنى من الواجهة الرئيسية للتطبيق.

خيارات سطر الأوامر¶

لقد تعلمت في القسم السابق كيفية بدء QGIS. سترى أن QGIS يوفر أيضًا المزيد من خيارات سطر الأوامر.

يدعم QGIS عددًا من الخيارات عند بدء تشغيله من سطر الأوامر. للحصول على قائمة بالخيارات ، أدخل qgis - مساعدة في سطر الأوامر. بيان استخدام QGIS هو:

مثال باستخدام وسيطات سطر الأوامر

يمكنك بدء QGIS بتحديد واحد أو أكثر من ملفات البيانات في سطر الأوامر. على سبيل المثال ، بافتراض أنك في qgis_sample_data دليل ، يمكنك بدء QGIS بطبقة متجه وملف نقطي يتم تحميله عند بدء التشغيل باستخدام الأمر التالي: qgis ./raster/landcover.img ./gml/lakes.gml

خيار سطر الأوامر --لمحة

يتيح لك هذا الخيار إنشاء لقطة بتنسيق PNG من العرض الحالي. يكون هذا مفيدًا عندما يكون لديك الكثير من المشاريع وترغب في إنشاء لقطات من بياناتك.

حاليًا ، يقوم بإنشاء ملف PNG بدقة 800 × 600 بكسل. يمكن تعديل ذلك باستخدام ملف --العرض و --ارتفاع وسائط سطر الأوامر. يمكن إضافة اسم الملف بعد --لمحة .

خيار سطر الأوامر - لانج

بناءً على الإعدادات المحلية الخاصة بك ، تحدد QGIS الترجمة الصحيحة. إذا كنت ترغب في تغيير لغتك ، يمكنك تحديد رمز اللغة. على سبيل المثال، qgis - العبها يبدأ QGIS في الترجمة الإيطالية.

خيار سطر الأوامر --المشروع

من الممكن أيضًا بدء QGIS بملف مشروع موجود. فقط أضف خيار سطر الأوامر --المشروع متبوعًا باسم مشروعك وسيتم فتح QGIS مع تحميل جميع الطبقات في الملف المحدد.

خيار سطر الأوامر --مدى

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

خيار سطر الأوامر - نولوغو

تخفي وسيطة سطر الأوامر هذه شاشة البداية عند بدء تشغيل QGIS.

خيار سطر الأوامر - التحديث

لا & # 8217t تحقق من الإصدار الجديد من QGIS عند بدء التشغيل.

خيار سطر الأوامر - noplugins

إذا كنت تواجه مشكلة عند بدء تشغيل المكونات الإضافية ، فيمكنك تجنب تحميلها عند بدء التشغيل باستخدام هذا الخيار. ستظل متاحة من مدير الإضافات بعد ذلك.

خيار سطر الأوامر --ملف التخصيص

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

خيار سطر الأوامر - التخصيص

باستخدام وسيطة سطر الأوامر هذه ، لن يتم تطبيق تخصيص واجهة المستخدم الرسومية الحالية عند بدء التشغيل.

خيار سطر الأوامر --مسار الخيارات

يمكن أن يكون لديك تكوينات متعددة وتقرر أيها ستستخدمه عند بدء QGIS بهذا الخيار. يرى خيارات لتأكيد المكان الذي يحفظ فيه نظام التشغيل ملفات الإعدادات. في الوقت الحالي ، لا توجد طريقة لتحديد ملف لكتابة الإعدادات إليه ، لذلك يمكنك إنشاء نسخة من ملف الإعدادات الأصلي وإعادة تسميته. يحدد الخيار مسار الدليل بالإعدادات. على سبيل المثال ، لاستخدام /path/to/config/QGIS/QGIS2.ini ملف الإعدادات ، استخدم الخيار:

خيار سطر الأوامر --configpath

هذا الخيار مشابه للخيار أعلاه ، ولكنه يتجاوز المسار الافتراضي لتكوين المستخدم (

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

خيار سطر الأوامر - الدليل

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

خيار سطر الأوامر --الشفرة

يمكن استخدام هذا الخيار لتشغيل ملف بيثون معين مباشرة بعد بدء QGIS.

على سبيل المثال ، عندما يكون لديك ملف بيثون يسمى load_alaska.py بالمحتوى التالي:

بافتراض أنك في الدليل حيث الملف load_alaska.py موجود ، يمكنك بدء QGIS ، وتحميل ملف البيانات النقطية landcover.img وأعطِ الطبقة الاسم & # 8216Alaska & # 8217 باستخدام الأمر التالي: qgis - كود load_alaska.py

خيارات سطر الأوامر --dxf- *

يمكن استخدام هذه الخيارات لتصدير مشروع QGIS إلى ملف DXF. تتوفر عدة خيارات:

  • & # 8211dxf- تصدير: اسم ملف DXF لتصدير الطبقات إليه
  • & # 8211dxf- المدى: مدى ملف DXF النهائي
  • & # 8211dxf- وضع الترميز: يمكن استخدام عدة قيم هنا: لا شيء (لا توجد رموز) ، symbollayer (ترميز طبقة الرمز) ، الميزة (رمز الميزة)
  • & # 8211dxf-scale-deno: مقام مقياس الرموز
  • & # 8211dxf- ترميز: ملف ترميز
  • & # 8211dxf- إعداد مسبق: اختر إعدادًا مسبقًا للرؤية. يتم تحديد هذه الإعدادات المسبقة في طبقة الشجرة ، انظر لوحة الطبقات.

مسار التعلم: PyQGIS: قهر العالم الجغرافي المكاني

يمكنك أن تكون نحاتًا ممتازًا ، ولكن بدون الأدوات المناسبة ، ستجد صعوبة في العمل. وبالمثل ، حتى لو كنت جيدًا جدًا في البرمجة ، فإن إنشاء تطبيق GIS يعد لعبة كرة مختلفة تمامًا! أفضل أداة يمكنك استخدامها أثناء إنشاء تطبيقات GIS هي QGIS. QGIS هو نظام معلومات جغرافي مستقل. يبسط عملية بناء تطبيقات جغرافية مكانية معقدة. إنه يتألف من الأدوات التي تقلل الوقت والجهد الذي تقضيه في تطبيق نموذجي. إذا كنت تبحث عن إنشاء تطبيقات جغرافية مكانية معقدة في غضون فترة زمنية قصيرة ، فإن مسار التعلم هذا هو السبيل للذهاب.
مسارات تعلم الفيديو الخاصة بـ Packt عبارة عن سلسلة من منتجات الفيديو الفردية التي يتم تجميعها معًا بطريقة منطقية وتدريجية بحيث يعتمد كل مقطع فيديو على المهارات المكتسبة في الفيديو قبله.
الهدف الرئيسي من مسار التعلم هذا هو تحويلك إلى مطور تطبيقات GIS خبير.
في PyQGIS: قهر العالم الجغرافي باستخدام QGIS ، ستتعلم كيفية استخدام نظام QGIS مع التركيز بشكل خاص على مكتبة PyQGIS.
قبل أن نبدأ التعلم ، دعنا نلفت الانتباه إلى "خارطة طريق الدورة التدريبية".
يبدأ بفهم نظام QGIS ووحدة تحكم Python ومكتبة PyQGIS. ننتقل بعد ذلك إلى تعلم كيفية إنشاء مكونات QGIS الإضافية واستخدامها في التطبيقات الخارجية. ثم نتعمق أكثر في QGIS Python API ، مع التركيز على كيفية استخدام هذه المكتبة لعرض المعلومات على الخريطة. ثم ننظر في كيفية السماح للتطبيقات الخارجية التي تستخدم مكتبة PyQGIS للمستخدم بتحديد الميزات الجغرافية المكانية وتحريرها. نواصل استخدام المعرفة التي اكتسبناها لتنفيذ نظام خرائط متكامل معقد.
بعد ذلك ، سنبحث في إنشاء طبقة متجهة وتحريرها وتحسينها من أجل استعلامات أسرع ، وإعادة إسقاط طبقة متجه ، وتقليل عدد الرؤوس في طبقة متجه دون فقد البيانات الهامة ، وتحويل البيانات النقطية إلى متجه. بعد ذلك ، ستعمل من خلال الوصفات التي ستساعدك في إنشاء خرائط ثابتة وإنشاء خرائط مخصصة بشكل كبير وإضافة تسميات وتعليقات توضيحية متخصصة. بالإضافة إلى ذلك ، سنشارك أيضًا بعض النصائح والحيل بناءً على جوانب مختلفة من QGIS.
بنهاية مسار التعلم هذا ، سيكون لديك إتقان أداة QGIS وستجد نفسك قادرًا على إنشاء تطبيقات معقدة بسهولة.


الفئة: QgsMapSettings¶

تحتوي فئة QgsMapSettings على تكوين لعرض الخريطة. يتم إجراء التصيير نفسه بواسطة الفئات الفرعية QgsMapRendererJob.

لإعداد مثيل QgsMapSettings ، من الضروري تعيين عدد قليل من الأعضاء على الأقل: المدى وحجم الإخراج والطبقات.

تم تصميم QgsMapSettings و QgsMapRendererJob (+ الفئات الفرعية) لاستبدال فئة QgsMapRenderer التي كانت موجودة قبل QGIS 2.4. تتمثل ميزة الفئات الجديدة في أنها تفصل الإعدادات عن العرض وتوفر واجهة برمجة تطبيقات غير متزامنة لعرض الخريطة.

الجديد في الإصدار 2.4: الطرق

لون الخلفية احصل على لون خلفية الخريطة
CustomRenderFlags احصل على علامات عرض مخصصة.
الوجهة إرجاع CRS لنظام مرجعي إحداثيات الوجهة
بيضاوي إرجاع اختصار القطع الناقص.
التعبير يحصل على سياق التعبير.
مدى قم بإرجاع الإحداثيات الجغرافية للمستطيل الذي يجب تقديمه.
الأعلام مجموعة إرجاع من العلامات المستخدمة في العرض
المدى الكامل إرجاع المدى الحالي لمجموعة الطبقة
hasValidSettings تحقق مما إذا كانت إعدادات الخريطة صالحة ويمكن استخدامها للعرض
وضع العلامات إعدادات المحرك إرجاع التكوين العام لمحرك وضع العلامات
layerExtentToOutputExtent تحويل المربع المحيط من CRS للطبقة إلى CRS الناتج
طبقات الحصول على قائمة بمعرفات الطبقة لعرض الخريطة يتم تخزين الطبقات بالترتيب العكسي لكيفية تقديمها (ستكون الطبقة ذات الفهرس 0 في الأعلى)
layerStyleOverrides الحصول على خريطة لتجاوزات أنماط طبقة الخريطة (مفتاح: معرف الطبقة ، القيمة: اسم النمط) حيث يجب استخدام نمط مختلف بدلاً من النمط الحالي
layerToMapCoordinates تحويل إحداثيات نقطة من CRS للطبقة إلى إخراج CRS
layerToMapUnits يحسب مقدر عامل التحويل بين وحدات الطبقة والخريطة: layerUnits * layerToMapUnits = mapUnits
طبقة عودة تحويل الإحداثيات من CRS للطبقة إلى CRS الوجهة
طبقات الحصول على قائمة الطبقات لعرض الخريطة يتم تخزين الطبقات بالترتيب العكسي لكيفية تقديمها (ستكون الطبقة ذات الفهرس 0 في الأعلى)
عامل التكبير أعد عامل التكبير.
mapToLayerCoordinates تحويل إحداثيات نقطة من الناتج CRS إلى طبقة CRS
mapToPixel
mapUnits الحصول على وحدات الإحداثيات الجغرافية للخريطة - تُستخدم لحساب المقياس
mapUnitsPerPixel أعد المسافة بالإحداثيات الجغرافية التي تساوي بكسل واحدًا في الخريطة
الإخراج إرجاع DPI المستخدمة للتحويل بين وحدات العالم الحقيقي (مثل.
outputExtentToLayerExtent تحويل المربع المحيط من الناتج CRS إلى CRS للطبقة
outputImageFormat تنسيق QImage الداخلي ، QImage الافتراضي.
حجم الإنتاج إعادة حجم صورة الخريطة الناتجة
المسار إرجاع محلل المسار للتحويل بين المسارات النسبية والمطلقة أثناء عمليات التقديم ، e.
readXml التسلسل * /
دوران يُرجع دوران صورة الخريطة الناتجة بالدرجات في اتجاه عقارب الساعة.
مقياس إرجاع مقياس الخريطة المحسوب.
تجزئة يتم تطبيق تفاوت التجزئة عند عرض الأشكال الهندسية المنحنية
تجزئة نوع التسامح الحصول على نوع تفاوت التجزئة (أقصى زاوية أو أقصى فرق بين المنحنى والتقريب)
اختيار اللون احصل على اللون المستخدم لرسم معالم متجهية محددة
setBackgroundColor اضبط لون خلفية الخريطة
setCustomRenderFlags يضبط علامات العرض المخصصة.
تعيين الوجهة يحدد النظام المرجعي لإحداثيات الوجهة
مجموعة يضبط الشكل البيضاوي باختصاره.
setExpressionContext يعيّن سياق التعبير.
سيتسينت اضبط إحداثيات المستطيل الذي يجب عرضه.
setFlag تمكين أو تعطيل علامة معينة (لا تتأثر العلامات الأخرى)
setFlags قم بتعيين مجموعة من العلامات التي سيتم استخدامها للعرض
setLabelingEngineSettings يحدد التكوين العام لمحرك وضع العلامات
setLayerStyleOverrides تعيين تخطي أنماط طبقة الخريطة (مفتاح: معرف الطبقة ، القيمة: اسم النمط) حيث يجب استخدام نمط مختلف بدلاً من النمط الحالي
تعيين طبقات قم بتعيين قائمة الطبقات لعرض الخريطة.
setMagnificationFactor اضبط عامل التكبير.
setOutputDpi تعيين DPI المستخدمة للتحويل بين وحدات العالم الحقيقي (مثل.
setOutputImageFormat يحدد تنسيق QImage الداخلي
setOutputSize اضبط حجم صورة الخريطة الناتجة
setPathResolver يضبط محلل المسار للتحويل بين المسارات النسبية والمطلقة أثناء عمليات التقديم ، e.
setRotation يضبط دوران صورة الخريطة الناتجة بالدرجات في اتجاه عقارب الساعة.
setSegmentation التسامح يضبط تفاوت التجزئة المطبق عند عرض الأشكال الهندسية المنحنية
setSegmentationToleranceType تعيين نوع تفاوت التجزئة (أقصى زاوية أو أقصى فرق بين المنحنى والتقريب)
setSelectionColor تعيين اللون المستخدم لرسم معالم متجهية محددة
setTransformContext يعيّن سياق تحويل الإحداثيات ، والذي يخزن المعلومات المختلفة المتعلقة بتحويلات الإسناد التي يجب استخدامها عند تحويل النقاط من مصدر إلى نظام مرجعي لإحداثيات الوجهة.
الاختبار تحقق مما إذا تم تمكين علامة معينة
تحويل النص يُرجع سياق تحويل الإحداثيات ، الذي يخزن معلومات متنوعة تتعلق بتحويلات الإسناد التي يجب استخدامها عند تحويل النقاط من مصدر إلى نظام مرجعي لإحداثيات الوجهة.
التحديث
مرئي قم بإرجاع المدى الفعلي المشتق من المدى المطلوب الذي يأخذ حجم صورة الإخراج في الاعتبار
مرئي قم بإرجاع المنطقة المرئية كمضلع (يمكن تدويرها)
writeXml

QgsMapSettings.Flags (Union [QgsMapSettings.Flags، QgsMapSettings.Flag]) QgsMapSettings.Flags (QgsMapSettings.Flags)

ForceVectorOutput = 4¶ RenderMapTile = 256¶ RenderPartialOutput = 512¶ RenderPreviewJob = 1024¶ UseAdvancedEffects = 8¶ UseRenderingOptimization = 32¶ لون الخلفية ( الذات ) & # x2192 QColor¶

احصل على لون خلفية الخريطة

customRenderFlags ( الذات ) & # x2192 str¶

احصل على علامات عرض مخصصة. قد تحترم الطبقات هذه لتغيير طريقة عرضها.

عائدات:سلاسل العلامات المخصصة مفصولة بعلامة ""

إرجاع CRS لنظام مرجعي إحداثيات الوجهة

إرجاع اختصار القطع الناقص. لن تستخدم الحسابات الشكل البيضاوي إلا إذا تم تعيين شكل بيضاوي صالح.

يحصل على سياق التعبير. يجب استخدام هذا السياق لجميع عمليات تقييم التعبيرات المرتبطة بإعدادات الخريطة هذه.

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

أعلام ( الذات ) & # x2192 QgsMapSettings.

مجموعة إرجاع من العلامات المستخدمة في العرض

المدى الكامل ( الذات ) & # x2192 QgsRectangle¶

إرجاع المدى الحالي لمجموعة الطبقة

hasValidSettings ( الذات ) & # x2192 منطقية

تحقق مما إذا كانت إعدادات الخريطة صالحة ويمكن استخدامها للعرض

وضع العلامات EngineSettings ( الذات ) & # x2192 QgsLabelingEngineSettings¶

إرجاع التكوين العام لمحرك وضع العلامات

تحويل الصندوق المحيط من CRS للطبقة إلى CRS الناتج

عائدات:مربع محيط (مستطيل محاذي) يحتوي على المدى المحول
layerIds ( الذات ) & # x2192 قائمة [str] ¶

الحصول على قائمة بمعرفات الطبقة لعرض الخريطة يتم تخزين الطبقات بالترتيب العكسي لكيفية تقديمها (ستكون الطبقة ذات الفهرس 0 في الأعلى)

layerStyleOverrides ( الذات ) & # x2192 ديكت [str، str] ¶

الحصول على خريطة لتجاوزات أنماط طبقة الخريطة (مفتاح: معرف الطبقة ، القيمة: اسم النمط) حيث يجب استخدام نمط مختلف بدلاً من النمط الحالي

تحويل إحداثيات نقطة من CRS للطبقة إلى إخراج CRS

عائدات:النقطة المحولة
layerToMapCoordinates (ذاتي ، طبقة: QgsMapLayer ، مستطيل: QgsRectangle) - & gt Qgs مستطيل تحويل مستطيل من CRS للطبقة إلى إخراج CRS

عائدات:المستطيل المحول
layerToMapUnits ( الذات, الطبقة: QgsMapLayer, المرجع: QgsRectangle = QgsRectangle () ) & # x2192 تعويم¶

يحسب مقدر عامل التحويل بين وحدات الطبقة والخريطة: layerUnits * layerToMapUnits = mapUnits

  • طبقة - طبقة
  • مدى المرجع - مدى مرجعي يقوم على أساسه إجراء الحساب. إذا لم يتم تحديده ، فسيتم استخدام مدى الطبقة

عودة تحويل الإحداثيات من CRS للطبقة إلى CRS الوجهة

المعلمات:طبقة
عائدات:تحويل - قد يكون غير صالح إذا لم تكن هناك حاجة للتحويل
طبقات ( الذات ) & # x2192 قائمة [QgsMapLayer] ¶

الحصول على قائمة الطبقات لعرض الخريطة يتم تخزين الطبقات بالترتيب العكسي لكيفية تقديمها (ستكون الطبقة ذات الفهرس 0 في الأعلى)

عامل التكبير الذات ) & # x2192 تعويم¶

أعد عامل التكبير.

تحويل إحداثيات نقطة من الناتج CRS إلى طبقة CRS

عائدات:النقطة المحولة
mapToLayerCoordinates (self، layer: QgsMapLayer، rect: QgsRectangle) - & gt QgsRectangle تحويل المستطيل من CRS الناتج إلى CRS للطبقة

عائدات:المستطيل المحول
mapToPixel ( الذات ) & # x2192 QgsMapToPixel¶ mapUnits ( الذات ) & # x2192 QgsUnitTypes.DistanceUnit¶

الحصول على وحدات الإحداثيات الجغرافية للخريطة - تُستخدم لحساب المقياس

mapUnitsPerPixel ( الذات ) & # x2192 تعويم¶

أعد المسافة بالإحداثيات الجغرافية التي تساوي بكسل واحدًا في الخريطة

إرجاع DPI المستخدم للتحويل بين وحدات العالم الحقيقي (على سبيل المثال مم) والبكسل القيمة الافتراضية هي 96

outputExtentToLayerExtent ( الذات, الطبقة: QgsMapLayer, المدى: QgsRectangle ) & # x2192 QgsRectangle¶

تحويل المربع المحيط من الناتج CRS إلى CRS للطبقة

عائدات:مربع محيط (مستطيل محاذي) يحتوي على المدى المحول
outputImageFormat ( الذات ) & # x2192 QImage. تنسيق

تنسيق QImage الداخلي ، QImage الافتراضي

إعادة حجم صورة الخريطة الناتجة

pathResolver ( الذات ) & # x2192 QgsPathResolver¶

إرجاع محلل المسار للتحويل بين المسارات النسبية والمطلقة أثناء عمليات العرض ، على سبيل المثال لحل مسارات الرموز النسبية.

يُرجع دوران صورة الخريطة الناتجة بالدرجات في اتجاه عقارب الساعة.

إرجاع مقياس الخريطة المحسوب. تشير قيمة المقياس إلى مقام المقياس ، على سبيل المثال 1000.0 لخريطة 1: 1000.

تجزئة التسامح ( الذات ) & # x2192 تعويم¶

يتم تطبيق تفاوت التجزئة عند عرض الأشكال الهندسية المنحنية

نوع التسامح ( الذات ) & # x2192 QgsAbstractGeometry.SegmentationToleranceType¶

الحصول على نوع تفاوت التجزئة (أقصى زاوية أو أقصى فرق بين المنحنى والتقريب)

اختيار اللون ( الذات ) & # x2192 QColor¶

احصل على اللون المستخدم لرسم معالم متجهية محددة

setBackgroundColor ( self، color: Union [QColor، Qt.GlobalColor، QGradient] ) ¶

اضبط لون خلفية الخريطة

setCustomRenderFlags ( الذات, customRenderFlags: str ) ¶

يضبط علامات العرض المخصصة. قد تحترم الطبقات هذه لتغيير طريقة عرضها.

المعلمات:CustomRenderFlags - سلاسل الأعلام المخصصة مفصولة بعلامة ""

يحدد النظام المرجعي لإحداثيات الوجهة

مجموعة الذات, القطع الناقص: str ) & # x2192 منطقية

يضبط الشكل البيضاوي باختصاره. يمكن استرداد المختصرات البيضاوية المعروفة باستخدام QgsEllipsoidUtils.acronyms () لن تستخدم الحسابات إلا الشكل البيضاوي إذا تم تعيين شكل بيضاوي صالح.

عائدات:صحيح إذا تم ضبط الشكل البيضاوي بنجاح

يعيّن سياق التعبير. يُستخدم هذا السياق لجميع عمليات تقييم التعبيرات المرتبطة بإعدادات الخريطة هذه.

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

setFlag ( الذات, العلم: QgsMapSettings.Flag, على: منطقي = صحيح ) ¶

تمكين أو تعطيل علامة معينة (لا تتأثر العلامات الأخرى)

setFlags ( self ، flags: Union [QgsMapSettings.Flags، QgsMapSettings.Flag] ) ¶

قم بتعيين مجموعة من العلامات التي سيتم استخدامها للعرض

setLabelingEngineSettings ( الذات, الإعدادات: QgsLabelingEngineSettings ) ¶

يحدد التكوين العام لمحرك وضع العلامات

تعيين تخطي أنماط طبقة الخريطة (مفتاح: معرف الطبقة ، القيمة: اسم النمط) حيث يجب استخدام نمط مختلف بدلاً من النمط الحالي

قم بتعيين قائمة الطبقات لعرض الخريطة. يجب تسجيل الطبقات في QgsProject. يتم تخزين الطبقات بالترتيب العكسي لكيفية تقديمها (ستكون الطبقة ذات الفهرس 0 في الأعلى)

سيتم تجريد أي طبقات غير مكانية تلقائيًا من القائمة (نظرًا لأنه لا يمكن عرضها!).

اضبط عامل التكبير.

المعلمات:عامل - عامل التكبير

قم بتعيين DPI المستخدمة للتحويل بين وحدات العالم الحقيقي (مثل mm) والبكسل

setOutputImageFormat ( الذات, التنسيق: QImage.Format ) ¶

يحدد تنسيق QImage الداخلي

setOutputSize ( الذات, الحجم: QSize ) ¶

اضبط حجم صورة الخريطة الناتجة

setPathResolver ( الذات, محلل: QgsPathResolver ) ¶

يضبط محلل المسار للتحويل بين المسارات النسبية والمطلقة أثناء عمليات العرض ، على سبيل المثال لحل مسارات الرموز النسبية.

يضبط دوران صورة الخريطة الناتجة بالدرجات في اتجاه عقارب الساعة.

يضبط تفاوت التجزئة المطبق عند عرض الأشكال الهندسية المنحنية

المعلمات:تفاوت - تفاوت التجزئة *
setSegmentationToleranceType ( الذات, النوع: QgsAbstractGeometry.SegmentationToleranceType ) ¶

تعيين نوع تفاوت التجزئة (أقصى زاوية أو أقصى فرق بين المنحنى والتقريب)

المعلمات:يكتب - اسم نوع تحمل التجزئة *
setSelectionColor ( self، color: Union [QColor، Qt.GlobalColor، QGradient] ) ¶

تعيين اللون المستخدم لرسم معالم متجهية محددة

setTransformContext ( الذات, السياق: QgsCoordinateTransformContext ) ¶

يعيّن سياق تحويل الإحداثيات ، الذي يخزن المعلومات المختلفة المتعلقة بتحويلات الإسناد التي يجب استخدامها عند تحويل النقاط من مصدر إلى نظام مرجعي لإحداثيات الوجهة.

تحقق مما إذا تم تمكين علامة معينة

convertContext ( الذات ) & # x2192 QgsCoordinateTransformContext¶

يُرجع سياق تحويل الإحداثيات ، الذي يخزن معلومات متنوعة تتعلق بتحويلات الإسناد التي يجب استخدامها عند تحويل النقاط من مصدر إلى نظام مرجعي لإحداثيات الوجهة.

قم بإرجاع المدى الفعلي المشتق من المدى المطلوب الذي يأخذ حجم صورة الإخراج في الاعتبار


صلة مكانية¶

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

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

لحسن الحظ ، تم تنفيذ الارتباط المكاني بالفعل في Geopandas ، وبالتالي لا نحتاج إلى إنشاء وظيفتنا الخاصة للقيام بذلك. هناك ثلاثة أنواع محتملة من الوصلات التي يمكن تطبيقها في الوصلة المكانية التي يتم تحديدها باستخدام معلمة المرجع في وظيفة gpd.sjoin ():

يبدوا مألوفا؟ نعم ، تمت مناقشة كل هذه العلاقات المكانية في درس Point in Polygon ، وبالتالي يجب أن تعرف كيف تعمل.

علاوة على ذلك ، انتبه إلى الخيارات المختلفة لنوع الصلة من خلال معلمة how "left" و "right" و "الداخلية". يمكنك قراءة المزيد حول هذه الخيارات في وثائق geopandas sjoin ودليل الباندا للدمج والانضمام والتسلسل

دعونا نجري صلة مكانية بين هاتين الطبقتين:

عناوين: نقطة العنوان المشفرة جغرافيًا (أنشأنا ملف الشكل هذا في البرنامج التعليمي للترميز الجغرافي)

شبكة السكان: طبقة مضلع شبكية 250 م × 250 م تحتوي على معلومات السكان من منطقة هلسنكي.

شبكة السكان يتم إنتاج مجموعة بيانات بواسطة هيئة الخدمات البيئية لمنطقة هلسنكي (HSY) (انظر هذه الصفحة للوصول إلى البيانات من سنوات مختلفة).


مسار يربط بين رؤوس معينة في الرسم البياني العصبي

ضع في اعتبارك نوعًا خاصًا من الرسم البياني حيث يمكن تقسيم العقد إلى طبقات $ n $. توجد حواف فقط بين الطبقات المتتالية ولا توجد حواف بين عقد أي طبقة معينة. على سبيل المثال ، العقد في الطبقة 1 متصلة فقط بالعقد الموجودة في الطبقة 2 ، والعقد في الطبقة 2 متصلة فقط بالعقد الموجودة في الطبقة 3 وما إلى ذلك. أسمي مثل هذا الرسم البياني & quotneural chart & quot لأن الشبكات العصبية تبدو هكذا. لاحظ أيضًا أن هذه الرسوم البيانية ثنائية الأجزاء حيث يمكن تلوين جميع العقد بلونين بطريقة لا تحتوي أي حافة على نفس اللون على كلا الطرفين.

لقد أعطيت مجموعة من العقد ، كل منها ينتمي إلى طبقات مختلفة في الرسم البياني. أحتاج إلى العثور على أي مسار (يتم تمثيله كمصفوفة من العقد) يبدأ عند الطبقة $ 1 $ وينتهي عند الطبقة $ n $ ويمر بالضرورة عبر كل هذه العقد في المجموعة. في حالة عدم وجود مثل هذا المسار ، يجب أن تعيد الخوارزمية مصفوفة فارغة. أي أفكار للقيام بذلك بكفاءة؟

يمكن تمثيل الرسم البياني في أي تمثيل ، ولكن يفضل قائمة التقارب.


الفئة: QgsMapSettings¶

تحتوي فئة QgsMapSettings على تكوين لعرض الخريطة. يتم إجراء التصيير نفسه بواسطة الفئات الفرعية QgsMapRendererJob.

لإعداد مثيل QgsMapSettings ، من الضروري تعيين عدد قليل من الأعضاء على الأقل: المدى وحجم الإخراج والطبقات.

تم تصميم QgsMapSettings و QgsMapRendererJob (+ الفئات الفرعية) لاستبدال فئة QgsMapRenderer التي كانت موجودة قبل QGIS 2.4. تتمثل ميزة الفئات الجديدة في أنها تفصل الإعدادات عن العرض وتوفر واجهة برمجة تطبيقات غير متزامنة لعرض الخريطة.

الجديد في الإصدار 2.4: الطرق

لون الخلفية الحصول على لون خلفية الخريطة
customRenderFlags يحصل على علامات عرض مخصصة.
الوجهة إرجاع CRS لنظام مرجعي إحداثيات الوجهة
بيضاوي إرجاع اختصار القطع الناقص.
التعبير يحصل على سياق التعبير.
مدى إرجاع الإحداثيات الجغرافية للمستطيل الذي يجب تقديمه.
الأعلام إرجاع مجموعة من العلامات المستخدمة في العرض
المدى الكامل إرجاع المدى الحالي لمجموعة الطبقة
hasValidSettings تحقق مما إذا كانت إعدادات الخريطة صالحة ويمكن استخدامها للعرض
وضع العلامات إعدادات المحرك إرجاع التكوين العام لمحرك وضع العلامات
layerExtentToOutputExtent تحويل المربع المحيط من CRS للطبقة إلى CRS الناتج
طبقات الحصول على قائمة معرفات الطبقة لعرض الخريطة يتم تخزين الطبقات بالترتيب العكسي لكيفية تقديمها (ستكون الطبقة ذات الفهرس 0 في الأعلى)
layerStyleOverrides الحصول على تخطي أنماط طبقة الخريطة (مفتاح: معرف الطبقة ، القيمة: اسم النمط) حيث يجب استخدام نمط مختلف بدلاً من النمط الحالي
layerToMapCoordinates تحويل إحداثيات نقطة من CRS للطبقة إلى إخراج CRS
layerToMapUnits يحسب مقدر عامل التحويل بين وحدات الطبقة والخريطة: layerUnits * layerToMapUnits = mapUnits
طبقة إرجاع تحويل الإحداثيات من CRS للطبقة إلى CRS الوجهة
طبقات الحصول على قائمة الطبقات لعرض الخريطة يتم تخزين الطبقات بترتيب عكسي لكيفية تقديمها (ستكون الطبقة ذات الفهرس 0 في الأعلى)
magnificationFactor Returns the magnification factor.
mapToLayerCoordinates transform point coordinates from output CRS to layer’s CRS
mapToPixel
mapUnits Gets units of map’s geographical coordinates - used for scale calculation
mapUnitsPerPixel Returns the distance in geographical coordinates that equals to one pixel in the map
outputDpi Returns DPI used for conversion between real world units (e.g.
outputExtentToLayerExtent transform bounding box from output CRS to layer’s CRS
outputImageFormat format of internal QImage, default QImage.Format_ARGB32_Premultiplied
outputSize Returns the size of the resulting map image
pathResolver Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g.
readXml serialization * /
rotation Returns the rotation of the resulting map image, in degrees clockwise.
scale Returns the calculated map scale.
segmentationTolerance Gets the segmentation tolerance applied when rendering curved geometries
segmentationToleranceType Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)
selectionColor Gets color that is used for drawing of selected vector features
setBackgroundColor Sets the background color of the map
setCustomRenderFlags Sets the custom rendering flags.
setDestinationCrs sets destination coordinate reference system
setEllipsoid Sets the ellipsoid by its acronym.
setExpressionContext Sets the expression context.
setExtent Set coordinates of the rectangle which should be rendered.
setFlag Enable or disable a particular flag (other flags are not affected)
setFlags Sets combination of flags that will be used for rendering
setLabelingEngineSettings Sets global configuration of the labeling engine
setLayerStyleOverrides Set map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one
setLayers Set list of layers for map rendering.
setMagnificationFactor Set the magnification factor.
setOutputDpi Sets DPI used for conversion between real world units (e.g.
setOutputImageFormat sets format of internal QImage
setOutputSize Sets the size of the resulting map image
setPathResolver Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g.
setRotation Sets the rotation of the resulting map image, in degrees clockwise.
setSegmentationTolerance Sets the segmentation tolerance applied when rendering curved geometries
setSegmentationToleranceType Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)
setSelectionColor Sets color that is used for drawing of selected vector features
setTransformContext Sets the coordinate transform context , which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.
testFlag Check whether a particular flag is enabled
transformContext Returns the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.
updateDerived
visibleExtent Returns the actual extent derived from requested extent that takes takes output image size into account
visiblePolygon Returns the visible area as a polygon (may be rotated)
writeXml

QgsMapSettings.Flags(Union[QgsMapSettings.Flags, QgsMapSettings.Flag]) QgsMapSettings.Flags(QgsMapSettings.Flags)

ForceVectorOutput = 4¶ RenderMapTile = 256¶ RenderPartialOutput = 512¶ RenderPreviewJob = 1024¶ UseAdvancedEffects = 8¶ UseRenderingOptimization = 32¶ backgroundColor ( self ) → QColor¶

Gets the background color of the map

customRenderFlags ( self ) → str¶

Gets custom rendering flags. Layers might honour these to alter their rendering.

Returns:custom flags strings, separated by ‘’

returns CRS of destination coordinate reference system

Returns ellipsoid’s acronym. Calculations will only use the ellipsoid if a valid ellipsoid has been set.

Gets the expression context. This context should be used for all expression evaluation associated with this map settings.

Returns geographical coordinates of the rectangle that should be rendered. The actual visible extent used for rendering could be slightly different since the given extent may be expanded in order to fit the aspect ratio of output size. Use visibleExtent() to get the resulting extent.

flags ( self ) → QgsMapSettings.Flags¶

Returns combination of flags used for rendering

fullExtent ( self ) → QgsRectangle¶

returns current extent of layer set

hasValidSettings ( self ) → bool¶

Check whether the map settings are valid and can be used for rendering

labelingEngineSettings ( self ) → QgsLabelingEngineSettings¶

Returns global configuration of the labeling engine

transform bounding box from layer’s CRS to output CRS

Returns:a bounding box (aligned rectangle) containing the transformed extent
layerIds ( self ) → List[str]¶

Gets list of layer IDs for map rendering The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)

layerStyleOverrides ( self ) → Dict[str, str]¶

Gets map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one

transform point coordinates from layer’s CRS to output CRS

Returns:the transformed point

layerToMapCoordinates(self, layer: QgsMapLayer, rect: QgsRectangle) -> QgsRectangle transform rectangle from layer’s CRS to output CRS

Returns:the transformed rectangle
layerToMapUnits ( self, layer: QgsMapLayer, referenceExtent: QgsRectangle = QgsRectangle() ) → float¶

Computes an estimated conversion factor between layer and map units: layerUnits * layerToMapUnits = mapUnits

  • layer – The layer
  • referenceExtent – A reference extent based on which to perform the computation. If not specified, the layer extent is used

Returns the coordinate transform from layer’s CRS to destination CRS

Returns:transform - may be invalid if the transform is not needed
layers ( self ) → List[QgsMapLayer]¶

Gets list of layers for map rendering The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)

magnificationFactor ( self ) → float¶

Returns the magnification factor.

transform point coordinates from output CRS to layer’s CRS

Returns:the transformed point

mapToLayerCoordinates(self, layer: QgsMapLayer, rect: QgsRectangle) -> QgsRectangle transform rectangle from output CRS to layer’s CRS

Returns:the transformed rectangle
mapToPixel ( self ) → QgsMapToPixel¶ mapUnits ( self ) → QgsUnitTypes.DistanceUnit¶

Gets units of map’s geographical coordinates - used for scale calculation

mapUnitsPerPixel ( self ) → float¶

Returns the distance in geographical coordinates that equals to one pixel in the map

Returns DPI used for conversion between real world units (e.g. mm) and pixels Default value is 96

outputExtentToLayerExtent ( self, layer: QgsMapLayer, extent: QgsRectangle ) → QgsRectangle¶

transform bounding box from output CRS to layer’s CRS

Returns:a bounding box (aligned rectangle) containing the transformed extent
outputImageFormat ( self ) → QImage.Format¶

format of internal QImage, default QImage.Format_ARGB32_Premultiplied

Returns the size of the resulting map image

pathResolver ( self ) → QgsPathResolver¶

Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g. for resolving relative symbol paths.

Returns the rotation of the resulting map image, in degrees clockwise.

Returns the calculated map scale. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

segmentationTolerance ( self ) → float¶

Gets the segmentation tolerance applied when rendering curved geometries

segmentationToleranceType ( self ) → QgsAbstractGeometry.SegmentationToleranceType¶

Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

selectionColor ( self ) → QColor¶

Gets color that is used for drawing of selected vector features

setBackgroundColor ( self, color: Union[QColor, Qt.GlobalColor, QGradient] ) ¶

Sets the background color of the map

setCustomRenderFlags ( self, customRenderFlags: str ) ¶

Sets the custom rendering flags. Layers might honour these to alter their rendering.

Parameters:customRenderFlags – custom flags strings, separated by ‘’

sets destination coordinate reference system

setEllipsoid ( self, ellipsoid: str ) → bool¶

Sets the ellipsoid by its acronym. Known ellipsoid acronyms can be retrieved using QgsEllipsoidUtils.acronyms() Calculations will only use the ellipsoid if a valid ellipsoid has been set.

Returns:true if ellipsoid was successfully set

Sets the expression context. This context is used for all expression evaluation associated with this map settings.

Set coordinates of the rectangle which should be rendered. The actual visible extent used for rendering could be slightly different since the given extent may be expanded in order to fit the aspect ratio of output size. Use visibleExtent() to get the resulting extent.

setFlag ( self, flag: QgsMapSettings.Flag, on: bool = True ) ¶

Enable or disable a particular flag (other flags are not affected)

setFlags ( self, flags: Union[QgsMapSettings.Flags, QgsMapSettings.Flag] ) ¶

Sets combination of flags that will be used for rendering

setLabelingEngineSettings ( self, settings: QgsLabelingEngineSettings ) ¶

Sets global configuration of the labeling engine

Set map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one

Set list of layers for map rendering. The layers must be registered in QgsProject . The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)

Any non-spatial layers will be automatically stripped from the list (since they cannot be rendered!).

Set the magnification factor.

Parameters:factor – the factor of magnification

Sets DPI used for conversion between real world units (e.g. mm) and pixels

setOutputImageFormat ( self, format: QImage.Format ) ¶

sets format of internal QImage

setOutputSize ( self, size: QSize ) ¶

Sets the size of the resulting map image

setPathResolver ( self, resolver: QgsPathResolver ) ¶

Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g. for resolving relative symbol paths.

Sets the rotation of the resulting map image, in degrees clockwise.

Sets the segmentation tolerance applied when rendering curved geometries

Parameters:tolerance – the segmentation tolerance*
setSegmentationToleranceType ( self, type: QgsAbstractGeometry.SegmentationToleranceType ) ¶

Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

Parameters:type – the segmentation tolerance typename*
setSelectionColor ( self, color: Union[QColor, Qt.GlobalColor, QGradient] ) ¶

Sets color that is used for drawing of selected vector features

setTransformContext ( self, context: QgsCoordinateTransformContext ) ¶

Sets the coordinate transform context , which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.

Check whether a particular flag is enabled

transformContext ( self ) → QgsCoordinateTransformContext¶

Returns the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.

Returns the actual extent derived from requested extent that takes takes output image size into account


Training & Test feature shape is different from number of columns in dataset

I am making a Sequential Neural Network for regression with 3 dense layers which will be trained on a simple dataset. But before I even get to that part of the code to execute the model I am getting a different shape of my features than columns in dataset. Columns of the dataset includes:

2)the other 20 columns are integers/floats

I have 21 features in my dataset. ValueError is telling me it is expecting 36 but there are only 21 When I check the shape using X.shape for my dataset it is telling me the shape is (98,36). My dataset has 98 rows x 21 columns. There are only 21 features in my dataset. How is it getting a shape of 36 ?

I am consequently receiving this error of course when I try to run my Keras model

Error ValueError: Input 0 of layer sequential_1 is incompatible with the layer: expected axis -1 of input shape to have value 21 but received input with shape (None, 36)


Getting layer by name in PyQGIS? - نظم المعلومات الجغرافية

Fixes to common problems when migrating QGIS plugins from v2.18 to v3.x

Below is a list of fixes to common PyQGIS migration issues I collated whilst migrating a QGIS 2.18 plugin to QGIS 3.2 (and then to 3.4). I documented each error message and fix to make things easier if I came across the same issue again, and subsequently figured it may be of user to others who were migrating their plugins too.

Details of error messages are documented as sub-headings, with fixes and examples for each listed underneath. Where possible I've included links back to relevant documentation too.

Error messages are listed alphabetically, and as such are organised by error type ( AttributeError , NameError , TypeError ).

AttributeError: type object 'Qgis' has no attribute 'Line'

AttributeError: type object 'Qgis' has no attribute 'WKBPoint'

AttributeError: type object 'Qgis' has no attribute 'WKBPolygon'

To fix: replace Qgis.<Old Type> with QgsWkbTypes.<New Type>

AttributeError: type object 'QgsGeometry' has no attribute 'fromMultiPolyline'

To fix: replace .fromMultiPolyline([qgs_point_list]) with .fromMultiPolylineXY([qgs_pointXY_list])

AttributeError: type object 'QgsMessageBar' has no attribute 'INFO'

AttributeError: type object 'QgsMessageBar' has no attribute 'WARNING'

AttributeError: type object 'QgsMessageBar' has no attribute 'CRITICAL'

AttributeError: type object 'QgsMessageBar' has no attribute 'SUCCESS'

To fix: replace QgsMessageBar.<MessageLevel> with Qgis.<MessageLevel>

AttributeError: type object 'QgsSymbolLayerRegistry' has no attribute 'instance'

To fix: replace QgsSymbolLayerRegistry.instance() with QgsApplication.symbolLayerRegistry()

AttributeError: 'QgisInterface' object has no attribute 'legendInterface'

To fix: reference the layer (by id ) within the layerTreeRoot , and set visibility there.

AttributeError: 'QgsLayerTree' object has no attribute 'selectedLayers'

To fix: replace .legendInterface() with .layerTreeView()

AttributeError: type object 'QgsGeometry' has no attribute 'fromPoint'

To fix: replace .fromPoint() with .fromPointXY()

AttributeError: 'QgsGeometry' object has no attribute 'exportToWkt'

To fix: replace .exportToWkt() with .asWkt()

AttributeError: 'QgsPalLayerSettings' object has no attribute 'readFromLayer'

AttributeError: 'QgsVectorLayer' object has no attribute 'setDisplayField'

To fix: replace .setDisplayField(html) with .setMapTipTemplate(html)

AttributeError: 'QgsVectorLayer' object has no attribute 'setLayerTransparency'

To fix: replace .setLayerTransparancy(percentage) with .setOpacity(percentage / 100)

AttributeError: 'QgsVectorLayer' object has no attribute 'rendererV2'

To fix: replace .rendererV2().symbols() with .renderer().symbol() and access the symbol directly

AttributeError: 'QgsVectorLayer' object has no attribute 'setRendererV2'

To fix: replace .setRendererV2(renderer) with .setRenderer(renderer)

NameError: name 'QGis' is not defined

To fix: replace QGis.xxx with Qgis.xxx (note change in case from QG to Qg )

TypeError: QgsCoordinateTransform(): arguments did not match any overloaded call:

To fix: add QgsProject.instance() to QgsCoordinateTransform() call

TypeError: QgisInterface.newProject(): 'thePromptToSaveFlag' is not a valid keyword argument

To fix: replace thePromptToSaveFlag with promptToSaveFlag

TypeError: QgsProject.read(): arguments did not match any overloaded call:

To fix: remove QFileInfo and just pass string to QgsProject.read()

TypeError: QgsRectangle(): arguments did not match any overloaded call:

To fix: replace instances of QgsPoint with QgsPointXY

TypeError: QgsRubberBand.addPoint(): argument 1 has unexpected type 'QgsPoint'

To fix: replace instances of QgsPoint with QgsPointXY

If the message you are getting when trying to migrate your plugin is not on this page, you can refer to:

  • The QGIS API 'Backwards Incompatible Changes' (a.k.a. API Break) page
  • The QGIS 'Plugin migration to QGIS 3' page
  • GIS for Thought's useful walk-through on 'Updating A Plugin From QGIS 2 to QGIS 3'
  • Stack Exchange's essential 'Geographical Information Systems' Q&A site

I also found the First Aid QGIS plugin quite useful throughout the process, see:
First Aid's GitHub page and their blog post introducing it for more details.

Contributions to improve this document are welcome, whether in the form or corrections, changes, additional entries, or anything else you see fit. Please submit a pull request.

/>
common-qgis-2-to-3-plugin-fixes is licensed under a Creative Commons Attribution 4.0 International License.


شاهد الفيديو: ليش الاعب مالف حل مشكلة عدم إعطاء اللفة التاج او الورقة الرابحة بعد الوصل للتاج او الورقة الرابحة