Veri analizi dünyasında Python ve Pandas kütüphanesi ne kadar popülerse, coğrafi veri dünyasında da GeoPandas o kadar vazgeçilmezdir. GeoPandas, Pandas'ın yeteneklerini mekânsal nesneler ve geometrik işlemler ekleyerek genişletir. Bu sayede karmaşık CBS yazılımlarına ihtiyaç duymadan, sadece birkaç satır Python kodu yazarak coğrafi verileri analiz edebilir ve haritalandırabiliriz.

1. GeoPandas Nedir ve Nasıl Çalışır?

GeoPandas, Pandas kütüphanesini temel alır ancak veri tablolarına özel bir `geometry` kolonu ekler. Bu geometry kolonu; noktaları, çizgileri veya poligonları (shapely kütüphanesi yardımıyla) saklar.

Fiona kütüphanesini kullanarak Shapefile, GeoJSON, KML veya GPKG gibi popüler coğrafi dosya formatlarını doğrudan okuyabilir ve yazabilir. Ayrıca PyProj kütüphanesi aracılığıyla projeksiyon dönüşümlerini otomatik olarak halleder.

2. Temel Kod Örnekleri ve CBS İşlemleri

GeoPandas ile bir coğrafi veriyi okumak, filtrelemek ve haritasını çizdirmek oldukça basittir. Aşağıdaki Python betiğinde bir Shapefile dosyasının nasıl yüklendiği, koordinat sisteminin nasıl dönüştürüldüğü ve 1 kilometrelik bir tampon bölge (buffer) analizinin nasıl yapıldığı gösterilmektedir:

import geopandas as gpd

# 1. Shapefile formatındaki coğrafi veriyi yükleme
df_sehirlery = gpd.read_file("sehirler.shp")

# 2. Projeksiyon dönüşümü (WGS84 EPSG:4326 -> Web Mercator EPSG:3857)
# Tampon bölge hesabı gibi metrik analizler için projeksiyon şarttır!
df_sehirlery = df_sehirlery.to_crs(epsg=3857)

# 3. Şehir merkezlerinin 1000 metre çevresini kapsayan Tampon Bölge (Buffer) analizi
df_buffer = df_sehirlery.copy()
df_buffer['geometry'] = df_sehirlery.geometry.buffer(1000)

# 4. Sonuçları yeni bir GeoJSON dosyası olarak kaydetme
df_buffer.to_file("sehirler_buffer.geojson", driver="GeoJSON")

Yukarıdaki kod, klasik CBS yazılımlarında dakikalarca süren arayüz tıklamalarını saniyeler içinde otomatize eder. Koordinat sistemlerinin (CRS) önemi ve CBS dünyasındaki yeri hakkında teorik bilgi almak için CBS Nedir? Giriş Makalemizi okuyabilirsiniz.

3. Bindirme (Overlay) ve Mekânsal Birleştirme

Mekânsal analizlerin kalbi, iki farklı katmanın çakıştırılmasıdır. GeoPandas'taki `overlay()` fonksiyonu ile iki poligon katmanı arasındaki Kesişim (Intersection), Birleşim (Union) veya Fark (Difference) işlemlerini yapabiliriz.

Örneğin, bir heyelan duyarlılık haritası ile orman sınırlarını çakıştırarak en yüksek risk altındaki orman alanlarını belirlemek son derece kolaydır. Benzer şekilde, arazi analizi için yükseklik verileriyle çalışıyorsanız, ürettiğiniz analizleri Sayısal Yükseklik Modeli (DEM) verileriyle entegre edebilirsiniz.

4. Görselleştirme ve Web Entegrasyonu

GeoPandas, Matplotlib tabanlı `.plot()` fonksiyonuyla hızlıca haritalar üretebilmektedir. Ancak bu statik haritaları dinamik web uygulamalarına taşımak için harita verilerini GeoJSON formatında dışa aktarıp, GeoVista benzeri tarayıcı tabanlı haritalama motorlarında render ediyoruz.

Kendi projelerimde de mekânsal otomasyon süreçlerinde GeoPandas kütüphanesini çekirdek veri işleme birimi olarak kullanıyorum. Akademik çalışmalarım ve projelerim hakkında daha fazla detay edinmek için Projelerim sayfasını ziyaret edebilir, ortak çalışmalar için benimle iletisim kurabilirsiniz.