Zephyrnet Logosu

Geemap ile Jeo-uzaysal Veri Analizi – KDnuggets

Tarih:

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın çizimi
 

Jeo-uzaysal veri analizi, jeo-uzaysal veri adı verilen özel bir veri türünü ele almak, görselleştirmek ve analiz etmek için kullanılan bir alandır. Normal verilerle karşılaştırıldığında, enlem ve boylam gibi konum bilgileri olan ek bir sütuna sahip tablo verilerimiz var. 

İki ana veri türü vardır: vektör verileri ve tarama verileri. Vektör verileriyle uğraşırken hâlâ tablo şeklinde bir veri kümeniz olur; raster veriler ise uydu görüntüleri ve hava fotoğrafları gibi görüntülere daha çok benzer. 

Bu makalede, uydu görüntülerine ilişkin devasa bir veri kataloğu sağlayan bir bulut bilişim platformu olan Google Earth Engine tarafından sağlanan tarama verilerine odaklanacağım. Bu tür veriler, Geemap adı verilen hayat kurtaran bir Python paketi kullanılarak Jupyter Notebook'unuzdan kolayca yönetilebilir. Başlayalım!

Google Earth Motoru nedir?

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın ekran görüntüsü. Google Earth Engine'in ana sayfası.
 

Python Kütüphanesine başlamadan önce potansiyelini anlamamız gerekiyor. Google Earth Motoru. Google Cloud platformu tarafından desteklenen bu bulut tabanlı platform, akademik, kar amacı gütmeyen ve ticari amaçlara yönelik herkese açık ve ücretsiz coğrafi veri kümelerini barındırır.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın ekran görüntüsü. Earth Engine Veri Kataloğuna Genel Bakış. 
 

Bu platformun güzelliği, Earth Engine sunucularında depolanan, çok petabaytlık bir tarama ve vektör verileri kataloğu sağlamasıdır. Buradan hızlı bir genel bakışa sahip olabilirsiniz Link. Ayrıca raster veri kümelerinin analizini kolaylaştırmak için API'ler sağlar. 

Geemap nedir?

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın İllüstrasyonu. Geemap kütüphanesi.
 

Gee haritası Google Earth Engine'den gelen büyük miktarlardaki coğrafi verilerin analiz edilmesine ve görselleştirilmesine olanak tanıyan bir Python kitaplığıdır. 

Bu paketten önce, JavaScript ve Python API'leri aracılığıyla hesaplamalı isteklerde bulunmak zaten mümkündü ancak Python API'leri sınırlı işlevlere sahipti ve dokümantasyondan yoksundu. 

Bu boşluğu doldurmak için, kullanıcıların Google Earth Engine kaynaklarına birkaç satır kodla erişmesine olanak tanıyan Geemap oluşturuldu. Geemap üzerine inşa edilmiştir earengine-api, ipleaflet ve folium.

Kütüphaneyi kurmak için aşağıdaki komuta ihtiyacınız var:

pip install geemap

 

Tam potansiyelini anlamak için bu harika paketi Google Colab'da denemenizi öneririm. Şuna baksana bu ücretsiz kitap Profesör Dr. Qiusheng Wu tarafından Geemap ve Google Earth Engine'e başlangıç ​​için yazılmıştır.

Earth Engine'e Nasıl Erişilir?

Öncelikle eğitimde kullanılacak iki Python kütüphanesini içe aktarmamız gerekiyor:

import ee
import geemap

 

Geemap'e ek olarak, ee adı verilen Earth Engine Python istemci kitaplığını da içe aktardık. 

Bu Python kitaplığı, Earth Engine'de kimlik doğrulama için kullanılabilir ancak doğrudan Geemap kitaplığı kullanılarak daha hızlı yapılabilir:

m = geemap.Map()
m

 

Yetkilendirme kodunu oluşturacak olan bu kod satırının döndürdüğü URL'yi tıklamanız gerekir. Öncelikle bulut projesini seçin ve ardından “JENERATÖR OLUŞTUR” butonuna tıklayın.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın ekran görüntüsü. Dizüstü Bilgisayar Kimlik Doğrulayıcısı.
 

Daha sonra sizden hesap seçmenizi isteyecektir. Eğer kullanıyorsanız Google Colab'ın aynı hesabını almanızı öneririm.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın ekran görüntüsü. Bir hesap seçin.
 

Daha sonra Tümünü Seç seçeneğinin yanındaki onay kutusunu işaretleyin ve “Devam Et” düğmesine basın. Özetle, bu adım Notebook İstemcisinin Earth Engine hesabına erişmesine olanak tanır.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın ekran görüntüsü. Notebook İstemcisinin Earth Engine hesabınıza erişmesine izin verin.
 

Bu işlemden sonra kimlik doğrulama kodu oluşturulur ve bunu not defteri hücresine yapıştırabilirsiniz.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın ekran görüntüsü. Kimlik Doğrulama Kodunu kopyalayın.
 

Doğrulama kodunu girdikten sonra nihayet bu etkileşimli haritayı oluşturabilir ve görselleştirebilirsiniz:

m = geemap.Map()
m

 

Geemap ile Jeo-uzaysal Veri Analizi
 

Şimdilik, Jupyter Notebook'taki etkileşimli haritaların görselleştirilmesini sağlayan bir Python paketi olan ipyleaflet'in üzerindeki temel haritayı gözlemliyorsunuz. 

Etkileşimli Haritalar Oluşturun

Daha önce, tek bir kod satırı kullanarak etkileşimli bir haritanın kimliğinin nasıl doğrulanacağını ve görselleştirileceğini görmüştük. Artık, ağırlık merkezinin enlem ve boylamını, yakınlaştırma düzeyini ve yüksekliğini belirterek varsayılan haritayı özelleştirebiliriz. Avrupa haritasına odaklanmak için merkezin Roma koordinatlarını seçtim. 

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

 

Geemap ile Jeo-uzaysal Veri Analizi

 

Temel haritayı değiştirmek istersek iki olası yol vardır. İlk yol, aşağıdaki kod satırını yazıp çalıştırmaktan oluşur:

m.add_basemap("ROADMAP")
m

 

Geemap ile Jeo-uzaysal Veri Analizi
 

Alternatif olarak, sağ tarafta bulunan halka anahtar simgesine tıklayarak temel haritayı manuel olarak değiştirebilirsiniz. 

 

Geemap ile Jeo-uzaysal Veri Analizi
 

Ayrıca Geemap tarafından sağlanan temel haritaların listesini de görüyoruz:

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

 

Bu çıktı:

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

 

Fark edebileceğiniz gibi, çoğu OpenStreetMap, ESRI ve USGS sayesinde mevcut olan çok sayıda temel harita bulunmaktadır.

Earth Engine Veri Türleri

Geemap'in tam potansiyelini göstermeden önce Earth Engine'deki iki ana veri türünü bilmek önemlidir. Şuna bir göz atın Google Earth Engine'in belgeleri daha fazla ayrıntı için.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın İllüstrasyonu. Vektör veri türlerine örnek: Geometri, Özellik ve ÖzellikCollection.
 

Vektör verilerini işlerken esas olarak üç veri türünü kullanırız:

  • geometri Vektör verilerini bir harita üzerinde çizmek için gereken koordinatları saklar. Earth Engine tarafından üç ana geometri türü desteklenir: Point, LineString ve Polygon.
  • Özellikler(Hazırlık aşamasında) aslında geometri ve coğrafi olmayan nitelikleri birleştiren bir satırdır. GeoPanda'ların GeoSeries sınıfına çok benzer.
  • ÖzellikKoleksiyonu bir dizi özellik içeren tablo şeklinde bir veri yapısıdır. FeatureCollection ve GeoDataFrame kavramsal olarak neredeyse aynıdır.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazarın ekran görüntüsü. Görüntü veri türü örneği. Avustralya Düzleştirilmiş Dijital Yükseklik Modelini gösterir (DEM-S)
 

Raster veri dünyasında odaklanıyoruz Resim nesneler. Google Earth Motorunun Görselleri, her bandın belirli bir adı, tahmini minimum ve maksimumu ve açıklaması bulunan bir veya daha fazla markadan oluşur.

Görüntülerden oluşan bir koleksiyonumuz veya zaman serimiz varsa, Resim Koleksiyonu veri türü olarak daha uygundur.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazar tarafından ekran görüntüsü. Copernicus CORINE Arazi Örtüsü.
 

Avrupa'nın arazi örtüsü haritasını gösteren uydu görüntülerini görselleştiriyoruz. Bu veri seti 1986 ile 2018 yılları arasındaki değişiklikleri sağlamaktadır.

Öncelikle ee.Image kullanarak görseli yüklüyoruz ve ardından “landcover” bandını seçiyoruz. Son olarak Map.addLayer kullanarak yüklenen veri setini haritaya katman olarak ekleyerek görüntüyü görselleştirelim. 

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 ile Jeo-uzaysal Veri Analizi
Yazar tarafından ekran görüntüsü.
 

Benzer şekilde Avrupa'nın arazi örtüsü haritasını gösteren uydu görüntülerini yükleyip görselleştirmek için de aynı şeyi yapabiliriz. Bu veri seti 1986 ile 2018 yılları arasındaki değişiklikleri sağlamaktadır.

 

Geemap ile Jeo-uzaysal Veri Analizi
Yazar tarafından ekran görüntüsü. Metan konsantrasyonlarının çevrimdışı yüksek çözünürlüklü görüntüleri.

 

Earth Engine ImageCollection'ı görselleştirmek için kod satırları ee.ImageCollection dışında benzerdir. 

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 ile Jeo-uzaysal Veri Analizi
Yazar tarafından ekran görüntüsü.
 

Bu harika! Bu haritadan sera etkisine en önemli katkılardan biri olan metanın dünya üzerinde nasıl dağıldığını görüyoruz. 

Son Düşüncelerimiz

Bu, Python kullanarak Google Earth Engine verileriyle çalışmanıza yardımcı olabilecek giriş niteliğinde bir kılavuzdu. Geemap, bu tür verileri görselleştirmek ve analiz etmek için en eksiksiz Python kütüphanesidir. 

Bu paketi daha derinlemesine incelemek isterseniz aşağıda önerdiğim kaynaklara göz atabilirsiniz. 

Kod bulunabilir okuyun. Umarım makaleyi faydalı bulmuşsunuzdur. İyi günler!

Yararlı kaynaklar:

 
 

Eugenia Anello şu anda İtalya Padova Üniversitesi Bilgi Mühendisliği Bölümü'nde araştırma görevlisidir. Araştırma projesi, Anomali Tespiti ile birlikte Sürekli Öğrenmeye odaklanmıştır.

spot_img

En Son İstihbarat

spot_img