أكثر

البرنامج المساعد QGIS: الاتصال بإشارات Maptool المضلعة


أثناء العمل على مكون إضافي جديد ، أحاول توصيل وظيفة مخصصة بإشارة الماوس الأيمن أثناء استخدام المضلع لتحديد أداة maptool.

لقد قمت بتنشيط Maptool من خلال:

def run (self): self.iface.actionSelectPolygon (). المشغل ()

وأود الآن توصيل وظيفة selectSite الخاصة بي بإشارة canvasReleaseEvent أو إشارة مماثلة. من خلال برنامج تعليمي مثير للاهتمام هنا ، قمت بتكييف الكود وجربت السطر أدناه الذي فشل:

def run (self): self.iface.actionSelectPolygon (). trigger () نتيجة = QObject.connect (self.canvas.mapTool ()، SIGNAL ("canvasReleaseEvent ()") و self.selectSite) حدد تحديد موقع (ذاتي): QMessageBox.information (self.iface.mainWindow () ، "معلومات" ، "في وظيفة selectSite")

هل هناك طريقة أخرى عن طريق الاتصال بإشارة نقر ماوس Qt أكثر عمومية؟

أي أفكار أو تلميحات حول كيف يمكنني تحقيق هدفي؟


ArcGIS

لقد ذكرت في آخر مشاركة حول التبديل إلى spatialite من أجل مقدمة إلى فئة QGIS. كان لدي الكثير من القيادة لأقوم به منذ بضع ليال ، لذلك بدأت في رسم المزيد منها. الفكرة الثانية هي أنني سأستخدم نفس البيانات التي أستخدمها لفئة QGIS. وهو ما يتركني في الواقع مع كومة من البيانات التي كنت ألعب بها مؤخرًا & # 8230. والتي كانت من قبيل الصدفة الأولى على الرغم من ذلك: لقد حصلت على بعض البيانات التي تم تنزيلها بالفعل لدرجة أنني لن أستخدمها في الفصل الدراسي.

لذا & # 8211 سأقوم بسلسلة من منشورات المدونة على Spatialite و QGIS والأشياء بشكل عام بينما أتخبط في فكرة الفصل / البرنامج التعليمي.

لذلك فقط لبدء اللعب على قدم المساواة قدر الإمكان:

  • ملفات الأشكال: سيكون لديك على الأقل ثلاثة ملفات ستكون .shp .shx و .dbf. نظرًا لأن هذا التنسيق يعود إلى أوائل 90 & # 8217s (بقدر ما أستطيع أن أقول & # 8211 قادني البحث السريع في ويكيبيديا إلى هذا الطريق) فإنه & # 8217s باستخدام dbf لتخزين البيانات. لذا فأنت مقيد بـ 10 أحرف للحقول ولديك أيضًا نوبة بحد 2 غيغابايت. تجدها في كل مكان وتقريبا كل شيء يقرأها. إذا كنت تريد أن تقول & # 8220 أحتاج إلى تنسيق ملف واحد ، كل شيء يمكن أن يقرأ / يكتب & # 8221 & # 8211 جيدًا & # 8211 لديك.
  • Spatialite: SQLite هي قاعدة بيانات ملفات. يوسع Spatialite جوهر SQLite لتخزين الهندسة. لديك ملف واحد. عادةً ما يكون لهذا الملف الواحد الامتداد .sqlite أو أحيانًا بامتداد .db. إنه & # 8217s جديد (العش) بمظهر عام 2008. لقد كانت & # 8217s واحدة من تلك الأشياء التي قيلت منذ فترة طويلة & # 8220 هذا سيقتل من الشكل & # 8221 ولم يكن & # 8217t. في الغالب لأن ESRI سيقرأها وتحريرها قصة مختلفة تمامًا. الشيء المهم الذي يجب أن تكون على دراية به هو أن أحدث طفل جديد في الكتلة يسمى Geopackage وهو مبني حول المكاني. مع Geopackage ، يجب أن يكون كل شيء قادرًا على القراءة والكتابة بتنسيق واحد مشترك. لا يوجد & # 8217t الكثير من حدود الملفات مع spatialite & # 8211 حتى تتمكن من تجاوز علامة 2 جيجا بايت ولا تقلق بشأنها.

لدى Chattanooga موقع بيانات مفتوح. في موقع البيانات المفتوحة ، حصلنا & # 8217 على بعض بيانات الجريمة التي تم إصدارها والتي تُظهر أن الأشخاص يحتاجون حقًا إلى أن يكونوا أكثر لطفًا مع بعضهم البعض. أمسكت به. تم تصديره بتنسيق CSV ومن هناك نقله إلى QGIS.

فتحته في QGIS (باستخدام أداة إضافة طبقة نص محددة) لإلقاء نظرة عليه و 155240 ميزات لاحقًا:

أسماء أعمدة طويلة لطيفة وتحتوي على الكثير من المعلومات. أنا & # 8217m سأقوم بتفريغها إلى ملف الشكل:

& # 8230. واقتطاع العمود ولكن حجم الملف انخفض إلى حوالي 4.5 ميغا بايت ووقت العرض جيد. يستغرق التحديث من ثانيتين إلى ثلاث ثوانٍ. أريد حقًا أن تظل بياناتي سليمة على الرغم من & # 8211 أنا لا أحب & # 8217t إعادة تسمية عمود CodeDescription الخاص بي إلى CodeDescri.

لذلك مع QGIS ، سأقوم بحفظ ملف CSV الخاص بي باعتباره Spatialite. لتحويل / بيانات المشروع في QGIS ، انقر بزر الماوس الأيمن عليها وانتقل إلى & # 8220 حفظ باسم & # 8230 & # 8221:

لذا فإن التحويل نفسه ليس سريعًا. لم أقم & # 8217t الوقت ولكن كان قريبًا من 40 ثانية وهذا طويل بما يكفي لإثارة قلقك. تحقق قاعدة البيانات المكانية في 53 ميغا بايت. أكثر بقليل من ضعف ملف csv الأصلي ولكنه ليس فظيعًا. & # 8217 أبقيت أسماء الأعمدة كما هي.

حسنًا ، راندي & # 8211 ، لقد أخذت & # 8217 ملف CSV وألقيته في QGIS ثم رميته في شيء ويمكنني & # 8217t قراءته في ArcGIS.

ستكون لقطة الشاشة الوحيدة للبيانات التي ستحصل عليها من ArcMap (Arcview 10.3.1). ملاحظة & # 8211 يمكنك & # 8217t تعديله ولكن يمكنك قراءته (أفضل بكثير من الشيك الأخير مع 10.2.2)

فماذا بعد & # 8217s؟ ما هو & # 8217s الرائع في دفع بياناتك من ملفات الأشكال إلى Spatialite؟ لماذا ا؟

هذه الإجابات والمزيد ستظهر في الجزء الثاني.


شاهد الفيديو: GIS Lesson 11: WMS. WMTS. WFS in QGIS (شهر اكتوبر 2021).