التوضيح من قبل المؤلف
تحليل البيانات الجغرافية المكانية هو مجال موجه للتعامل مع وتصور وتحليل نوع خاص من البيانات يسمى البيانات الجغرافية المكانية. بالمقارنة مع البيانات العادية، لدينا بيانات جدولية مع عمود إضافي، معلومات الموقع، مثل خطوط الطول والعرض.
هناك نوعان رئيسيان من البيانات: البيانات المتجهة والبيانات النقطية. عند التعامل مع البيانات المتجهة، لا يزال لديك مجموعة بيانات جدولية، في حين أن البيانات النقطية تشبه الصور أكثر، مثل صور الأقمار الصناعية والصور الجوية.
سأركز في هذه المقالة على البيانات النقطية المقدمة من Google Earth Engine، وهي منصة حوسبة سحابية توفر كتالوجًا ضخمًا من البيانات لصور الأقمار الصناعية. يمكن إتقان هذا النوع من البيانات بسهولة من Jupyter Notebook الخاص بك باستخدام حزمة Python المنقذة للحياة، والتي تسمى Geemap. هيا بنا نبدأ!
ما هو محرك جوجل إيرث؟
لقطة شاشة للمؤلف. الصفحة الرئيسية لمحرك جوجل إيرث.
قبل البدء في استخدام مكتبة بايثون، علينا أن نفهم إمكاناتها محرك Google Earth. تستضيف هذه المنصة السحابية، المدعومة بمنصة Google Cloud، مجموعات بيانات جغرافية مكانية عامة ومجانية للأغراض الأكاديمية وغير الربحية والتجارية.
لقطة شاشة للمؤلف. نظرة عامة على كتالوج بيانات Earth Engine.
يكمن جمال هذه المنصة في أنها توفر كتالوجًا متعدد البيتابايت من البيانات النقطية والمتجهة، المخزنة على خوادم Earth Engine. يمكنك الحصول على نظرة عامة سريعة من هذا الصفحة . علاوة على ذلك، فهو يوفر واجهات برمجة التطبيقات لتسهيل تحليل مجموعات البيانات النقطية.
ما هو جيماب؟
الرسم التوضيحي من قبل المؤلف. مكتبة جيماب.
جيماب هي مكتبة بايثون تسمح بتحليل وتصور كميات هائلة من البيانات الجغرافية المكانية من 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 الذي يعرضه هذا السطر من التعليمات البرمجية، والذي سيؤدي إلى إنشاء رمز التفويض. أولاً، حدد المشروع السحابي، ثم انقر فوق الزر "إنشاء رمز مميز".
لقطة شاشة للمؤلف. مصادقة دفتر الملاحظات.
وبعد ذلك سيطلب منك اختيار الحساب. أوصي بأخذ نفس حساب Google Colab إذا كنت تستخدمه.
لقطة شاشة للمؤلف. اختيار حساب.
بعد ذلك، انقر فوق خانة الاختيار الموجودة بجوار تحديد الكل واضغط على الزر "متابعة". باختصار، تسمح هذه الخطوة لـ Notebook Client بالوصول إلى حساب Earth Engine.
لقطة شاشة للمؤلف. اسمح لبرنامج Notebook Client بالوصول إلى حساب Earth Engine الخاص بك.
بعد هذا الإجراء، يتم إنشاء رمز المصادقة ويمكنك لصقه في خلية دفتر الملاحظات.
لقطة شاشة للمؤلف. انسخ رمز التوثيق.
بمجرد إدخال رمز التحقق، يمكنك أخيرًا إنشاء هذه الخريطة التفاعلية وتصورها:
m = geemap.Map()
m
في الوقت الحالي، أنت فقط تراقب الخريطة الأساسية أعلى ipyleaflet، وهي حزمة Python التي تتيح تصور الخرائط التفاعلية داخل Jupyter Notebook.
إنشاء خرائط تفاعلية
لقد رأينا سابقًا كيفية التحقق من الخريطة التفاعلية وتصورها باستخدام سطر واحد من التعليمات البرمجية. الآن، يمكننا تخصيص الخريطة الافتراضية عن طريق تحديد خط الطول وخط العرض للنقطه الوسطى، ومستوى التكبير والارتفاع. لقد اخترت إحداثيات روما للمركز للتركيز على خريطة أوروبا.
m = geemap.Map(center=[41, 12], zoom=6, height=600)
m
إذا أردنا تغيير الخريطة الأساسية، فهناك طريقتان ممكنتان. الطريقة الأولى تتكون من كتابة وتشغيل سطر التعليمات البرمجية التالي:
m.add_basemap("ROADMAP")
m
وبدلاً من ذلك، يمكنك تغيير الخريطة الأساسية يدويًا عن طريق النقر على أيقونة المفتاح الدائري الموجود على اليمين.
علاوة على ذلك، نرى قائمة الخرائط الأساسية المقدمة من 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. نلقي نظرة على وثائق محرك جوجل إيرث لمزيد من التفاصيل.
الرسم التوضيحي من قبل المؤلف. مثال على أنواع البيانات المتجهة: الهندسة والميزات ومجموعة الميزات.
عند التعامل مع البيانات المتجهة، نستخدم بشكل أساسي ثلاثة أنواع من البيانات:
- علم الهندسة يخزن الإحداثيات اللازمة لرسم البيانات المتجهة على الخريطة. يدعم Earth Engine ثلاثة أنواع رئيسية من الأشكال الهندسية: Point وLineString وPolygon.
- الميزات هو في الأساس صف يجمع بين السمات الهندسية وغير الجغرافية. إنها تشبه إلى حد كبير فئة GeoSeries في GeoPandas.
- مجموعة الميزات عبارة عن بنية بيانات جدولية تحتوي على مجموعة من الميزات. إن FeaturesCollection وGeoDataFrame متطابقان تقريبًا من الناحية المفاهيمية.
لقطة شاشة للمؤلف. مثال على نوع بيانات الصورة. يُظهر نموذج الارتفاع الرقمي الأسترالي السلس (ماركا-S)
في عالم البيانات النقطية، نركز على صورة أشياء. تتكون صور Google Earth Engine من علامة تجارية واحدة أو أكثر، حيث يكون لكل نطاق اسم محدد والحد الأدنى والحد الأقصى المقدر والوصف.
إذا كان لدينا مجموعة أو سلسلة زمنية من الصور، مجموعة الصور هو أكثر ملاءمة كنوع البيانات.
لقطة من قبل المؤلف. الغطاء الأرضي لكوبرنيكوس كورين.
نحن نتصور صور القمر الصناعي التي توضح خريطة الغطاء الأرضي لأوروبا. توفر مجموعة البيانات هذه التغييرات بين عامي 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
لقطة من قبل المؤلف.
وبالمثل، يمكننا أن نفعل الشيء نفسه لتحميل وتصور صور القمر الصناعي التي توضح خريطة الغطاء الأرضي لأوروبا. توفر مجموعة البيانات هذه التغييرات بين عامي 1986 و2018.
لقطة من قبل المؤلف. صور عالية الدقة دون اتصال بالإنترنت لتركيزات الميثان.
لتصور 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
لقطة من قبل المؤلف.
ذلك رائع! ومن هذه الخريطة نلاحظ كيف يتوزع غاز الميثان، وهو أحد أهم المساهمين في ظاهرة الاحتباس الحراري، داخل الكرة الأرضية.
افكار اخيرة
كان هذا دليلاً تمهيديًا يمكنه مساعدتك في التعامل مع بيانات Google Earth Engine باستخدام لغة Python. Geemap هي مكتبة Python الأكثر اكتمالا لتصور وتحليل هذا النوع من البيانات.
إذا كنت تريد التعمق في هذه الحزمة، يمكنك إلقاء نظرة على الموارد التي اقترحتها أدناه.
يمكن العثور على الرمز هنا. أتمنى أن تجد المقال مفيدا طاب يومك!
موارد مفيدة:
يوجينيا أنيلو يعمل حاليًا زميلًا باحثًا في قسم هندسة المعلومات بجامعة بادوفا بإيطاليا. يركز مشروعها البحثي على التعلم المستمر جنبًا إلى جنب مع اكتشاف الشذوذ.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- PlatoData.Network Vertical Generative Ai. تمكين نفسك. الوصول هنا.
- أفلاطونايستريم. ذكاء Web3. تضخيم المعرفة. الوصول هنا.
- أفلاطون كربون، كلينتك ، الطاقة، بيئة، شمسي، إدارة المخلفات. الوصول هنا.
- أفلاطون هيلث. التكنولوجيا الحيوية وذكاء التجارب السريرية. الوصول هنا.
- المصدر https://www.kdnuggets.com/geospatial-data-analysis-with-geemap?utm_source=rss&utm_medium=rss&utm_campaign=geospatial-data-analysis-with-geemap