chrishaensel/ivao-data

一个简单的PHP库,用于下载符合IVAO规则的IVAOWhazzup数据。

v1.0.1 2021-04-08 14:57 UTC

This package is auto-updated.

Last update: 2024-09-08 22:05:08 UTC


README

IVAO数据库是一个非常简单的PHP类,用于下载IVAOWhazzup数据。

重要

这是一个正在进行中的项目!这并不是你见过的最好的代码。但它可能对你有帮助。祝你好运。

IVAO API信息

你可以在IVAO维基百科中找到有关IVAO API和whazzup数据检索的更多信息: IVAO WIKI

用法

  1. 克隆此存储库或使用composer-require git clone https://...composer require chrishaensel/ivao-data
  2. 创建IVAO类的新实例 $ivao = new \chrishaensel\Ivao("My app name v.1.1");
  3. 下载数据 $ivao->downloadIvaoWhazzupData();

选项

在实例化Ivao类时,你必须将你的应用程序名称作为第一个参数传递。$ivao = new \chrishaensel\Ivao("My app name v1.1"),否则它将抛出异常。IVAO要求你将应用程序名称作为下载数据时的User Agent字符串传递。

作为第二个参数,你可以传递一个包含其他选项的array。目前,唯一支持的选项是create_json。当设置为1时,库将创建包含在whazzupt.txt文件中的ATC和PILOT数据的JSON文件。

在调用downloadIvaoWhazzupData方法时,你可以传递一个参数(string),用于指定目标路径/文件名。 $ivao->downloadIvaoWhazzupData("my_whazzup.txt")将导致脚本将数据保存到文件my_whazzup.txt中。

IVAO规则

IVAO确实有一些关于下载whazzup数据的规则。

最重要的是

这些文件只能在获得IVAO开发运营部门的官方批准后获得!

  • 始终将你的用户代理设置为应用程序的名称,包括版本。
  • whazzup文件只能每5分钟下载一次。
  • status.txt文件每天只能下载一次。

IVAO-data会处理时间问题 - 你需要请求许可:)

一些示例代码

这样,你就可以使用Ivao类。我们使用naspaces,所以不会与你可能使用的其他库发生冲突。

require_once 'vendor/autoload.php';
use chrishaensel\Ivao;

$options = [
    "create_json" => 1,
    "json_file" => "whazzup.json"
];

$ivao = new Ivao("My best app ever v1.1", $options);
$ivao->downloadIvaoWhazzupData("my_whazzup.txt");

JSON文件的示例输出

whazzup数据将在JSON中分为两部分。"PILOT"和"ATC" - 都是连接方的数组。

{
  "PILOT": [
    {
      "callsign": "5RAED",
      "user": {
        "vid": "652248",
        "name": "652248",
        "rating": 3,
        "rating_decoded": "Flight Student (FS2)"
      },
      "client_type": "PILOT",
      "freq": "",
      "position": {
        "latitude": "-22.7559",
        "longitude": "47.8591",
        "altitude": "1929"
      },
      "flight_data": {
        "groundspeed": "179",
        "heading": "319",
        "on_ground": "0"
      },
      "flightplan": {
        "aircraft": "1\/M20P\/L-SDFGR\/C",
        "cruising_speed": "N0130",
        "origin": "FMSG",
        "cruising_level": "F080",
        "destination": "FMMI",
        "revision": "0",
        "flight_rules": "I",
        "dep_time": "1431",
        "actual_dep_time": "1431",
        "eet_hours": "2",
        "eet_minutes": "18",
        "endurance_hours": "4",
        "endurance_minutes": "25",
        "alternate_aerodrome": "FMMT",
        "remarks": "PBN\/D2 DOF\/210408 REG\/5RAED PER\/A RMK\/TCAS",
        "route": "FMSG FMSF FMME FMMA FMMI",
        "alternate_aerodrome2": "",
        "type_of_flight": "S",
        "persons_on_board": "2"
      },
      "server": "SHARD1",
      "protocol": "B",
      "combined_rating": "3",
      "transponder_code": "2000",
      "facility_type": "0",
      "visual_range": "50",
      "unused1": "",
      "unused2": "",
      "ATIS": "",
      "ATIS_time": "",
      "connection_time": "20210408140418",
      "connection_duration": "2:25:21",
      "software": {
        "name": "Altitude\/win",
        "version": "1.10.2b"
      },
      "plane": "1\/M20P\/L-SDFGR\/C"
    },
   },
   "ATC": [
   {
      "callsign": "EDDF_A_GND",
      "user": {
        "vid": "544029",
        "name": "544029",
        "rating": 4,
        "rating_decoded": "Advanced ATC Trainee - AS3"
      },
      "client_type": "ATC",
      "freq": "121.855",
      "position": {
        "latitude": "50.0333",
        "longitude": "8.57046",
        "altitude": "0"
      },
      "flight_data": {
        "groundspeed": "0",
        "heading": "",
        "on_ground": ""
      },
      "flightplan": {
        "aircraft": "",
        "cruising_speed": "",
        "origin": "",
        "cruising_level": "",
        "destination": "",
        "revision": "",
        "flight_rules": "",
        "dep_time": "",
        "actual_dep_time": "",
        "eet_hours": "",
        "eet_minutes": "",
        "endurance_hours": "",
        "endurance_minutes": "",
        "alternate_aerodrome": "",
        "remarks": "",
        "route": "",
        "alternate_aerodrome2": "",
        "type_of_flight": "",
        "persons_on_board": ""
      },
      "server": "SHARD3",
      "protocol": "B",
      "combined_rating": "4",
      "transponder_code": "0",
      "facility_type": "3",
      "visual_range": "10",
      "unused1": "",
      "unused2": "",
      "ATIS": "",
      "ATIS_time": "",
      "connection_time": "20210408141942",
      "connection_duration": "2:9:57",
      "software": {
        "name": "Aurora\/win",
        "version": "1.2.12b"
      },
      "plane": ""
    }
   ] 

有问题?评论?