أكثر

يتعطل QGIS 2.4 عند ترميز QgsComposerShape في Python باستخدام ScriptRunner


أحاول استخدام ScriptRunner لإخراج ملف jpeg لمستطيل أحمر باستخدام QGIS Composer لفهم QgsComposerShape. كل شيء يعمل باستثناء تعطل QGIS عند تطبيق الرمز. يتم إنتاج الصورة الناتجة بشكل صحيح ولكن QGIS يتعطل. إذا قمت بإزالة جزء الرمز من الكود ، فإنه يرسم مخطط المستطيل ولا يتعطل. إذا قمت بتشغيل نفس التعليمات البرمجية سطرًا سطرًا في وحدة تحكم QGIS Python ، فكل شيء يعمل دون تعطل.

أنا فقط لا أفهم لماذا يؤدي استخدام المكون الإضافي ScriptRunner إلى حدوث عطل. بالنظر حول GIS-SE ، لا يمكنني العثور على هذه المشكلة بالضبط ولكن يبدو أن هناك مشكلات أخرى تتعلق بالمكونات الإضافية والرموز. هل هناك بعض الحلول لهذه المشكلة؟

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

من PyQt4.QtCore استيراد * من PyQt4.QtGui استيراد * من استيراد qgis.core * من qgis.gui استيراد * def run_script (iface): "" "طباعة خريطة بسيطة باستخدام مستطيل" "" lyr = QgsVectorLayer ("/ المستخدمون /joellawhead/qgis_data/ms/Mississippi.shp "،" Mississippi "،" ogr ") reg = QgsMapLayerRegistry.instance () reg.addMapLayer (lyr) c = QgsComposition (iface.mapCanvas (). mapRenderer ()) cty.setPlot (QgsComposition.Print) c.setPaperSize (215.9، 279.4) w، h = c.paperWidth ()، c.paperHeight () x = 0 y = ((h * .2) * -1) / 2 composerMap = QgsComposerMap ( c ، x ، y ، w ، h) c.addItem (composerMap) dpi = c.printResolution () c.setPrintResolution (dpi) dpmm = dpi / 25.4 width = int (dpmm * c.paperWidth ()) height = int ( dpmm * c.paperHeight ()) أحمر = {'color': '255،0،0،255'، 'color_border': '0،0،255،255'} redsym = QgsFillSymbolV2.createSimple (red) shape1 = QgsComposerShape (10،50،10 ، 25، c) shape1.setShapeType (1) shape1.setUseSymbolV2 (True) shape1.setShapeStyleSymbol (redsym) c.addItem (shape1) # إنشاء صورة الإخراج وتهيئتها تخيل e = QImage (QSize (width، height)، QImage.Format_ARGB32) image.setDotsPerMeterX (dpmm * 1000) image.setDotsPerMeterY (dpmm * 1000) image.fill (0) # تقديم صورة التكوين الرسام = QPainter (صورة) المصدر المنطقة = QRectF (0، 0، c.paperWidth ()، c.paperHeight ()) targetArea = QRectF (0، 0، width، height) c.render (imagePainter ، targetArea ، sourceArea) imagePainter.end () image.save ("/ Users / joellawhead / qgis_data / map.jpg ">

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


لقد اختبرت البرنامج النصي للتو ويعمل بشكل جيد أيضًا بواسطة ScriptRunner. الشيء الوحيد الذي اضطررت إلى تغييره إلى الكود أعلاه هو تهيئة فئة QgsFillSymbolV2 ؛-):

redsym = QgsFillSymbolV2 () redsym.createSimple (أحمر)

على أي حال ، سنحصل على إصدار رائع آخر في الحادي والثلاثين :)


Сновные инструменты¶

يوفر QGIS اختصارات لوحة المفاتيح الافتراضية للعديد من الميزات. يمكنك أن تجدهم في القسم лавное меню. بالإضافة إلى ذلك ، خيار القائمة الإعدادات ‣ تكوين الاختصارات .. يسمح لك بتغيير اختصارات لوحة المفاتيح الافتراضية وإضافة اختصارات لوحة مفاتيح جديدة إلى ميزات QGIS.

اختصارات الشكل 1:

تحديد خيارات الاختصار (جنوم)

التكوين بسيط للغاية. ما عليك سوى اختيار ميزة من القائمة والنقر فوق [يتغيرون], [عدم تعيين] أو [الوضع الإفتراضي]. بمجرد الانتهاء من التهيئة ، يمكنك حفظه كملف XML وتحميله إلى تثبيت QGIS آخر.


1 إجابة 1

يمكنك تنزيل إصدارات أقدم من QGIS هنا:

2.18 ومع ذلك لم يعد مدعومًا. لذلك لن يكون هناك المزيد من إصلاحات الأخطاء. 3.4 هو الآن إصدار ltr.

لذلك لم يكن تعليقي صحيحًا تمامًا. لا يزال بإمكانك تثبيت QGIS 2.18 من خلال مثبت OSGeo4W ، ولن يكون LTR ، لأنه ليس LTR. ولكن يمكن تثبيته. تحتاج فقط إلى إلغاء تحديد "إخفاء الحزم القديمة":

آسف ، لكن هذا لا يعمل بالنسبة لي. أحتاج إلى تثبيت Osgeo4W64 بالكامل مع 2.18 لتر.


تعطل وحدة C ++ في Blender ولكن ليس في وحدة تحكم Python [مغلق]

تريد تحسين هذا السؤال؟ قم بتحديث السؤال بحيث يكون موضوعًا لـ Blender Stack Exchange.

لقد صنعت وحدة Python C ++ لتحسين مسار الكاميرا. يتم إجراء الجبر الخطي باستخدام مكتبة Eigen وتجميع لغة Python باستخدام pybind.

أستخدم نموذج الكاميرا الخاص بي لإجراء العمليات الحسابية.

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

لقد ألقيت نظرة على سجل الأعطال ، لكن لا يمكنني فهمه حقًا. أظن أن هذا السطر / blender (_ZN5Eigen8IOFormatD1Ev+0xd3) [0x2041673] هو الجاني ، لأنه قد يكون له علاقة بمكتبة Eigen ومحاذاة الذاكرة ولكني لست متأكدًا لأنه يعمل بشكل عام في Python.

هل لدى أي شخص أي فكرة عن سبب حدوث ذلك؟ يمكن لأي شخص أن يساعدني في فهم السجل؟

البرنامج النصي (optFlowCam هي الوحدة الخاصة بي)

مع errorhandler.enable () ، أحصل على

لذلك فهي بالتأكيد مسألة ذاكرة من نوع ما.

تم تجميع الوحدة النمطية لـ Python 3.7. تستخدم وحدة التحكم Anaconda Python 3.7.5 ويستخدم Blender 3.7.4. رمز الوحدة طويل (ملفات متعددة) وغير متاح للجمهور. أنسخ الوحدة المترجمة في مجلد & ltblender Version & gt / python / lib / python3.7 لتحميله.


QGIS للتاريخ وعلم الآثار

أنا & # x27ve كنت أستخدم QGIS لفترة من الوقت الآن لتحليل منطقتي المحلية من أجل المعالم التاريخية والأثرية نيابة عن مجتمع التاريخ المحلي. ومع ذلك ، فإنني & # x27m مدرك & # x27m فقط خدش سطح الميزات التي يوفرها QGIS. هل حصل أي شخص على حالة استخدام جديدة لـ QGIS لهذا النوع من الأشياء؟

بيانات LIDAR المستوردة من نموذج التضاريس الرقمية (DTM) للبحث عن الميزات المخفية في المناظر الطبيعية ، والتي ليست واضحة على الفور من صور القمر الصناعي.

تمت إضافة منحدر لوني ، ممتد ليلائم طبولوجيا المنطقة التي أهتم بها.

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

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

تم تصدير أجزاء من النموذج إلى نموذج قابل للعرض في مستعرض ثلاثي الأبعاد ، باستخدام المكون الإضافي qgis2threejs. يتضمن ذلك ميزة المستوى المخصص ، للسماح لي تقريبًا & # x27flood & # x27 ببعض ميزات المياه التي تم تصريفها منذ فترة طويلة.

إضافة طبقات من خرائط الويب (WMS و WFS و TMS و WMTS) في النموذج الخاص بي.

إنها أداة ممتازة ، وأنا أكتشف المزيد عنها كل يوم. لماذا يستخدم المؤرخون وعلماء الآثار QGIS أيضًا؟

أهلا! أنا أيضًا عالم آثار ومحاضر في جامعة سنترال فلوريدا. أستخدم QGIS في جميع أعمالي وتدريسي. & # x27m إنشاء سلسلة تعليمية تسمى QGIS 4 Arch على https://www.youtube.com/playlist؟list=PLqiB3IIUNAnU8vPcuea6A9pB7Y_qQBH1u آمل أن يساعد ذلك & # x27ll. & # x27ll سأقوم بتحميل مقاطع فيديو جديدة في الأسابيع المقبلة ، بعد أن أنهي بعض العمل الميداني.

لقد قمت & # x27 بعمل عدد قليل من هذه الدروس الآن. إنها ممتازة. لقد سد هذا عددًا من الثغرات بالنسبة لي. أحب بشكل خاص استيراد ملف CSV للاكتشافات الأثرية بالتنسيق ثم تلوين العلامات حسب الفترة الزمنية. هناك & # x27s العديد من الأشياء هناك & # x27d لم أعمل على حلها بنفسي منذ مليون عام.

استمروا في العمل العظيم. أنا مشترك.

بصفتك عالم آثار زميل ، أشكرك كثيرًا على هذا. هل توجد مشكلة في DM أحيانًا في حال كان لدي أي سؤال أو أسئلة حول Qgis؟

& # x27m عالم آثار ومحلل نظم المعلومات الجغرافية من الولايات المتحدة ، وأردت التحدث إلى شيء مختلف قليلاً. أراكم & # x27re من المملكة المتحدة ويبدو دائمًا أن علم الآثار العام / الهواة يُنظر إليه بشكل مختلف قليلاً عن هنا في الولايات المتحدة ، لذا فإن ما أوشك على قوله قد لا ينطبق عليك من الناحية القانونية ولكن ربما من الناحية الأخلاقية.

ببساطة: كن حذرًا بشأن أمان البيانات. تعرف على من وأين سيتم توزيع منتجاتك.

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

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


شاهد الفيديو: Teil9 in QGIS einbinden (شهر اكتوبر 2021).