Mgm-radar – Meteorolojik Radar Görüntüsü İndirme Aracı


(Eren Hatırnaz) #1

Merhabalar,
Karadeniz’de doğmuş ve hala Karadeniz’de yaşayan biri olarak her ne kadar yağmurlu havalara alışık olsam da, dışardayken yağmura yakalanmak çok can sıkıcı oluyor. Bu nedenden olsa gerek yaklaşık 1 yıl kadar önce meteorolojiye ilgi duymaya başladım. Çeşitli okumalar ve araştırmalar yapmaya başladım. Anlık olarak olmasa da belirli periyotlarda hava durumu ile ilgili bilgi edinmek için meteorolojik radarların olduğunu öğrendim. Ülkemizde de T.C. Tarım ve Orman Bakanlığına bağlı Meteoroloji Genel Müdürlüğünün web sitesinden bu meteorolojik radar görüntülerine erişme imkanımız varmış. Uzun bir süredir tarayıcı üzerinden ilgili web sayfasını açarak radar görüntülerini takip ediyordum fakat bir süre sonra kullanım sıklığım arttıkça bu işlem bana biraz yavaş gözükmeye başladı. Ben de bunun için bir betik (script) kodlamaya karar verdim ve bu yazının konusu olan, ‘mgm-radar’ (yaratıcı isim bulma konusunda kötüyüm biraz :slight_smile:) ismini verdiğim betiği kodladım. (Şu sıralar bir de bash scripting ile ilgili bir video serisi de izlediğim için öğrendiklerimi uygulamak için çok iyi fırsat olduğunu düşündüm.)

Betiğin bulunduğu GitHub deposu için bu bağlantıya tıklayabilirsiniz.

Kurulumu ve Kaldırılması

Betiğin düzgün bir şekilde çalışabilmesi için öncelikle bazı gerekli paketleri yüklememiz gerek. Bunlar şu şekilde:

  • bash versiyonunuz 4 veya üzerinde olmalı, kontrol etmek için terminalinizde “ bash −−version ” komutunu kullanabilirsiniz,
  • wget – Bir dosya indirme aracı, radar görüntülerini indirmek için kullanıyoruz,
  • imagemagick – İçerisinde çeşitli resim araçları olan bir paket, bize içerisindeki ‘ convert ’ aracı lazım, bununla indirdiğimiz radar görüntülerini hareketli bir gif dosyası olarak kaydedebiliyoruz,
  • git – Bir versiyon kontrol sistemi, betik dosyasının bulunduğu depoyu indirmek için kullanacağız.

Bunları indirmek için aşağıdaki komutu çalıştırmanız yeterli:

sudo apt install wget imagemagick git

apt’ yerine varsa kendi kullandığınız paket yöneticisini de yazabilirsiniz.

Gerekli paketler başarılı bir şekilde kurulmuşsa aşağıdaki adımları terminalinizde uygulayarak betiğin kurulumunu tamamlayabilirsiniz.

$ git clone https://github.com/erenhatirnaz/mgm-radar.git # Depoyu indiriyoruz
$ cd mgm-radar # indirdiğimiz deponun içerisine giriyoruz
$ chmod u+x mgm-radar.sh # kullanıcının betik dosyasını çalıştırabilmesi için yetki veriyoruz
$ make yukle # yükleme işlemini gerçekleştirmek için

make yukle komutunu çalıştırdığınızda, indirdiğiniz deponun içerisindeki mgm-radar.sh dosyasının bir bağlantısı (symbolic link) varsayılan olarak ~/.local/bin/mgm-radar konumuna oluşturuluyor. Bu sayede sadece indirdiğiniz deponun içindeyken değil, terminalinizde her yerden bu betiği kullanabilirsiniz. Eğer siz kişisel betiklerinizi farklı bir dizinde saklamayı tercih ediyorsanız depo içerisindeki Makefile dosyasının 2.satırındaki hedef satırını değiştirebilirsiniz.

Yukarıdaki işlemler sorunsuz bir şekilde gerçekleştiği takdirde artık terminalinizde ‘mgm-radar’ komutunu çalıştırabilirsiniz.

Betiği sisteminizden kaldırmak için ise:

$ make kaldir

komutunu çalıştırmanız yeterlidir. Fakat unutmayın bu komut sadece ~/.local/bin/mgm-radar konumundaki bağlantı dosyasını siler ve terminalinizde her yerden kullanma imkanını geri alır; indirdiğiniz depo hala bilgisayarınızda durmaya devam edecektir. Depoyu da silmek istiyorsanız terminalinizde depoyu indirdiniz dizine gidin ve rm -rf mgm-radar komutunu çalıştırın veya dosya yöneticinizle silebilirsiniz.

Kullanılması

Meteorolojik radar bulunan illeri listelemek ve size en yakın meteorolojik radarın nerede olduğunu öğrenmek için:

$ mgm-radar radarlar

komutunu kullanabilirsiniz.

Ayrıca mgm-radar −−yardim yazarak betiğin kullanımı ile ilgili detaylı bilgiler de edinebilirsiniz.

Size en yakın meteorolojik radarın nerede olduğunu öğrendiyseniz, artık sistemdeki son radar görüntüsünü indirebilirsiniz:

$ mgm-radar sondurum --il-kodu 55 --urun ppi

Ben örnek olması açısından böyle bir komut yazdım fakat siz il kodunu ve ürünü değiştirerek deneyebilirsiniz.

Sistemdeki son 15 radar görüntüsünü indirip, bunları hareketli gif şeklinde görüntülemek için ise:

$ mgm-radar hareketli --il-kodu 55 --urun ppi

Bu iki komut da indirdiği radar görüntüsünü varsayılan olarak xdg-open komutu ile açar. Yani sisteminizde hangi resim görüntüleyicisini varsayılan olarak seçmişseniz onunla açar. Eğer farklı bir resim görüntüleyici kullanmak istiyorsanız depo içerisindeki mgm-radar.sh dosyasının 29.satırındaki goruntuleyici değişkenini düzenleyebilirsiniz.

Bu komutlar aksi belirtilmediği sürece radar görüntülerini /tmp/mgm-radar konumuna indirir. Bu konuma indirilen radar görüntüleri geçicidir. Yani bilgisayarınızı kapattığınızda radar görüntüleri silinir. Eğer kalıcı olarak başka bir dizine indirmek istiyorsanız: kısa şekiliyle -d, uzun şekiliyle --dizin parametresini kullanabilirsiniz. Örnek vermek gerekirse:

$ mgm-radar sondurum -i 34 -u maks -d ~/Resimler/radar-goruntuleri

Bu parametre ile verdiğiniz dizinin sizin tarafınızdan oluşturulmuş olması gerekir.

NOT: Tüm radarların birleştirilmiş görüntüsü için mgm.gov.tr ürün türünü PPI olarak kısıtlamıştır. Dolayısıyla mgm-radar sondurum -i 0 -u vil yazdığınızda betik size bu bilgiyi verir ve PPI ile devam edip etmemek istediğinizi sorar.

Hata Raporlama

Betikte kodlardan kaynaklı olduğunu düşündüğünüz bir hata keşfederseniz aşağıdaki bağlantıdan hata bildirimi yapabilirsiniz ya da bana e-posta olarak hata bildiriminde bulunabilirsiniz [GPG: 0x8e64942a]. Daha verimli hata çözümleme süreci için hata aldığınızda indirdiğiniz depo dizininde oluşacak olan mgm-radar.log dosyasını da mümkünse (bazı hatalarda oluşmayabilir) ekleyiniz.

GitHub üzerinden hata bildirimi yapmak için bu bağlantıya tıklayabilirsiniz.

Lisansı

Bu betik GNU Genel Kamu Lisansı versiyon 3 ile lisanslanmıştır. Dolayısıyla bir özgür yazılımdır, ve bazı koşullar altında yeniden dağıtmakta serbestsiniz; ayrıntılar için depo içerisindeki LICENSE dosyasına bakınız.

NOT: GNU Genel Kamu Lisansının Türkçe çevirisi için bu bağlantıya tıklayabilirsiniz.


(Emin Fedar) #2

Elinize sağlık çok güzel olmuş, tebrik ederim :+1:


(Eren Hatırnaz) #3

Teşekkürler, umarım faydalı bir araç oluşturabilmişimdir :slight_smile:


(yeongam) #4

Güzel çalışma olmuş, elinize sağlık…Ancak buna ek olarak bilgilendirmek isterim ki; MGM’nin mobil uygulama aracı var.
Buradan indirebilirsin;
https://mgm.gov.tr/mobile/indir/

Bu uygulama ile anlık hava durumu, güncel uydu ve radar görüntüleri gibi MGM tarafından yayınlanan bir çok içeriğe kolayca ulaşabilirsin. Uygulama konum bilgisi hizmetide verdiğinden, bulunduğun il için mevcut uyarıları da sana bildirecektir.


(Eren Hatırnaz) #5

Teşekkür ederim, umarım insanların işine yarar.

Meteoroloji Genel Müdürlüğünün mobil uygulamasından haberim var ama yine de bilgilendirdiğiniz için teşekkürler. Ben genelde işlerimi terminal üzerinden halletmeyi seven birisiyim ve dolayısıyla bu işlemi de terminal üzerinden yapmak benim için daha kolay oluyor. Yazıda da belirttiğim gibi bu aracı yapmamdaki motivasyonum öncelikle kendi ihtiyacımı gidermek; daha sonra yararlı olabilir diye kodlarını da paylaştım. Ayrıca mobil uygulamada sadece radarlardaki PPI ürününü görüntüleyebiliyorsunuz. MGM tarafından sağlanan diğer ürünlere (VIL, MAKS, RUZGAR) ait radar görüntüleri bulunmuyor.


(Eren Hatırnaz) #6

Güncelleme: 0.2.0 Sürümü Yayınlandı

  • Yeni özellik: Sadece indir
  • Yeni özellik: Hata ayıklama modu
  • Yeni özellik: Fonksiyonel testler
  • Hata çözüldü: Geçersiz il kodu hatasından sonra betik durmuyor
  • Hata çözüldü: Yanlış regex kullanımı