الانتقال إلى المحتوى الرئيسي
تحتوي مجموعة البيانات هذه على قياسات تاريخية لعمليات الرصد الجوي خلال آخر 128 سنة. ويمثل كل صف قياسًا لنقطة محددة من حيث التاريخ والوقت ومحطة أرصاد جوية. يتوفر مصدر مجموعة البيانات هذه هنا، كما يمكن العثور على قائمة أرقام محطات أرصاد جوية هنا.
تشمل مصادر مجموعات بيانات الأرصاد الجوية محطات الأرصاد التي أنشأتها إدارة مركزية للأرصاد الجوية (يبدأ رمز المحطة بـ C0 وC1 و4)، ومحطات الأرصاد الزراعية التابعة لمجلس الزراعة (رمز المحطة بخلاف ما ذُكر أعلاه):
  • StationId
    • MeasuredDate، وقت الرصد
    • StnPres، ضغط الهواء في المحطة
    • SeaPres، الضغط عند مستوى سطح البحر
    • Td، درجة حرارة نقطة الندى
    • RH، الرطوبة النسبية
    • عناصر أخرى حيثما كانت متاحة

تنزيل البيانات

  • نسخة معالجة مسبقًا من البيانات المخصّصة لـ ClickHouse، وقد جرى تنظيفها وإعادة تنظيمها وإثراؤها. تغطي مجموعة البيانات هذه الفترة من 1896 إلى 2023.
  • نزّل البيانات الخام الأصلية وحوّلها إلى التنسيق المطلوب في ClickHouse. قد يرغب المستخدمون الذين يريدون إضافة أعمدة خاصة بهم في استكشاف أساليبهم الخاصة أو إتمامها.

البيانات المُعالجة مسبقًا

أُعيدت أيضًا هيكلة مجموعة البيانات من قياس واحد في كل سطر إلى صف واحد لكل معرّف محطة أرصاد جوية وتاريخ القياس، أي:
StationId,MeasuredDate,StnPres,Tx,RH,WS,WD,WSGust,WDGust,Precp,GloblRad,TxSoil0cm,TxSoil5cm,TxSoil20cm,TxSoil50cm,TxSoil100cm,SeaPres,Td,PrecpHour,SunShine,TxSoil10cm,EvapA,Visb,UVI,Cloud Amount,TxSoil30cm,TxSoil200cm,TxSoil300cm,TxSoil500cm,VaporPressure
C0X100,2016-01-01 01:00:00,1022.1,16.1,72,1.1,8.0,,,,,,,,,,,,,,,,,,,,,,,
C0X100,2016-01-01 02:00:00,1021.6,16.0,73,1.2,358.0,,,,,,,,,,,,,,,,,,,,,,,
C0X100,2016-01-01 03:00:00,1021.3,15.8,74,1.5,353.0,,,,,,,,,,,,,,,,,,,,,,,
C0X100,2016-01-01 04:00:00,1021.2,15.8,74,1.7,8.0,,,,,,,,,,,,,,,,,,,,,,,
من السهل إجراء استعلام والتأكد من أن الجدول الناتج أقل تناثرًا، وأن بعض القيم تكون NULL لأنها غير متاحة للقياس في محطة الأرصاد هذه. مجموعة البيانات هذه متاحة في موقع Google CloudStorage التالي. يمكنك إما تنزيل مجموعة البيانات إلى نظام الملفات المحلي لديك (وإدراجها باستخدام عميل ClickHouse) أو إدراجها مباشرةً في ClickHouse (راجع الإدراج من URL). للتنزيل:
wget https://storage.googleapis.com/taiwan-weather-observaiton-datasets/preprocessed_weather_daily_1896_2023.tar.gz

# Option: Validate the checksum
md5sum preprocessed_weather_daily_1896_2023.tar.gz
# Checksum should be equal to: 11b484f5bd9ddafec5cfb131eb2dd008

tar -xzvf preprocessed_weather_daily_1896_2023.tar.gz
daily_weather_preprocessed_1896_2023.csv

# Option: Validate the checksum
md5sum daily_weather_preprocessed_1896_2023.csv
# Checksum should be equal to: 1132248c78195c43d93f843753881754

البيانات الخام الأصلية

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

تنزيل

لتنزيل البيانات الخام الأصلية:
mkdir tw_raw_weather_data && cd tw_raw_weather_data

wget https://storage.googleapis.com/taiwan-weather-observaiton-datasets/raw_data_weather_daily_1896_2023.tar.gz

# Option: Validate the checksum
md5sum raw_data_weather_daily_1896_2023.tar.gz
# Checksum should be equal to: b66b9f137217454d655e3004d7d1b51a

tar -xzvf raw_data_weather_daily_1896_2023.tar.gz
466920_1928.csv
466920_1929.csv
466920_1930.csv
466920_1931.csv
...

# Option: Validate the checksum
cat *.csv | md5sum
# Checksum should be equal to: b26db404bf84d4063fac42e576464ce1

جلب محطات الأرصاد الجوية في تايوان

wget -O weather_sta_list.csv https://github.com/Raingel/weather_station_list/raw/main/data/weather_sta_list.csv

# Option: Convert the UTF-8-BOM to UTF-8 encoding
sed -i '1s/^\xEF\xBB\xBF//' weather_sta_list.csv

إنشاء مخطط الجدول

أنشئ جدول MergeTree في ClickHouse (باستخدام عميل ClickHouse).
CREATE TABLE tw_weather_data (
    StationId String null,
    MeasuredDate DateTime64,
    StnPres Float64 null,
    SeaPres Float64 null,
    Tx Float64 null,
    Td Float64 null,
    RH Float64 null,
    WS Float64 null,
    WD Float64 null,
    WSGust Float64 null,
    WDGust Float64 null,
    Precp Float64 null,
    PrecpHour Float64 null,
    SunShine Float64 null,
    GloblRad Float64 null,
    TxSoil0cm Float64 null,
    TxSoil5cm Float64 null,
    TxSoil10cm Float64 null,
    TxSoil20cm Float64 null,
    TxSoil50cm Float64 null,
    TxSoil100cm Float64 null,
    TxSoil30cm Float64 null,
    TxSoil200cm Float64 null,
    TxSoil300cm Float64 null,
    TxSoil500cm Float64 null,
    VaporPressure Float64 null,
    UVI Float64 null,
    "Cloud Amount" Float64 null,
    EvapA Float64 null,
    Visb Float64 null
)
ENGINE = MergeTree
ORDER BY (MeasuredDate);

إدراج البيانات في ClickHouse

الإدراج من ملف محلي

يمكن إدراج البيانات من ملف محلي كما يلي (باستخدام عميل ClickHouse):
INSERT INTO tw_weather_data FROM INFILE '/path/to/daily_weather_preprocessed_1896_2023.csv'
حيث يمثّل /path/to مسار المستخدم المحدّد إلى الملف المحلي على القرص. ويكون ناتج الاستجابة النموذجي كما يلي بعد إدراج البيانات في ClickHouse:
Query id: 90e4b524-6e14-4855-817c-7e6f98fbeabb

Ok.
131985329 rows in set. Elapsed: 71.770 sec. Processed 131.99 million rows, 10.06 GB (1.84 million rows/s., 140.14 MB/s.)
Peak memory usage: 583.23 MiB.

الإدراج من عنوان URL

INSERT INTO tw_weather_data SELECT *
FROM url('https://storage.googleapis.com/taiwan-weather-observaiton-datasets/daily_weather_preprocessed_1896_2023.csv', 'CSVWithNames')

لمعرفة كيفية تسريع هذه العملية، يُرجى الاطلاع على تدوينتنا حول تحسين تحميل كميات كبيرة من البيانات.

تحقّق من صفوف البيانات وأحجامها

  1. لِنَرَ عدد الصفوف التي أُدرِجت:
SELECT formatReadableQuantity(count())
FROM tw_weather_data;
┌─formatReadableQuantity(count())─┐
│ 131.99 million                  │
└─────────────────────────────────┘
  1. لنرَ مقدار مساحة القرص المستخدمة لهذا الجدول:
SELECT
    formatReadableSize(sum(bytes)) AS disk_size,
    formatReadableSize(sum(data_uncompressed_bytes)) AS uncompressed_size
FROM system.parts
WHERE (`table` = 'tw_weather_data') AND active
┌─disk_size─┬─uncompressed_size─┐
│ 2.13 GiB  │ 32.94 GiB         │
└───────────┴───────────────────┘

استعلامات نموذجية

س1: استرجاع أعلى درجة حرارة عند نقطة الندى لكل محطة أرصاد جوية خلال سنة محددة

SELECT
    StationId,
    max(Td) AS max_td
FROM tw_weather_data
WHERE (year(MeasuredDate) = 2023) AND (Td IS NOT NULL)
GROUP BY StationId
┌─StationId─┬─max_td─┐
│ 466940    │      1 │
│ 467300    │      1 │
│ 467540    │      1 │
│ 467490    │      1 │
│ 467080    │      1 │
│ 466910    │      1 │
│ 467660    │      1 │
│ 467270    │      1 │
│ 467350    │      1 │
│ 467571    │      1 │
│ 466920    │      1 │
│ 467650    │      1 │
│ 467550    │      1 │
│ 467480    │      1 │
│ 467610    │      1 │
│ 467050    │      1 │
│ 467590    │      1 │
│ 466990    │      1 │
│ 467060    │      1 │
│ 466950    │      1 │
│ 467620    │      1 │
│ 467990    │      1 │
│ 466930    │      1 │
│ 467110    │      1 │
│ 466881    │      1 │
│ 467410    │      1 │
│ 467441    │      1 │
│ 467420    │      1 │
│ 467530    │      1 │
│ 466900    │      1 │
└───────────┴────────┘

30 rows in set. Elapsed: 0.045 sec. Processed 6.41 million rows, 187.33 MB (143.92 million rows/s., 4.21 GB/s.)

س2: جلب البيانات الخام لمدة محددة، ضمن نطاق زمني معيّن، مع الحقول ومحطة أرصاد جوية

SELECT
    StnPres,
    SeaPres,
    Tx,
    Td,
    RH,
    WS,
    WD,
    WSGust,
    WDGust,
    Precp,
    PrecpHour
FROM tw_weather_data
WHERE (StationId = 'C0UB10') AND (MeasuredDate >= '2023-12-23') AND (MeasuredDate < '2023-12-24')
ORDER BY MeasuredDate ASC
LIMIT 10
┌─StnPres─┬─SeaPres─┬───Tx─┬───Td─┬─RH─┬──WS─┬──WD─┬─WSGust─┬─WDGust─┬─Precp─┬─PrecpHour─┐
│  1029.5 │    ᴺᵁᴸᴸ │ 11.8 │ ᴺᵁᴸᴸ │ 78 │ 2.7 │ 271 │    5.5 │    275 │ -99.8 │     -99.8 │
│  1029.8 │    ᴺᵁᴸᴸ │ 12.3 │ ᴺᵁᴸᴸ │ 78 │ 2.7 │ 289 │    5.5 │    308 │ -99.8 │     -99.8 │
│  1028.6 │    ᴺᵁᴸᴸ │ 12.3 │ ᴺᵁᴸᴸ │ 79 │ 2.3 │ 251 │    6.1 │    289 │ -99.8 │     -99.8 │
│  1028.2 │    ᴺᵁᴸᴸ │   13 │ ᴺᵁᴸᴸ │ 75 │ 4.3 │ 312 │    7.5 │    316 │ -99.8 │     -99.8 │
│  1027.8 │    ᴺᵁᴸᴸ │ 11.1 │ ᴺᵁᴸᴸ │ 89 │ 7.1 │ 310 │   11.6 │    322 │ -99.8 │     -99.8 │
│  1027.8 │    ᴺᵁᴸᴸ │ 11.6 │ ᴺᵁᴸᴸ │ 90 │ 3.1 │ 269 │   10.7 │    295 │ -99.8 │     -99.8 │
│  1027.9 │    ᴺᵁᴸᴸ │ 12.3 │ ᴺᵁᴸᴸ │ 89 │ 4.7 │ 296 │    8.1 │    310 │ -99.8 │     -99.8 │
│  1028.2 │    ᴺᵁᴸᴸ │ 12.2 │ ᴺᵁᴸᴸ │ 94 │ 2.5 │ 246 │    7.1 │    283 │ -99.8 │     -99.8 │
│  1028.4 │    ᴺᵁᴸᴸ │ 12.5 │ ᴺᵁᴸᴸ │ 94 │ 3.1 │ 265 │    4.8 │    297 │ -99.8 │     -99.8 │
│  1028.3 │    ᴺᵁᴸᴸ │ 13.6 │ ᴺᵁᴸᴸ │ 91 │ 1.2 │ 273 │    4.4 │    256 │ -99.8 │     -99.8 │
└─────────┴─────────┴──────┴──────┴────┴─────┴─────┴────────┴────────┴───────┴───────────┘

10 rows in set. Elapsed: 0.009 sec. Processed 91.70 thousand rows, 2.33 MB (9.67 million rows/s., 245.31 MB/s.)

الشكر والتقدير

نود أن نعرب عن تقديرنا لجهود الإدارة المركزية للأرصاد الجوية وشبكة الرصد الأرصادي الزراعي (المحطة) التابعة لمجلس الزراعة في إعداد مجموعة البيانات هذه وتنقيحها وتوزيعها. ونحن نثمّن جهودكم. Ou, J.-H., Kuo, C.-H., Wu, Y.-F., Lin, G.-C., Lee, M.-H., Chen, R.-K., Chou, H.-P., Wu, H.-Y., Chu, S.-C., Lai, Q.-J., Tsai, Y.-C., Lin, C.-C., Kuo, C.-C., Liao, C.-T., Chen, Y.-N., Chu, Y.-W., Chen, C.-Y., 2023. نموذج تعلّم عميق موجّه للتطبيقات للإنذار المبكر بمرض لفحة الأرز في تايوان. Ecological Informatics 73, 101950. https://doi.org/10.1016/j.ecoinf.2022.101950 [13/12/2022]
آخر تعديل في ٢٩ يونيو ٢٠٢٦