全国航班数据与可视化分析

您所在的位置:网站首页 航班轨迹查询软件 全国航班数据与可视化分析

全国航班数据与可视化分析

2023-06-19 10:30| 来源: 网络整理| 查看: 265

概述

本文通过爬取全国航班的数据,并对行数据进行可视化展示与分析。

数据来源

数据是从哪儿也不想去的去哪网抓过来。为了能够获取到数据,抓取了下请求的地址,抓取的地址如下:

https://flight.qunar.com/touch/api/domestic/wbdflightlist?departureCity=%E5%8C%97%E4%BA%AC&arrivalCity=%E6%B7%B1%E5%9C%B3&departureDate=2018-06-12&ex_track=&__m__=09de50bb5812f2686e2db9b0f49185d0&sort=

返回后的数据格式如下: 有了上面的URL和结果,并添加了百度地图的地理编码接口,最终得到数据如下:

数据处理 1. 数据入库

为了更好地服务于我,首先将数据做了入库(此处我用的是Postgres库),表结构如下:

CREATE TABLE domestic_flight ( departure_city character varying(30), departure_cy double precision, departure_cx double precision, landing_city character varying(30), landing_cy double precision, landing_cx double precision, mileage character varying(255), flight_schedules character varying(255), airlines character varying(255), aircraft_models character varying(255), departure_time character varying(255), landing_time character varying(255), departure_airport character varying(255), departure_y double precision, departure_x double precision, landing_airport character varying(255), landing_y double precision, landing_x double precision, punctuality_rate character varying(255), average_delayed character varying(255), is_mon smallint, is_tue smallint, is_wed smallint, is_thr smallint, is_fri smallint, is_sat smallint, is_sun smallint )

说明: 1、departure为起飞,landing为落地; 2、is_sat为“sat”是否有班次,”sat”为星期几的简写;

2. 提取城市和机场数据

城市和机场数据是类似的,此处以机场数据为例说明。

2.1 新建机场表 CREATE TABLE flight_airport ( id serial, name character varying(30), province character varying(30), airport_x numeric, airport_y numeric, CONSTRAINT pkey_air_airporty PRIMARY KEY (id) ) 2.2 插入数据

由于机场包含起飞和落地两个类型的,所以索性将两个数据做个union。

INSERT INTO flight_airport (NAME, airport_x, airport_y)( SELECT DISTINCT departure_airport AS airport, departure_x AS airport_x, departure_y AS airport_y FROM domestic_flight ) UNION ( SELECT DISTINCT landing_airport AS airport, to_number(landing_x, '999.999999999') AS airport_x, to_number(landing_y, '999.999999999') AS airport_y FROM domestic_flight )

说明: 1、在入库的时候,没注意,将landing_x和landing_y字段类型设成了String,所以此处做了一个转换;

2.3 更新省属性

省属性是通过空间表‘province’和flight_airport 表做空间关联而得的。

UPDATE flight_airport SET province = ( SELECT NAME FROM province WHERE st_within ( st_point ( flight_airport.airport_x, flight_airport.airport_y ), province.geom ) )

ok, 大工告成,最后的数据如下: 机场 有机场的城市

数据展示与分析

数据的地图展示是在geohey云平台上实现。

1.位置分布 1.1 有机场的城市的位置分布

有机场的城市

1.2 机场的位置分布

机场位置 机场分布热力图

2.数据统计 2.1 省机场数排名 SELECT province, COUNT (1) AS airport_num FROM flight_airport GROUP BY province ORDER BY airport_num DESC 省名称机场个数内蒙古16新疆15云南13江苏11四川11山东11甘肃10广东9黑龙江9贵州8辽宁8浙江8湖南7湖北6西藏6福建6广西6安徽6江西5上海5陕西5山西5北京5吉林4河北4宁夏4河南3青海3重庆2海南2天津1 2.1 航空公司航班数排名 SELECT airlines as name, COUNT (1) AS num FROM domestic_flight GROUP BY airlines ORDER BY num DESC 航空公司航班数南方航空2552东方航空1862中国国航1440深圳航空1183厦门航空1000海南航空982山东航空779华夏航空565四川航空468天津航空463祥鹏航空332春秋航空298河北航空292吉祥航空278首都航空268昆明航空239成都航空219上海航空214西藏航空212幸福航空195长龙航空167东海航空133北部湾航空111西部航空92奥凯航空90福州航空68澳洲航空67九元航空60多彩航空52新西兰航空52大新华航空50瑞丽航空46扬子江航空42青岛航空40乌鲁木齐航空30英国航空26全日空航空18重庆航空17香港航空17红土航空13日本航空13联合航空8桂林航空4江西航空4夏威夷航空3酷航3长安航空2北欧航空2 2.3 飞机机型排名 SELECT aircraft_models as name, COUNT (1) AS num FROM domestic_flight GROUP BY aircraft_models ORDER BY num DESC 机型名称个数波音737(中)6243空客320(中)3697空客319(中)1278JET987空客321(中)787ERJ-190(中)678庞巴迪CRJ900547其他机型457新舟60(小)145空客330(宽体机)108空客321(窄体机)37波音787(大)30CRJ(小)24ERJ(小)20波音777(大)15波音757(中)10空客380(大)5波音747(大)2波音767(大)1 数据下载地址:链接:https://pan.baidu.com/s/1FQW1OkNtALIvfoxFbcn4vw 密码:m1k2

技术博客 CSDN:http://blog.csdn.NET/gisshixisheng 在线教程 https://edu.csdn.net/course/detail/799 https://edu.csdn.net/course/detail/7471 联系方式

类型内容qq1004740957公众号[email protected]群452117357Android群337469080GIS数据可视化群458292378

“GIS讲堂”知识星球今天开通了,在星球,我将提供一对一的问答服务,你问我答,期待与你相见。 知识星球二维码

LZUGIS



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3