التشغيل السريع: بدء استخدام مكعبات البيانات في Microsoft Planetary Computer Pro

المتطلبات الأساسية

إعداد مصدر الاستيعاب

قبل أن تتمكن من البدء في استيعاب بيانات مكعب البيانات، ستحتاج إلى إعداد مصدر استيعاب، والذي سيكون بمثابة بيانات اعتماد للوصول إلى حساب Blob Storage حيث يتم تخزين أصولك وعناصر STAC. يمكنك إعداد مصدر استيعاب باستخدام الهوية المدارة أو رمز SAS المميز.

إنشاء مجموعة مكعب بيانات

بمجرد إعداد مصدر الاستيعاب الخاص بك، يمكنك إنشاء مجموعة لأصول مكعب البيانات. يمكن اتباع خطوات إنشاء مجموعة في إنشاء مجموعة STAC باستخدام Microsoft Planetary Computer Pro باستخدام Python.

استيعاب أصول مكعب البيانات

يمكن اتباع بدء عملية الاستيعاب لبيانات مكعب البيانات وأنواع البيانات الأخرى في نظرة عامة على الاستيعاب. كما هو موضح في نظرة عامة على Data Cube، ومع ذلك، فإن الاستيعاب هو الخطوة في معالجة بيانات Planetary Computer Pro التي تختلف لأنواع الملفات هذه. بينما يتم استيعاب بيانات GRIB2 وعناصر STAC المرتبطة بها تماما مثل أي ملف نقطي ثنائي الأبعاد آخر، تخضع أصول NetCDF وHDF5 لمزيد من إثراء البيانات. يتم توثيق إنشاء بيانات Kerchunk في نظرة عامة على Data Cube، ولكن ما يجب ملاحظته هو أنه ستتم إضافة أصول Kerchunk إلى حاوية Blob Storage جنبا إلى جنب مع الأصول الأصلية، وإضافة حقل إضافي cube:variables إلى STAC Item JSON. هذا مهم عند عرض أنواع البيانات هذه في Planetary Computer Pro Explorer.

تكوين مجموعة مكعب بيانات

تكوين جمع مكعب البيانات الخاص بك هو خطوة أخرى ستبدو مختلفة قليلا عن تلك الخاصة بأنواع البيانات الأخرى. يمكنك اتباع الخطوات الموضحة في تكوين مجموعة باستخدام واجهة ويب Microsoft Planetary Computer Pro لتكوين مجموعة مكعب البيانات، ولكن ستحتاج إلى أن تكون على دراية بالاختلافات التالية عند إنشاء تكوين العرض الخاص بك:

تكوين العرض لأصول NetCDF وHDF5

تذكر أن وسيطة تكوين العرض القياسية بتنسيق JSON تبدو كما يلي:

[
  {
    "id": "prK1950-06-30",
    "name": "prK1950-06-30",
    "type": "raster-tile",
    "options": "assets=pr-kerchunk&subdataset_name=pr&rescale=0,0.01&colormap_name=viridis&datetime=1950-06-30",
    "minZoom": 1
  }
]

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

تكوين العرض لأصول GRIB2

options يبدو حقل تكوين العرض لأصول GRIB2 مشابها للمثال السابق، ولكن لن تحتاج إلى تضمين الوسيطةsubdataset_name. وذلك لأن بيانات GRIB2 منظمة بالفعل على النحو الأمثل ومشار إليها عبر ملفات الفهرس الخاصة بها. assets تمثل الوسيطة، في هذه الحالة، النطاق أو طبقة النقط 2D التي تريد عرضها. فيما يلي مثال على تكوين عرض GRIB2:

[ 
 {
    "id": "render-config-1",
    "name": "Mean Zero-Crossing Wave Period",
    "description": "A sample render configuration. Update `options` below.",
    "type": "raster-tile",
    "options": "assets=data&subdataset_bands=1&colormap_name=winter&rescale=0,10",
    "minZoom": 1
 }
]

تكوين التصيير لأصول زار

options مجال أصول زار مشابه ل NetCDF وHDF5، لكن هناك متطلبين مهمين:

  1. اختر شريحة زمنية واحدة للعرض باستخدام sel=time=....
  2. قم بتقليل البيانات إلى إخراج ثنائي الأبعاد قبل التصيير.

إذا لم يتم طي الأبعاد الإضافية، فقد يفشل العرض مع أخطاء مثل Source data must be 1 band.

يمكنك قراءة المزيد عن هذا sel المعامل في Xarray DataArray.sel. فيما يلي تكوين عرض زار البسيط للعمل لخطوة زمنية واحدة ومخرج ثنائي الأبعاد:

[
    {
        "id": "era5-zarr-single-time",
        "name": "ERA5 single timestep",
        "type": "raster-tile",
        "options": "assets=data&subdataset_name=precipitation_amount_1hour_Accumulation&sel=time=2024-01-01&sel_method=nearest&colormap_name=viridis&rescale=0,0.01",
        "minZoom": 12
    }
]

تصور أصول مكعب البيانات في المستكشف

بمجرد استيعاب أصول مكعب البيانات وتكوينها، يمكنك تصورها في Planetary Computer Pro Explorer. يمكن اتباع دليل خطوة بخطوة لاستخدام المستكشف في التشغيل السريع: استخدم المستكشف في Microsoft Planetary Computer Pro.

بينما يتضمن Microsoft Planetary Computer Pro بلاط يمكن استخدامه لعرض بعض أصول مكعب البيانات، هناك بعض التحفظات التي يجب ملاحظتها عند كل نوع بيانات مدعوم.

تصور NetCDF وHDF5

ليست كل مجموعات بيانات NetCDF التي يمكن استيعابها في Microsoft Planetary Computer متوافقة مع أداة التصوير الخاصة ب Planetary Computer Pro. يجب أن تحتوي مجموعة البيانات على محاور X وY، وإحداثيات خطوط العرض والطول، والأبعاد والحدود المكانية ليتم تصورها. على سبيل المثال، مجموعة بيانات يكون فيها خط العرض والطول متغيرين وليس إحداثيات، غير متوافقة مع تبليط Planetary Computer Pro.

قبل محاولة تصور مجموعة بيانات NetCDF أو HDF5 الخاصة بك، يمكنك استخدام التالي للتحقق مما إذا كانت تستوفي المتطلبات.

  1. تثبيت التبعيات المطلوبة

    pip install xarray[io] rioxarray cf_xarray
    
  2. شغل الدالة التالية:

    import xarray as xr
    import cf_xarray
    import rioxarray
    
    def is_dataset_visualizable(ds: xr.Dataset):
        """
        Test if the dataset is compatible with the Planetary Computer tiler API.
        Raises an informative error if the dataset is not compatible.
        """
        if not ds.cf.axes:
            raise ValueError("Dataset does not have CF axes")
        if not ds.cf.coordinates:
            raise ValueError("Dataset does not have CF coordinates")
        if not {"X", "Y"} <= ds.cf.axes.keys():
            raise ValueError(f"Dataset must have CF X and Y axes, found: {ds.cf.axes.keys()}")
    
        if not {"latitude", "longitude"} <= ds.cf.coordinates.keys():
            raise ValueError("Dataset must have CF latitude and longitude coordinates, "
                             f"actual: {ds.cf.coordinates.keys()}")
    
        if ds.rio.x_dim is None or ds.rio.y_dim is None:
            raise ValueError("Dataset does not have rioxarray spatial dimensions")
    
        if ds.rio.bounds() is None:
            raise ValueError("Dataset does not have rioxarray bounds")
    
        left, bottom, right, top = ds.rio.bounds()
        if left < -180 or right > 180 or bottom < -90 or top > 90:
            raise ValueError("Dataset bounds are not valid; they must be within [-180, 180] and [-90, 90]")
    
        if ds.rio.resolution() is None:
            raise ValueError("Dataset does not have rioxarray resolution")
    
        if ds.rio.transform() is None:
            raise ValueError("Dataset does not have rioxarray transform")
    
        print("✅ Dataset is compatible with the Planetary Computer tiler API.")
    

تصور GRIB2

يمكن تصور أصول GRIB2 التي تم استيعابها في Microsoft Planetary Computer Pro في المستكشف طالما أن لديها ملف فهرس مرتبط (.idx) مخزن في نفس حاوية تخزين Blob. يتم توليد ملف الفهرس أثناء الإدخال وهو مطلوب للوصول الأمثل وعرض بيانات GRIB2.

تصور زار

يمكن تصور أصول زار المدمجة في Microsoft Planetary Computer Pro في المستكشف طالما أن تكوين العرض يحدد أي متغير وأي شريحة زمنية يجب تصييره باستخدام المعلمة sel في options الميدان. الفشل في ذلك سيؤدي إلى محاولة المستكشف عرض جميع المتغيرات وشرائح الوقت في مخزن زار دفعة واحدة، مما يؤدي إلى تعطل المستكشف.

حجم متجر زار والأجزاء المكانية سيؤثر أيضا على الأداء. يجب أن تهدف إلى إبقاء حجم متجر Zarr أقل من 2 جيجابايت، وكل جزء أقل من 100 ميجابايت لتحقيق أفضل أداء للجهاز.

قيود تصور زار والمشاكل المعروفة

سلوك منزلق الزمن (قيد معروف)

ملحوظة

سلوك شريط الزمن لزار محدود حاليا. يظهر شريط زمن Explorer فقط عندما يتم اكتشاف بعد زمني بشكل صحيح أثناء التناول.

حتى عندما تحتوي أصول زار على قيم زمنية، قد يفشل الإدخال في اكتشاف البيانات الوصفية الزمنية لبعض مجموعات البيانات. في هذه الحالات، لن يتم عرض شريط الزمن، ويجب عليك تصور خطوة زمنية واحدة في كل مرة في تكوين العرض (على سبيل المثال، sel=time=2024-01-01).

لتمكين السلوك الواعي بالوقت، يجب أن تتضمن بيانات STAC الوصفية بعدا cube:dimensions زمنيا مع:

  • type: temporal
  • extent
  • step

بالنسبة لبيانات مصدر زار، اتبع قواعد زمن CF حيثما أمكن، على سبيل المثال:

  • standard_name="time"
  • axis="T"

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

ملاحظات كيرتشونك

يمكن ل Kerchunk تحسين الأداء لأنماط الوصول متعددة الأبعاد، لكنه لا يحل مشاكل منزلق الوقت عندما لا يتم اكتشاف الأبعاد الزمنية أثناء الابتلاع (Kimp).

قد تفشل بعض مجموعات بيانات زار أيضا أثناء معالجة الفهرس مع أخطاء مثل Index must be monotonic increasing or decreasing.

خارطة الطريق والدعم المستقبلي

الدعم الحالي والمخطط له هو:

  • زار v2: مدعوم اليوم
  • زار v3: غير مدعوم بعد، مخطط له في المستقبل
  • تصور زار متعدد الأوقات والتعامل الزمني: جزئي اليوم، مع استمرار التحسينات المخطط لها

شريط تمرير الوقت لتصور مكعب البيانات

إذا كانت أصول مكعب البيانات تحتوي على مكون زمني ، فيمكنك استخدام شريط تمرير الوقت في Explorer لتصور التغييرات بمرور الوقت. سيظهر شريط تمرير الوقت تلقائيا إذا كانت عناصر STAC تحتوي على أصول ذات time بعد مع extent حقل و step .

ملحوظة

بالنسبة لأصول زار، انظر قيود تصور زر والمشاكل المعروفة لقيود شريط الزمن الحالية وأنماط تكوين العرض المطلوبة.