Türkiye Sanal Havacılık Forumu

IVAO TR Weather API

Offline ALP YENI

  • Captain
  • *
  • Herkes uçmayı sever ama siz abartın.

  • IVAO ID: 355715

    • Posts: 1450
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.

IVAO TR Web Development Department
« Last Edit: October 26, 2018, 12:06:41 by ALP YENI »
IVAO Board of Governors
IVAO General Assembly Member
IVAO Public Relations Advisor
IVAO Turkey Webmaster

International Virtual Aviation Organisation
ASUS N552VW-i7 6700HQ-GeForce GTX960M-16GB-128GB


Offline ARCA ERDIK

  • Private Pilot
  • *

  • IVAO ID: 518614

  • Discord ID: #3903

    • Posts: 125
    • Istanbul Virtual Airlines
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:)
 

Istanbul Virtual Airlines - The future is in the skies...

www.istanbulva.net


Offline ALP YENI

  • Captain
  • *
  • Herkes uçmayı sever ama siz abartın.

  • IVAO ID: 355715

    • Posts: 1450
Ö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.  ;)

IVAO TR Web Development Department
IVAO Board of Governors
IVAO General Assembly Member
IVAO Public Relations Advisor
IVAO Turkey Webmaster

International Virtual Aviation Organisation
ASUS N552VW-i7 6700HQ-GeForce GTX960M-16GB-128GB