全国航班数据与可视化分析 |
您所在的位置:网站首页 › 航班轨迹查询软件 › 全国航班数据与可视化分析 |
概述
本文通过爬取全国航班的数据,并对行数据进行可视化展示与分析。 数据来源数据是从哪儿也不想去的去哪网抓过来。为了能够获取到数据,抓取了下请求的地址,抓取的地址如下: 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=返回后的数据格式如下: 为了更好地服务于我,首先将数据做了入库(此处我用的是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 有机场的城市的位置分布
技术博客 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讲堂”知识星球今天开通了,在星球,我将提供一对一的问答服务,你问我答,期待与你相见。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |