GISarabia.org
PostGIS › الدليل الرسمي › 11. مرجع الرستر › 11.9. إحصاءات نطاقات الرستر وتحليلاتها
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_Histogram

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

ST_Histogram — تُعيد مجموعة من السجلات تلخّص توزيع بيانات رستر أو تغطية رستر على فئات (bins) منفصلة. يُحسب عدد الفئات تلقائيًا إذا لم يُحدَّد.

المختصر

SETOF record ST_Histogram(raster rast, integer nband=1, boolean exclude_nodata_value=true, integer bins=autocomputed, double precision[] width=NULL, boolean right=false);

SETOF record ST_Histogram(raster rast, integer nband, integer bins, double precision[] width=NULL, boolean right=false);

SETOF record ST_Histogram(raster rast, integer nband, boolean exclude_nodata_value, integer bins, boolean right);

SETOF record ST_Histogram(raster rast, integer nband, integer bins, boolean right);

الوصف

تُعيد مجموعة من السجلات تتكون من min وmax وcount وpercent لنطاق رستر معيّن لكل فئة. إذا لم يُحدَّد نطاق فالقيمة الافتراضية لـ nband هي 1.

[ملاحظة]

افتراضيًا تؤخذ في الحسبان فقط قيم البكسلات غير المساوية لقيمة nodata. اضبط exclude_nodata_value على false لعدّ جميع البكسلات.

width

width: مصفوفة تشير إلى عرض كل فئة. إذا كان عدد الفئات أكبر من عدد العروض، تُكرَّر العروض.

مثال: 9 فئات والعروض هي [a, b, c] سيكون الناتج [a, b, c, a, b, c, a, b, c]

bins

عدد الفئات -- وهو عدد السجلات التي ستُعيدها الدالة إذا حُدِّد. إذا لم يُحدَّد فإن عدد الفئات يُحسب تلقائيًا.

right

حساب المدرَّج التكراري من اليمين بدلًا من اليسار (الافتراضي). يغيّر هذا معيار تقييم القيمة x من [a, b) إلى (a, b]

تغيّرت في: 3.1.0 أُزيل الشكل ST_Histogram(table_name, column_name).

متاحة منذ: 2.0.0

مثال: بلاطة رستر واحدة - حساب المدرَّجات التكرارية للنطاقات 1 و2 و3 مع حساب الفئات تلقائيًا

SELECT band, (stats).*
FROM (SELECT rid, band, ST_Histogram(rast, band) As stats
    FROM dummy_rast CROSS JOIN generate_series(1,3) As band
     WHERE rid=2) As foo;

 band |  min  |  max  | count | percent
------+-------+-------+-------+---------
    1 |   249 |   250 |     2 |    0.08
    1 |   250 |   251 |     2 |    0.08
    1 |   251 |   252 |     1 |    0.04
    1 |   252 |   253 |     2 |    0.08
    1 |   253 |   254 |    18 |    0.72
    2 |    78 | 113.2 |    11 |    0.44
    2 | 113.2 | 148.4 |     4 |    0.16
    2 | 148.4 | 183.6 |     4 |    0.16
    2 | 183.6 | 218.8 |     1 |    0.04
    2 | 218.8 |   254 |     5 |     0.2
    3 |    62 | 100.4 |    11 |    0.44
    3 | 100.4 | 138.8 |     5 |     0.2
    3 | 138.8 | 177.2 |     4 |    0.16
    3 | 177.2 | 215.6 |     1 |    0.04
    3 | 215.6 |   254 |     4 |    0.16

مثال: النطاق 2 فقط ولكن بـ 6 فئات

SELECT (stats).*
FROM (SELECT rid, ST_Histogram(rast, 2,6) As stats
    FROM dummy_rast
     WHERE rid=2) As foo;

    min     |    max     | count | percent
------------+------------+-------+---------
         78 | 107.333333 |     9 |    0.36
 107.333333 | 136.666667 |     6 |    0.24
 136.666667 |        166 |     0 |       0
        166 | 195.333333 |     4 |    0.16
 195.333333 | 224.666667 |     1 |    0.04
 224.666667 |        254 |     5 |     0.2
(6 rows)

-- Same as previous but we explicitly control the pixel value range of each bin.
SELECT (stats).*
FROM (SELECT rid, ST_Histogram(rast, 2,6,ARRAY[0.5,1,4,100,5]) As stats
    FROM dummy_rast
     WHERE rid=2) As foo;

  min  |  max  | count | percent
-------+-------+-------+----------
    78 |  78.5 |     1 |     0.08
  78.5 |  79.5 |     1 |     0.04
  79.5 |  83.5 |     0 |        0
  83.5 | 183.5 |    17 |   0.0068
 183.5 | 188.5 |     0 |        0
 188.5 |   254 |     6 | 0.003664
(6 rows)