chrishaensel / ivao-data
一个简单的PHP库,用于下载符合IVAO规则的IVAOWhazzup数据。
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。
用法
- 克隆此存储库或使用composer-require
git clone https://...
或composer require chrishaensel/ivao-data
- 创建IVAO类的新实例
$ivao = new \chrishaensel\Ivao("My app name v.1.1");
- 下载数据
$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": "" } ]
有问题?评论?
- 请通过chris@haensel.pro联系我。
- 在我的网站上找到更多信息:https://haensel.pro。