Türkiye Sanal Havacılık Forumu

IVAO Türkiye Bölümü => Genel Konular & Duyurular => Topic started by: ALP YENI on August 01, 2018, 03:26:17

Title: IVAO TR Weather API
Post by: ALP YENI on August 01, 2018, 03:26:17
Merhabalar,

Bildiğiniz üzere geçtiğimiz günlerde aktif pist ve hava durumu gösteren bir bölümü web sitemizde hizmete sunmuştuk. Benzer bir hizmeti VA'larımızın da verebilmesi için bir API tasarladık.

API'yi nasıl kullanabiliriz?

API için herhangi bir başvuru yapmanıza gerek yoktur. API'ye https://tr.ivao.aero/wxapi.php?q=ICAO adresinden ulaşabilirsiniz. Veri talebinde bulunurken ICAO kısmına talep edilen meydanın ICAO kodunu girmeyi unutmayınız.

Size döndürülecek veri json formatında olacağından, mevcut servis sağlayıcınızın (hosting şirketinizin) json_decode fonksiyonunu çalıştırabileceğinizden emin olunuz. Gelecek veri aşağıdaki formattadır:

{"AIRPORT":"LTBA",  "METAR":"LTBA 312320Z VRB07KT CAVOK 27\/23 Q1010 NOSIG RMK RWY17L 02007KT RWY05 01008KT RWY23 03007KT", "TORWY":"35R-L" ,"LDGRWY":"05"}

Önemli Not!
API'dan veri talep ederken mutlaka meydan ICAO kodunu geçerli girdirdiğinizden ve kodun 4 hane olduğundan emin olunuz. Aksi halde size dönecek sonuç aşağıdaki gibi olacaktır:

{"ERROR":"An Error Occurred! Error Code: xx"}

Error Code 1: Eksik ICAO Kodu.
Error Code 2: Yanlış ICAO kodu veya ICAO kodu IVAO METAR listesinde bulunamadı.


Ayrıca API yalnızca aktif pist bilgisi kullanılabilen meydanlar için aktif pist kısımlarını geri döndürecektir. Diğer meydanlar, yalnızca METAR bilgisini döndürmektedir.

Lütfen API'yi cronjob ile sürekli çekerek METAR güncelleme amacıyla kullanmayınız. API, yalnızca kullanıcı sorgusu halinde talebi karşılamak amacıyla tasarlanmıştır.

Örnek kod:
Aşağıdaki kod ile veriyi çekerek doğrudan web sitenizde bilgileri basitçe gösterebilirsiniz. Kod tamamen örnek ve opsiyoneldir. Gelen veriyi kullanarak oluşturacağınız şeyleri tamamen yaratıcılığınıza bırakıyoruz.  :)

Code: [Select]
<?php
/**
* Veriyi çekme
* **/
$airport 'LTBA'// Talep edilecek meydanın ICAO kodu.
$get_data file_get_contents("https://tr.ivao.aero/wxapi.php?q=".$airport); //API'dan veri talebinin yapılması.
$json json_decode($get_data); //Gelen verinin decode edilmesi.

/**
 * Verilerin gösterilmesi
 * **/
 
if(!isset($json->ERROR)) //Eğer API'den herhangi bir hata mesajı dönmediyse:
 
{
    echo 
'Meydan:'.$json->AIRPORT.'</br>';
    echo 
'METAR:'.$json->METAR.'</br>';
    if(isset(
$json->TORWY) && isset($json->LDGRWY)) // Eğer talep edilen meydan aktif pist bilgisi içeriyorsa:
    
{
        echo 
'Kalkış Pisti: '.$json->TORWY.'</br>';
        echo 
'İniş Pisti: '$json->LDGRWY.'</br>';
    }
 } else { 
//Bir hata dönmesi halinde bir mesaj gösterilir.
    
echo 'Bir hata oluştu. Eksik veya yanlış bir ICAO kodu girdiniz. Lütfen tekrar deneyin.';
 }
?>


*METAR Bilgisi, IVAO hava durumu sunucuları METAR listelerinden edinilmektedir.

(http://www.thyva.com/images/ivaotr.png)
IVAO TR Web Development Department
Title: Re: IVAO TR Weather API
Post by: ARCA ERDIK on October 23, 2018, 19:56:55
Merhaba Alp,

Bu post tamamen yazın azizliğine uğramış yeni gördüm  O:-)

Ellerine ve emeğine sağlık.
Teşekkür ederiz.

İyi Çalışmalar.  F:)
 
Title: Re: IVAO TR Weather API
Post by: ALP YENI on October 26, 2018, 12:05:55
Önemli Bilgilendirme!

API adresimiz https://tr.ivao.aero olarak değişmiştir. Yeni API'ye https://tr.ivao.aero/wxapi.php?q=LTBA adresinden ulaşabilirsiniz. Uygulamalarınıza gerekli güncellemeyi yapmayı lütfen unutmayınız.  ;)

(http://www.thyva.com/images/ivaotr.png)
IVAO TR Web Development Department