شعار زيفيرنت

تحليل البيانات الجغرافية المكانية باستخدام Geemap – KDnuggets

التاريخ:

تحليل البيانات الجغرافية المكانية باستخدام Geemap
التوضيح من قبل المؤلف
 

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

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

سأركز في هذه المقالة على البيانات النقطية المقدمة من Google Earth Engine، وهي منصة حوسبة سحابية توفر كتالوجًا ضخمًا من البيانات لصور الأقمار الصناعية. يمكن إتقان هذا النوع من البيانات بسهولة من Jupyter Notebook الخاص بك باستخدام حزمة Python المنقذة للحياة، والتي تسمى Geemap. هيا بنا نبدأ!

ما هو محرك جوجل إيرث؟

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة شاشة للمؤلف. الصفحة الرئيسية لمحرك جوجل إيرث.
 

قبل البدء في استخدام مكتبة بايثون، علينا أن نفهم إمكاناتها محرك Google Earth. تستضيف هذه المنصة السحابية، المدعومة بمنصة Google Cloud، مجموعات بيانات جغرافية مكانية عامة ومجانية للأغراض الأكاديمية وغير الربحية والتجارية.

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة شاشة للمؤلف. نظرة عامة على كتالوج بيانات Earth Engine. 
 

يكمن جمال هذه المنصة في أنها توفر كتالوجًا متعدد البيتابايت من البيانات النقطية والمتجهة، المخزنة على خوادم Earth Engine. يمكنك الحصول على نظرة عامة سريعة من هذا الصفحة . علاوة على ذلك، فهو يوفر واجهات برمجة التطبيقات لتسهيل تحليل مجموعات البيانات النقطية. 

ما هو جيماب؟

تحليل البيانات الجغرافية المكانية باستخدام Geemap
الرسم التوضيحي من قبل المؤلف. مكتبة جيماب.
 

جيماب هي مكتبة بايثون تسمح بتحليل وتصور كميات هائلة من البيانات الجغرافية المكانية من Google Earth Engine. 

قبل هذه الحزمة، كان من الممكن بالفعل تقديم طلبات حسابية من خلال JavaScript وPython APIs، ولكن كانت لدى Python APIs وظائف محدودة وتفتقر إلى الوثائق. 

لسد هذه الفجوة، تم إنشاء Geemap للسماح للمستخدمين بالوصول إلى موارد Google Earth Engine باستخدام بضعة أسطر من التعليمات البرمجية. تم بناء Geemap عليه Eartengine-api, com.ipyleaflet و folium.

لتثبيت المكتبة، تحتاج فقط إلى الأمر التالي:

pip install geemap

 

أنصحك بتجربة هذه الحزمة الرائعة في Google Colab لفهم إمكاناتها الكاملة. نلقي نظرة على هذا الكتاب المجاني كتبه الأستاذ الدكتور كيو شينغ وو لبدء استخدام Geemap وGoogle Earth Engine.

كيفية الوصول إلى محرك الأرض؟

أولاً، نحتاج إلى استيراد مكتبتين من مكتبات Python، والتي سيتم استخدامها في البرنامج التعليمي:

import ee
import geemap

 

بالإضافة إلى geemap، قمنا باستيراد مكتبة عميل Earth Engine Python، والتي تسمى ee. 

يمكن استخدام مكتبة Python هذه للمصادقة على Earth Engine، ولكن يمكن أن تكون أسرع باستخدام مكتبة Geemap مباشرةً:

m = geemap.Map()
m

 

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

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة شاشة للمؤلف. مصادقة دفتر الملاحظات.
 

وبعد ذلك سيطلب منك اختيار الحساب. أوصي بأخذ نفس حساب Google Colab إذا كنت تستخدمه.

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة شاشة للمؤلف. اختيار حساب.
 

بعد ذلك، انقر فوق خانة الاختيار الموجودة بجوار تحديد الكل واضغط على الزر "متابعة". باختصار، تسمح هذه الخطوة لـ Notebook Client بالوصول إلى حساب Earth Engine.

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة شاشة للمؤلف. اسمح لبرنامج Notebook Client بالوصول إلى حساب Earth Engine الخاص بك.
 

بعد هذا الإجراء، يتم إنشاء رمز المصادقة ويمكنك لصقه في خلية دفتر الملاحظات.

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة شاشة للمؤلف. انسخ رمز التوثيق.
 

بمجرد إدخال رمز التحقق، يمكنك أخيرًا إنشاء هذه الخريطة التفاعلية وتصورها:

m = geemap.Map()
m

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
 

في الوقت الحالي، أنت فقط تراقب الخريطة الأساسية أعلى ipyleaflet، وهي حزمة Python التي تتيح تصور الخرائط التفاعلية داخل Jupyter Notebook. 

إنشاء خرائط تفاعلية

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

m = geemap.Map(center=[41, 12], zoom=6, height=600)
m

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap

 

إذا أردنا تغيير الخريطة الأساسية، فهناك طريقتان ممكنتان. الطريقة الأولى تتكون من كتابة وتشغيل سطر التعليمات البرمجية التالي:

m.add_basemap("ROADMAP")
m

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
 

وبدلاً من ذلك، يمكنك تغيير الخريطة الأساسية يدويًا عن طريق النقر على أيقونة المفتاح الدائري الموجود على اليمين. 

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
 

علاوة على ذلك، نرى قائمة الخرائط الأساسية المقدمة من Geemap:

basemaps = geemap.basemaps.keys()
for bm in basemaps:
   print(bm)

 

هذا هو الناتج:

OpenStreetMap
Esri.WorldStreetMap
Esri.WorldImagery
Esri.WorldTopoMap
FWS NWI Wetlands
FWS NWI Wetlands Raster
NLCD 2021 CONUS Land Cover
NLCD 2019 CONUS Land Cover
...

 

كما تلاحظ، هناك سلسلة طويلة من الخرائط الأساسية، معظمها متاح بفضل OpenStreetMap وESRI وUSGS.

أنواع بيانات محرك الأرض

قبل عرض الإمكانات الكاملة لـ Geemap، من المهم معرفة نوعين رئيسيين من البيانات في Earth Engine. نلقي نظرة على وثائق محرك جوجل إيرث لمزيد من التفاصيل.

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
الرسم التوضيحي من قبل المؤلف. مثال على أنواع البيانات المتجهة: الهندسة والميزات ومجموعة الميزات.
 

عند التعامل مع البيانات المتجهة، نستخدم بشكل أساسي ثلاثة أنواع من البيانات:

  • علم الهندسة يخزن الإحداثيات اللازمة لرسم البيانات المتجهة على الخريطة. يدعم Earth Engine ثلاثة أنواع رئيسية من الأشكال الهندسية: Point وLineString وPolygon.
  • الميزات هو في الأساس صف يجمع بين السمات الهندسية وغير الجغرافية. إنها تشبه إلى حد كبير فئة GeoSeries في GeoPandas.
  • مجموعة الميزات عبارة عن بنية بيانات جدولية تحتوي على مجموعة من الميزات. إن FeaturesCollection وGeoDataFrame متطابقان تقريبًا من الناحية المفاهيمية.

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة شاشة للمؤلف. مثال على نوع بيانات الصورة. يُظهر نموذج الارتفاع الرقمي الأسترالي السلس (ماركا-S)
 

في عالم البيانات النقطية، نركز على صورة أشياء. تتكون صور Google Earth Engine من علامة تجارية واحدة أو أكثر، حيث يكون لكل نطاق اسم محدد والحد الأدنى والحد الأقصى المقدر والوصف.

إذا كان لدينا مجموعة أو سلسلة زمنية من الصور، مجموعة الصور هو أكثر ملاءمة كنوع البيانات.

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة من قبل المؤلف. الغطاء الأرضي لكوبرنيكوس كورين.
 

نحن نتصور صور القمر الصناعي التي توضح خريطة الغطاء الأرضي لأوروبا. توفر مجموعة البيانات هذه التغييرات بين عامي 1986 و2018.

أولاً، نقوم بتحميل الصورة باستخدام ee.Image، ثم نختار النطاق "landcover". أخيرًا، دعونا نتصور الصورة عن طريق إضافة مجموعة البيانات المحملة إلى الخريطة كطبقة باستخدام Map.addLayer. 

Map = geemap.Map()
dataset = ee.Image('COPERNICUS/CORINE/V20/100m/2012')
landCover = dataset.select('landcover')
Map.setCenter(16.436, 39.825, 6)
Map.addLayer(landCover, {}, 'Land Cover')
Map

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة من قبل المؤلف.
 

وبالمثل، يمكننا أن نفعل الشيء نفسه لتحميل وتصور صور القمر الصناعي التي توضح خريطة الغطاء الأرضي لأوروبا. توفر مجموعة البيانات هذه التغييرات بين عامي 1986 و2018.

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة من قبل المؤلف. صور عالية الدقة دون اتصال بالإنترنت لتركيزات الميثان.

 

لتصور Earth Engine ImageCollection، تكون سطور التعليمات البرمجية متشابهة، باستثناء ee.ImageCollection. 

Map = geemap.Map()
collection = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_CH4').select('CH4_column_volume_mixing_ratio_dry_air').filterDate('2019-06-01', '2019-07-16')
band_viz = {
 'min': 1750,
 'max': 1900,
 'palette': ['black', 'blue', 'purple', 'cyan', 'green', 'yellow', 'red']
}

Map.addLayer(collection.mean(), band_viz, 'S5P CH4')
Map.setCenter(0.0, 0.0, 2)
Map

 

تحليل البيانات الجغرافية المكانية باستخدام Geemap
لقطة من قبل المؤلف.
 

ذلك رائع! ومن هذه الخريطة نلاحظ كيف يتوزع غاز الميثان، وهو أحد أهم المساهمين في ظاهرة الاحتباس الحراري، داخل الكرة الأرضية. 

افكار اخيرة

كان هذا دليلاً تمهيديًا يمكنه مساعدتك في التعامل مع بيانات Google Earth Engine باستخدام لغة Python. Geemap هي مكتبة Python الأكثر اكتمالا لتصور وتحليل هذا النوع من البيانات. 

إذا كنت تريد التعمق في هذه الحزمة، يمكنك إلقاء نظرة على الموارد التي اقترحتها أدناه. 

يمكن العثور على الرمز هنا. أتمنى أن تجد المقال مفيدا طاب يومك!

موارد مفيدة:

 
 

يوجينيا أنيلو يعمل حاليًا زميلًا باحثًا في قسم هندسة المعلومات بجامعة بادوفا بإيطاليا. يركز مشروعها البحثي على التعلم المستمر جنبًا إلى جنب مع اكتشاف الشذوذ.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة