كيفية معالجة صور الأقمار الصناعية مع Sen2Cor

Sen2Cor - برنامج لمعالجة الصور المأخوذة من القمر الصناعي Sentinel-2. توضح المقالة كيفية تثبيته وتشغيله وتكوينه.

صور الأقمار الصناعية قبل وبعد المعالجة مع Sen2Cor

في القضاء ، كنت بحاجة إلى إجراء تصحيح جوي للصور من القمر الصناعي Sentinel-2. ماجستير في علم البيئة ، لذلك لم يكن من الممكن الخوض في الفيزياء والرياضيات ، ولكن استخدام أداة جاهزة. تم العثور على هذه الأداة - Sen2Cor.

ما هو الحارس 2
Sentinel-2 — , (ESA) 2015 . 13 , . — , . 100 100 . — 10 . — Copernicus Open Access Hub USGS Earth Explorer.

المشكلة هي أنه لا يوجد تعليمات واضحة لـ Sen2Cor. لا يدخل مؤلفو كتب المعلوماتية الجغرافية في أدغال مثل العمل مع برامج محددة ، وعلى العكس من ذلك ، يعتقد مؤلفو المقالات العلمية أن تصحيح الصورة هو جزء بسيط جدًا من المنهجية ، لذلك لا يصفونه بالتفصيل. على مواقع "للدمى" (وليس للدمى تمامًا) ، لا يكتب Sen2Cor أيضًا. الوثائق الرسمية مربكة: يكفي أن نقول أن قسم "التثبيت" في الصفحة 26 من "دليل المستخدم" يشير على الفور إلى الصفحة 60 من ملاحظات الإصدار. استغرق الأمر مني بعض الوقت لمعرفة ذلك.

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

بالمعنى الدقيق للكلمة ، لا يقوم Sen2Cor بتصحيح الغلاف الجوي فحسب ، بل أيضًا تصحيح لزاوية الشمس والتضاريس ، بالإضافة إلى تصنيف مواضيعي (تصنيف المشهد) ، ولكن بالنسبة لي كان أهم شيء هو تصحيح الغلاف الجوي. لذلك ، من أجل البساطة ، أكتب أحيانًا "تصحيح جوي" بدلاً من "معالجة" ، على الرغم من أن هذا غير دقيق.

يعمل Sen2Cor في ثلاثة أوضاع: كتطبيق مستقل لوحدة التحكم ، وكبرنامج مساعد في Sentinel-2 Toolbox وكتطبيق وحدة تحكم مستخدم في PDGS (الجزء الأرضي لبيانات الحمولة). PDGS هو مركز بيانات أرضي يتم استقباله من الأقمار الصناعية. هو في إيطاليا في معهد للبحوث. نظريًا ، يمكنك تشغيل Sen2Cor في نفس الوضع الذي تم تشغيله فيه في مركز البيانات ، ولكن للتشغيل تحتاج إلى بيانات لا يمكن تنزيلها على الإنترنت ، لذلك لن نفكر في هذا الخيار. تم تجاوز Sentinel-2 Tolobox أيضًا ، لأنني لم أعمل مع هذا البرنامج. يحتوي على واجهة رسومية ، لذلك أعتقد أن فهم عملها ليس صعبًا. لذا ، توضح هذه المقالة كيفية استخدام Sen2Cor في وضع وحدة التحكم.

يعمل Sen2Cor على أنظمة تشغيل Windows و MacOS و Linux 64 بت. لديّ Linux ، لذا سأعرض الأوامر باستخدام Linux كمثال. ومع ذلك ، فإن الفرق الوحيد هو في المثبتات وفي مسارات الملفات.

يتطلب Sen2Cor 4 غيغابايت من ذاكرة الوصول العشوائي. إذا كان أقل ، سيبدأ ، ولكن قد يتعطل في منتصف المعالجة. يعتمد استهلاك ذاكرة الوصول العشوائي (RAM) على دقة الصور التي تم التقاطها ، لذلك إذا كانت الذاكرة صغيرة والبرنامج يعطي خطأ بسبب ذلك ، يمكنك البدء في المعالجة بدقة أقل. يتم وصف كيفية القيام بذلك أدناه. لا توجد متطلبات صارمة مماثلة للمعالج ، ولكن كلما كان المعالج أضعف ، كلما استغرقت المعالجة وقتًا أطول.

التركيب


تحتاج إلى تنزيل المثبت وتشغيله. تمت كتابة Sen2Cor في Python ، ومع ذلك ، فإن المترجم وجميع الحزم الضرورية موجودة في المثبت ، لذلك لا تحتاج إلى تثبيت Python بنفسك وتكوين البيئة.

افترض أن لدينا مستخدم مستخدم مع دليل المنزل /home/user. قم بإنشاء مجلد في الدليل الرئيسي spaceshotsالذي سنعمل فيه مع الصور. سيكون المسار الكامل للمجلد /home/user/spaceshots.

بعد ذلك ، قم بتنزيل المثبت وتشغيله. افتح صفحة Sen2Corعلى موقع أجهزة وكالة الفضاء الأوروبية. هناك إصداران من البرنامج: 2.5.5 و 2.8. يعد تثبيت 2.8 أفضل: فهو يستهلك ذاكرة وصول عشوائي أقل ويحتوي على أخطاء أقل. قد تكون هناك حاجة إلى الإصدار 2.5.5 إذا كنت بحاجة إلى معالجة الصور التي تم التقاطها وفقًا للمواصفات القديمة. انقر على "Sen2Cor v2.8". في نهاية الصفحة في قسم "المثبتات المستقلة" توجد روابط لتنزيل المثبتات. قم بتنزيل البرنامج الذي يناسب نظام التشغيل الخاص بنا. في هذه الحالة ، يكون "Linux installer: Sen2Cor-02.08.00-Linux64.run". احفظ الملف /home/user/spaceshots.

بعد ذلك ، افتح وحدة التحكم ، وانتقل إلى الدليل spaceshotsوقم بتشغيل المثبت.

$ cd ~/spaceshots
$ ./Sen2Cor-02.08.00-Linux64.run

افتراضيًا ، يتم تثبيت البرنامج في الدليل الحالي. يتم إنشاء مجلد فيه Sen2Cor-02.08.00-Linux64، حيث يتم استخراج جميع ملفات البرنامج. بشكل عام ، يأتي التثبيت لتفريغ الأرشيف. وبالإضافة إلى ذلك، في الدليل الرئيسي يتم إنشاء مجلد للملفات التكوين والسجلات: /home/user/sen2cor/2.8.

إذا لم تكن هناك أخطاء ، فيجب أن يظهر نقش في وحدة التحكم «Congratulations, Installation successful...»واقتراحًا لاختبار التثبيت. دعنا نجري اختبارًا:

$ /home/user/spaceshots/Sen2Cor-02.08.00-Linux64/bin/L2A_Process -h 

/home/user/spaceshots/Sen2Cor-02.08.00-Linux64يحتوي هذا الأمر على الدليل حيث تم تثبيت Sen2Cor. binيحتوي المجلد على الملفات الرئيسية القابلة للتنفيذ للبرنامج ، بما في ذلك الملف الرئيسي L2A_Process. -hيقول الخيار أنك بحاجة إلى إظهار صفحة المساعدة. نتيجة لتنفيذ الأمر ، يجب أن يظهر ما يلي في وحدة التحكم:

usage: L2A_Process.py [-h] [--mode MODE] [--resolution {10,20,60}]
                      [--datastrip DATASTRIP] [--tile TILE]
                      [--output_dir OUTPUT_DIR] [--work_dir WORK_DIR]
                      [--img_database_dir IMG_DATABASE_DIR]
                      [--res_database_dir RES_DATABASE_DIR]
                      [--processing_centre PROCESSING_CENTRE]
                      [--archiving_centre ARCHIVING_CENTRE]
                      [--processing_baseline PROCESSING_BASELINE] [--raw]
                      [--tif] [--sc_only] [--cr_only] [--debug]
                      [--GIP_L2A GIP_L2A] [--GIP_L2A_SC GIP_L2A_SC]
                      [--GIP_L2A_AC GIP_L2A_AC] [--GIP_L2A_PB GIP_L2A_PB]
                      input_dir

Sentinel-2 Level 2A Processor (Sen2Cor). Version: 2.8.0, created: 2019.02.20,
supporting Level-1C product version 14.2 - 14.5.


إذا ظهر ، فإن التثبيت سار على ما يرام وكان البرنامج جاهزًا للاستخدام. الشيء الوحيد الذي لا يزال غير مؤلم هو تبسيط إطلاق البرنامج. في حين تحتاج إلى تحديد المسار الكامل للملف: /home/user/spaceshots/Sen2Cor-02.08.00-Linux64/bin/L2A_Process. إنها ليست مريحة. من الأسهل بكثير الكتابة ببساطة L2A_Process. ومع ذلك ، إذا قمت بذلك الآن ، فسيظهر خطأ:

$ L2A_Process
bash: L2A_Process:   

لإصلاح الخطأ وتشغيل Sen2Cor عند الأمر L2A_Process، تحتاج إلى إضافة أمر واحد للملف .bashrc، الموجود في الدليل الرئيسي (في حالتنا ، على العنوان /home/user/.bashrc). هذا ملف مخفي ، لذا قبل أن تفتحه ، تحتاج إلى تمكين عرض الملفات المخفية في مدير الملفات.

أضف .bashrcالأسطر التالية إلى نهاية الملف :

# Sen2Cor processor (v. 2.8.0)
source /home/user/spaceshots/Sen2Cor-02.08.00-Linux64/L2A_Bashrc

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

لكي تصبح التغييرات .bashrcنافذة المفعول ، تحتاج إلى العودة إلى وحدة التحكم وتشغيل الأمر

$ source ~/.bashrc

يمكنك أيضًا تغيير مكان تثبيت البرنامج. للقيام بذلك ، يجب عليك تحديد الخيار عند بدء تشغيل المثبت --target. على سبيل المثال ، الأمر

# ./Sen2Cor-02.08.00-Linux64.run --target /usr/share/sen2cor

سيتم تثبيت Sen2Cor في /usr/share/sen2cor. نقوم بتشغيل الأمر من المستخدم الفائق ، لأن المستخدم العادي ، كقاعدة عامة ، لا يمكنه كتابة الملفات إليه /usr. ومع ذلك ، في هذه الحالة ، سيتعين عليك تشغيل Sen2Cor بحقوق المستخدم الفائق أو تغيير حقوق الوصول إلى /usr/share/sen2cor.

كيفية التثبيت على نظام التشغيل MacOS و Windows
MacOS , Linux.

Windows — zip-, . L2A_Process L2A_Process.bat, bin, , :

C:\Users\user\spaceshots\Sen2Cor-02.08.00-Linux64/L2A_Process.bat -h

Windows : :\Users\user\sen2cor\2.8. .

, L2A_Process.bat, Windows L2A_Bashrc.bat PATH.

معالجة الصورة


لذا ، قمنا بتثبيت Sen2Cor وجعلناها تعمل على الأمر L2A_Process. الآن قم بإجراء تصحيح جوي. لنفترض أننا قمنا بالفعل بتنزيل صورة القمر الصناعي وإخراجها منها /home/user/spaceshots. التقطت صورة للمنطقة الواقعة غرب يكاترينبورغ في 27 يوليو 2018. يسمى ملف اللقطة L1C_T40VFJ_A016162_20180727T071939.zip . بعد التفريغ ، ظهر المجلد S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE . بعد ذلك ، من أجل التصحيح الجوي ، يلزمك تشغيل الأمر التالي:

$ L2A_Process S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE/

بعد الضغط على Enter ، يمكنك الاسترخاء ، لأن المعالجة تستغرق وقتًا طويلاً (على Yandex.Cloud مع Intel Cascade Lake وحصة مضمونة من 5٪ CPU - حوالي ساعة). يعرض Sen2Cor معلومات حول التقدم في وحدة التحكم ، بحيث تفهم تقريبًا ما يقوم به البرنامج في الوقت الحالي.

سجل البدء في وحدة التحكم
Sentinel-2 Level 2A Processor (Sen2Cor). Version: 2.8.0, created: 2019.02.20, supporting Level-1C product version 14.2 - 14.5 started ...
Product version: 14.5
Operation mode: TOOLBOX
Processing baseline: 99.99
Progress[%]:  0.00 : Generating datastrip metadata
L1C datastrip found, L2A datastrip successfully generated
Selected resolution: 60 m
Progress[%]: 1.13 : PID-4202, L2A_ProcessTile: processing with resolution 60 m, elapsed time[s]: 2.299, total: 0:00:10.789933
Progress[%]: 1.13 : PID-4202, L2A_ProcessTile: start of pre processing, elapsed time[s]: 0.000, total: 0:00:10.790432
Progress[%]: 1.27 : PID-4202, L2A_Tables: start import, elapsed time[s]: 0.278, total: 0:00:11.068694
Progress[%]: 1.69 : PID-4202, L2A_Tables: band B01 imported, elapsed time[s]: 0.851, total: 0:00:11.919562
Progress[%]: 9.39 : PID-4202, L2A_Tables: band B02 imported, elapsed time[s]: 15.618, total: 0:00:27.537532
Progress[%]: 17.16 : PID-4202, L2A_Tables: band B03 imported, elapsed time[s]: 15.743, total: 0:00:43.280800


عندما ينتهي البرنامج من العمل ، /home/user/spaceshotsبجوار S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE/ ، يجب أن يظهر مجلد آخر يحمل اسمًا مشابهًا جدًا - S2A_MSIL2A_20180727T071621_N9999_R006_T40VF0

لدينا الآن. للقيام بذلك ، ضع في اعتبارك بنية صور سنتينل -2.

صورة القمر الصناعي Sentinel-2 هي أرشيف مضغوط بحجم عدة مئات من وحدات الميغابايت. في حالتنا ، يسمى الأرشيف L1C_T40VFJ_A016162_20180727T071939.zip . يتم ترميز المعلومات في الاسم: مستوى المعالجة ( L1C ) ، رمز المنطقة ( T40VFJ ) ، رقم المدار ( A016162) ، تاريخ ووقت التصوير. يوجد داخل هذا الأرشيف مجلد باسم طويل ينتهي بـ .SAFE. في المجلد * .SAFE يوجد مجلد GRANULE ، يوجد فيه مجلد آخر باسم طويل ، بداخله مجلد IMG_DATA ، وفيه 14 صورة بتنسيق jp2. من بينها هناك 13 مرقمة - تنتهي أسماؤها في B01-B12 (بالإضافة إلى واحد آخر برقم B8A). هذه هي البلاط - صور لسطح الأرض ، مأخوذة بأطوال موجية محددة. على سبيل المثال ، B04 هي صورة في النطاق الأحمر ، و B08 في الأشعة تحت الحمراء القريبة ، ويمكن استخدام هاتين الصورتين معًا لحساب مؤشر معروف مثل NDVI . ينتهي اسم الصورة الرابعة عشر بـ TCI ، مما يعني صورة ملونة حقيقية - هذه صورة ملونة بالكامل ، أي تقريبًا كما كانت ستظهر على كاميرا عادية.

يتلقى Sen2Cor المجلد * .SAFE كبيانات مصدر - يتم تحديده كمعلمة مطلوبة فقط عند بدء تشغيل البرنامج. إذا حددت شيئًا آخرًا بدلاً من المجلد * .SAFE ، على سبيل المثال ، أرشيف المصدر بلقطة أو بلاطة معينة ، فلن يبدأ البرنامج.

$ L2A_Process T40VFJ_20180727T071621_B04.jp2 
Product metadata file cannot be read.

والحقيقة هي أنه لا يتم فقط استخدام المربعات نفسها للتصحيح الجوي ، ولكن أيضًا البيانات الوصفية ، وهي موجودة في الملفات داخل مجلد * .SAFE ، وليس في المربعات.

نتيجة عمل البرنامج هي أيضًا مجلد * .SAFE لهيكل مشابه: يوجد داخله مجلد GRANULE ، وداخله مجلد آخر يقع فيه مجلد IMG_DATA ، وهناك مربعات تصحيحه. يتم تجميع البلاط حسب الدقة المكانية: تقع تلك التي لها دقة مكانية 10 أمتار في المجلد R10m ، وتلك التي تبلغ دقتها 20 مترًا في R20m و 60 مترًا في R60m. مع إعدادات معينة ، لا تتم معالجة بعض الأذونات ولا يتم إنشاء المجلدات المقابلة - المزيد عن ذلك أدناه.

يختلف اسم المجلد * .SAFE الناتج عنه عن الاسم الأصلي في اسم واحد فقط: في البداية بدلاً من _MSI L1C_ أشار _MSI L2A _. L1C و L2A هي رموز مستوى المعالجة. يعني مستوى L1C أن الصورة تتم معالجتها إلى مستوى الانعكاس أعلى الغلاف الجوي ، أي أن قيم البكسل في الصورة تتوافق مع الانعكاس المسجل عند الحد العلوي للغلاف الجوي - حيث يحلق القمر الصناعي. يتم معالجة مستوى L2A إلى مستوى الانعكاس السفلي من Atmoshpere ، أي إلى قيم الانعكاس على سطح الأرض - كما لو كان الغلاف الجوي شفافًا تمامًا. في الواقع ، بالطبع ، هذا ليس كذلك ، ويسمح لك التصحيح الجوي بإزالة جزء فقط من التشوهات التي تحدث عندما يمر الضوء عبر الغلاف الجوي ، ولكن بشكل عام ، تكون قيم انعكاس قاع الغلاف الجوي أكثر اتساقًا مع الانعكاس الفعلي من سطح الأرض من قيم قمة الغلاف الجوي الانعكاس.

بالإضافة إلى البلاط المعدل ، ينتج Sen2Cor العديد من الصور الأخرى: الألوان الكاملة (TCI) ، وخرائط الكثافة البصرية للأيروسول في الغلاف الجوي (AOT - السماكة الضوئية للأيروسول) ومحتوى بخار الماء (WV - بخار الماء) ، خريطة التصنيف المواضيعي لأنواع السطح (SC - تصنيف المشهد). توجد أيضًا في مجلد IMG_DATA في الدلائل من أجل الدقة المكانية المقابلة.

إذا كنت تريد أن يتم استدعاء المجلد الناتج عن البرنامج ليس * .SAFE ، ولكن بطريقة مختلفة ، يمكنك تحديد الاسم بنفسك باستخدام الخيار --output_dir. لنفترض أننا قمنا بتشغيل Sen2Cor ثلاث مرات بإعدادات مختلفة ونريد حفظ النتائج في المجلدات test1 و test2 و test3. ثم نشير --output_dirعند بدء التشغيل:


$ L2A_Process --output_dir /home/user/spaceshots/test1 S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE

- وستظهر الصورة المصححة في الكتالوج /home/user/spaceshots/test1. في البداية الثانية والثالثة ، نشير --output_dir /home/user/spaceshots/test2، وعلى التوالي --output_dir /home/user/spaceshots/test3.

خيار آخر مفيد هو هذا --resolution. يسمح لك بتعيين الدقة المكانية للبلاط الذي سيتم الحصول عليه نتيجة للبرنامج. يمكن لـ Sen2Cor إنشاء صور بدقة مكانية مختلفة - 10 أو 20 أو 60 مترًا لكل بكسل. افتراضيًا ، يتم عمل 10 و 20 مترًا. لنفترض أن لدينا ما يكفي من البلاط بدقة 60 مترًا لكل بكسل للتحليل الاستكشافي. ثم يمكنك تحديد دقة الهدف باستخدام الخيار --resolution:

$ L2A_Process --resolution 60 S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE

عند إطلاق هذه المعلمات ، سيقوم Sen2Cor بمعالجة الصورة وإنشاء مربعات معدلة بدقة 60 مترًا. على عكس الإطلاق القياسي ، تستغرق المعالجة وقتًا أقل بكثير - أكثر من أربع دقائق بقليل. استهلاك الذاكرة أقل أيضًا ، لذلك إذا انتهت البداية بدقة قياسية بخطأ بسبب نقص الذاكرة ، فيمكنك تحديد دقة 60 مترًا. سيتم وضع مجلد R60m فقط في مجلد IMG_DATA ، وداخله سيكون هناك بلاط بدقة 60 مترًا وبعض الصور الأخرى: خريطة كاملة الألوان وموضوعية وخريطة لمحتوى بخار الماء.

ملف الضبط


عالجنا صورة القمر الصناعي باستخدام Sen2Cor باستخدام الإعدادات الافتراضية. القرار ومجلد لحفظ نتائج عمل يمكن تغيير باستخدام --resolutionو الخيارات --output_dir. هناك عدد قليل من خيارات سطر الأوامر ، ومع ذلك ، لا يمكن تكوينها جميعًا. هناك العديد من المعلمات الأخرى المهمة في المعالجة ، على سبيل المثال: ما إذا كان يجب مراعاة التضاريس ، وما إذا كان سيتم إزالة الغيوم ، وكيفية تقييم حالة الغلاف الجوي. في Sen2Cor ، يتم تكوينها باستخدام ملف التكوين.

إذا قمت بتشغيل Sen2Cor ولم تحدد المسار إلى ملف التكوين ، كما فعلنا من قبل ، فسيتم استخدام ملف التكوين القياسي. ملف التكوين القياسي موجود في الدليل الرئيسي - في حالتنا ، في المجلد / home/user/sen2cor/2.8/cfg. الملف يسمىL2A_GIPP.xml. L2A لتقف على مستوى المعالجة ، يشير GIPP إلى معلمات معالجة الصور الأرضية - معلمات المعالجة الأرضية للصورة. هذا ملف xml عادي ، بداخله عدة أقسام ، وفي الأقسام هناك عناصر لإعدادات مختلفة. يتم كتابة شرح مباشرة في الملف لكل إعداد. بالإضافة إلى ذلك ، يتم تضمين وصف تفصيلي للإعدادات في الوثائق - ومع ذلك ، ليس من السهل فهمه.

يمكنك تحرير ملف التكوين القياسي مباشرة ، ولكن من الأفضل نسخه والإشارة صراحة عند بدء تشغيل البرنامج إلى أنك بحاجة إلى استخدام ملف تكوين مختلف. انسخ L2A_GIPP.xml إلى /home/user/spaceshots، وأعد تسميته إلى custom.xml وقم بتشغيل البرنامج باستخدام ملف التكوين هذا:

$ L2A_Process --GIP_L2A /home/user/spaceshots/custom.xml --resolution 60 S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE

يرجى ملاحظة أن خيار ملف التكوين يسمى --GIP_L2A- بحرف واحد "P". نظرًا لأننا لم نقوم بتحرير ملف التكوين ، فإن العملية ونتائج البرنامج لا تختلف عن البدء بالتكوين الافتراضي.

هناك العديد من المعلمات المختلفة في ملف التكوين. دعونا نفكر في بعض منها.

السجلات


Log_Level- معلمة تحدد مدى تفصيل سجل البرنامج. يتم عرض السجل في وحدة التحكم أثناء التشغيل ويتم تخزينه أيضًا في مجلد السجل (في حالتنا - /home/user/sen2cor/2.8/log). القيمة الافتراضية هي INFO. عادة ليست هناك حاجة لتغيير هذا الإعداد إذا لم تواجه أخطاء في البرنامج.

المحاسبة لراحة وزاوية الشمس


DEM_Directory- المجلد الذي توجد فيه خريطة الارتفاع الرقمي (DEM - نموذج الارتفاع الرقمي). عادةً ما تكون نتائج المعالجة باستخدام خريطة الارتفاع الرقمية أكثر دقة. الإعداد الافتراضي هو NONE ، أي أن التضاريس لا تؤخذ في الاعتبار. إذا كان لديك خريطة ارتفاع رقمية خاصة بك ، فقم بتحديد المسار إليها. يجب أن يكون المجلد لDEM في نفس المكان كما المجلدات cfgو log، في حالتنا، في الدليل /home/user/sen2cor/2.8. لذلك ، إذا كان لديك خريطة ارتفاع رقمية ، فأنت بحاجة إلى وضعها /home/user/sen2cor/2.8/demوتحديد dem في DEM_Directory. إذا لم يكن موجودًا ، ولكنك لا تزال تريد استخدامه ، يمكنك تحديد أي مسار (على سبيل المثال ، كتابة dem أيضًا) وتكوين المعلمة التالية.

DEM_Reference- عنوان URL الذي يتم من خلاله تنزيل نموذج الارتفاع الرقمي ، إذا لم يكن في المجلد المحدد في الفقرة السابقة. يقترح مطورو Sen2Cor استخدام
http: // data_public: GDdci@data.cgiar-csi.org/srtm/tiles/GeoTIFF/
- هذا رابط إلى STRM DEM ، وهي خريطة ارتفاع رقمية موزعة بحرية وبدقة مكانية 90 متر. بالنظر إلى أن المقياس ليس أصغر بكثير من صور الأقمار الصناعية نفسها ، يجب أن يعطي هذا النموذج نتيجة جيدة.

إذا رأى Sen2Cor DEM_Directoryأنه تم تحديد قيمة أخرى غير NONE ، فسيحاول فتح الملفات باستخدام خريطة تضاريس من الدليل المحدد. إذا تعذر فتح الملفات ، فسيحاول تنزيلها على عنوان URL المحدد في DEM_Reference. إذا فشل التنزيل ، فستظهر رسالة خطأ في السجل وستستمر المعالجة بدون مراعاة التضاريس. يتم حفظ الملفات التي تم تنزيلها من URL فيDEM_Directoryولا يتم حذفها بعد انتهاء البرنامج. لذلك ، إذا كنت تريد معالجة نفس الصورة مرة أخرى بنفس خريطة الارتفاع (على سبيل المثال ، عن طريق تغيير إعدادات التصحيح الأخرى) ، فلن يقوم Sen2Cor بتنزيل خريطة الارتفاع الرقمية مرة أخرى ، ولكنه سيستخدم نسختها دون اتصال. يسمح لك

الخيار Generate_DEM_Outputبالحصول على مربع منفصل مع خريطة ارتفاع رقمية نتيجة للبرنامج. القيمة الافتراضية هي FALSE. يعطل

الخيار DEM_Terrain_Correctionجزئيًا استخدام خريطة الارتفاع الرقمية: سيستمر أخذ الارتفاع في الاعتبار في التصنيف المواضيعي (SC) وبناء خريطة AOT ، ولكن ليس عند تعديل قيم الانعكاس من السطح.

إذا لم يتم استخدام DEM ، فحدد المعلمةAltitude- هذا هو متوسط ​​الارتفاع فوق مستوى سطح البحر في المنطقة الملتقطة في الصورة. يشار إلى الارتفاع بالكيلومترات.

معلمتين الأخرى المتعلقة بالمحاسبة الارتفاع هي BRDF_Correctionو BRDF_Lower_Bound. يشير BRDF إلى دالة توزيع الانعكاس ثنائي الاتجاه ويعني معادلة تحاكي انعكاس الضوء من سطح معتم. BRDF_Correctionتتوافق القيم المختلفة مع القيم المختلفة لأحد المعاملات في هذه المعادلة. في الوثائق الرسمية ، يوصى في معظم الحالات باستخدام 21. وهو BRDF_Lower_Boundمسؤول عن معامل آخر في المعادلة ، ويمكن تركه افتراضيًا ، إلا إذا كنت تعرف بالضبط لماذا ولماذا تحتاج إلى تغييره.

صورة جميلة


يقوم الخيار Generate_TCI_Outputبتشغيل وإيقاف إنشاء صورة ملونة بالكامل. الإعداد الافتراضي هو TRUE ، ولكن إذا لم تكن هناك حاجة إلى صورة جميلة ، فيمكنك تحديد FALSE.

تمثل حالة الغلاف الجوي


المعلمات Aerosol_Type، Mid_Latitude، Ozone_Contentتشير إلى حالة الجو في وقت إطلاق النار. Aerosol_Typeيمكن تعيينها على الأرض: إذا كانت القارة ، ثم RURAL ، إذا كان المحيط ، ثم البحرية. Mid_Latitudeوبالمثل يحدده الموسم: إذا كان في الصيف ، فإن الصيف ، إذا كان في الشتاء ، ثم الشتاء. تشير

المعلمة Ozone_Contentإلى محتوى الأوزون. يمكن العثور على محتوى الأوزون في الأرشيف العالمي لأرشيف الأوزون والأشعة فوق البنفسجية على الإنترنت. على الخريطة ، يمكنك العثور على المحطة الأقرب إلى منطقة المسح ، ثم تنزيل مجموعة البيانات في الوقت المناسب والاطلاع على نتائج القياس في يوم التصوير. ومع ذلك ، من المستحيل تحديد نتيجة القياس الفعلية في ملف التكوين - تحتاج إلى تحديد قيمة واحدة من القائمة للوقت المقابل من السنة. لذلك ، يجب عليك أولاً معرفة القيمة المقاسة فعليًا ، ثم اختيار أقرب قيمة متاحة. على سبيل المثال ، وفقًا لمحطة يكاترينبورغ ، في 27 يونيو 2018 (الوقت المستغرق) ، كان محتوى الأوزون 316 DU. يوضح التفسير في ملف التكوين: بالنسبة للصيف في خطوط العرض الوسطى ، تكون الخيارات المتاحة هي 250 ، 290 ، 331 (افتراضي) ، 370 ، 410 ، 450. الأقرب إلى 316 هو 331. يأتي بشكل افتراضي ، لذلك في هذه الحالة لا يمكن فعل أي شيء لا تغير. إذا تم التقاط هذه الصورة قبل بضعة أيام، عندما انخفض تركيز الأوزون إلى 302 DU، يجب تعيين Ozone_Contentإلى 290.

ومن حيث المبدأ، كل المعلمات الثلاث - Aerosol_Type، Mid_Latitude، Ozone_Content- في معظم الحالات يمكن تعيين افتراضيا - لAUTO Aerosol_Typeو Mid_Latitudeو0 ل Ozone_Content. في هذه الحالة ، سيحدد Sen2Cor القيم الأكثر ملاءمة من بيانات تعريف الصورة.

إزالة السحابة


Cirrus_Correctionتقول المعلمة ما إذا كانت الغيوم الرقيقة تتم إزالتها من الصورة أم لا. يعمل بالاقتران مع WV_Threshold_Cirrus- هذا هو حد محتوى بخار الماء الذي يتم أدناه تعطيل إزالة السحابة تلقائيًا ، حتى إذا تم Cirrus_Correctionتعيينه على TRUE. لذلك ، إذا كان هناك سبب للاعتقاد بأن محتوى بخار الماء في الغلاف الجوي في وقت التصوير كان منخفضًا ، ولكن لا تزال هناك غيوم صغيرة ، ويجب إزالتها ، فمن الأفضل تقليل القيمة WV_Threshold_Cirrus. WV_Threshold_Cirrusيمكن أن يكون من 0.1 إلى 1.

استنتاج


وبالتالي ، قمنا في هذه المقالة بفحص المشكلات التالية: كيفية تثبيت Sen2Cor ، وكيفية تشغيله بالإعدادات الافتراضية ، وكيفية تغيير بعض معلمات البرنامج باستخدام خيارات سطر الأوامر وملف التكوين. للحصول على دراسة أكثر عمقًا لـ Sen2Cor ، يمكنك الرجوع إلى الوثائق الرسمية ، المتوفرة على نفس الصفحة مثل المثبتات. تتضمن الوثائق الرسمية أربع وثائق: مذكرة الإصدار الأبسط والأكثر وضوحًا ودليل مستخدم البرنامج ، وتعريف المنتج التقني المعقد إلى حد ما وتعريف بيانات الإدخال. يتضمن الملف الأخير أيضًا "المرجع الكامل لـ GIPP" كملف pdf مرفق. أعتقد أن الخبراء التقنيين سيجدون أكثر فائدة في هذه الوثائق.

All Articles