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?
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.
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?
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.
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.
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.
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.
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
Ş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
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
Alternatif olarak, sağ tarafta bulunan halka anahtar simgesine tıklayarak temel haritayı manuel olarak değiştirebilirsiniz.
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.
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.
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.
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
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.
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
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.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- PlatoData.Network Dikey Üretken Yapay Zeka. Kendine güç ver. Buradan Erişin.
- PlatoAiStream. Web3 Zekası. Bilgi Genişletildi. Buradan Erişin.
- PlatoESG. karbon, temiz teknoloji, Enerji, Çevre, Güneş, Atık Yönetimi. Buradan Erişin.
- PlatoSağlık. Biyoteknoloji ve Klinik Araştırmalar Zekası. Buradan Erişin.
- Kaynak: https://www.kdnuggets.com/geospatial-data-analysis-with-geemap?utm_source=rss&utm_medium=rss&utm_campaign=geospatial-data-analysis-with-geemap