أكثر

خريطة الجبر في QGIS

خريطة الجبر في QGIS


كيف تحسب الانحراف المعياري لكل خطوط نقطية إذا كان لديك مجموعة من البيانات النقطية (100)؟ كنت أبحث في الآلة الحاسبة النقطية ، لكنني لم أجدها. كما أن google تعيد توجيهي إلى استخدام R أو python. لكنني بدأت للتو في التعلم.

هل هناك طريقة سهلة؟ أو يجب أن أبدأ بالفعل في تعلم لغة python / R.

لقد رأيت وظيفة واحدة هنا. حول Grass ، لكنهم كانوا يحسبون stdev. عبر نقطية متعددة.


كانت إحدى الطرق التي استخدمتها منذ فترة طويلة هي طباعة الانحرافات المعيارية في ملف وحدة تحكم بايثون في QGIS. أود أولاً تحميل جميع طبقات البيانات النقطية (أسهل إذا تم الاحتفاظ بها في نفس الدليل):

استيراد نظام التشغيل ، طبقات الكرة الأرضية = [] raster_path = "C:  Users  You  Desktop  Raster_folder " # المسار إلى الدليل الذي يحتوي على البيانات النقطية للنقطية في glob.glob (raster_path + "* .tif"): layer = QgsRasterLayer ( طبقات النقطية ، os.path.basename (النقطية)) ، إضافة (طبقة) QgsMapLayerRegistry.instance ().

ثم استخدم ما يلي للتكرار خلال الطبقات وطباعة الانحراف المعياري:

الطبقات = QgsMapLayerRegistry.instance (). mapLayers (). قيم () للطبقة في الطبقات: Provider = layer.dataProvider () ext = layer.extent () stats = Provider.bandStatistics (1، QgsRasterBandStats.All، ext، 0) طباعة layer.name () + ":" ، "stdDev =" ، stats.stdDev

أتمنى أن يساعدك هذا!


لا تحتاج إلى كتابة رمز إذا كان لديك GDAL مثبتًا (إذا كان لديك QGIS مثبتًا ، فيجب أن يكون هذا هو الحال ، ولكن يمكنك تثبيت GDAL بشكل منفصل إذا كنت تريد / تحتاج إلى)

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

الgdalinfoأداة بها-الحالاتالخيار سوف يبصق عدة إحصائيات موجزة لكل نطاق في النقطية: -

… snip… Band 1 Block = 1000x1 النوع = Float32 ، ColorInterp = الحد الأدنى غير المحدد = 11.550 الحد الأقصى = 26.510 الحد الأدنى = 11.550 ، الحد الأقصى = 26.510 ، المتوسط ​​= 14.233 ، StdDev = 0.837 قيمة البيانات غير المحددة = -9999 البيانات الوصفية: STATISTICS_MAXIMUM = 26.51000022888212MISTICS = 14MIS = 11.550000190735 STATISTICS_STDDEV = 0.83723688736979

إذا كنت تستخدم Linux ، فيمكن إعداد برنامج نصي قصير لاستخراج STDDEV للملفات المتعددة. في هذه الحالة ، أواجه مئات من مربعات شبكة ascii الصغيرة لبيانات Open Lidar ، وأحصل على stddev منفصل لكل منها. يمكنك ببساطة تغيير هذا إلى * .tiff؛ يدعم GDAL الكثير من التنسيقات النقطية.

#! / bin / bash لـ i في $ (ls * .asc) ؛ هل gdalinfo -stats $ i | تم إجراء grep STDDEV

يجب أن تكون قادرًا على القيام بشيء مماثل على Windows إذا كنت تستخدم ذلك.


شاهد الفيديو: المحاضرة الخامسة. تبسيط الدواءر الرقمية. الجبر البولي + خريطة كارنوف