System and method for directed graph-based airport prioritization for traffic flow modeling
By generating directed graphs and applying link analysis and clustering algorithms to identify key airport nodes, the problem of insufficient accuracy of air traffic flow models in global or multi-regional networks is solved, achieving efficient and accurate air traffic flow prediction.
Patent Information
- Application Number
- CN202511338186.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-09-19
- Filing Date
- 2025-09-18
- Publication Date
- 2026-03-20
AI Technical Summary
Existing air traffic flow models lack accuracy in global or multi-regional air traffic networks. In particular, the resource-intensive nature of machine learning models makes them difficult to scale, and existing methods based on airport-level statistics cannot accurately reflect the importance of air traffic networks.
By generating a directed graph based on historical flight data, using link analysis and clustering algorithms to identify key airport nodes, and outputting a graphical user interface to display recommended airports, accurate modeling of air traffic flow is achieved.
It enables highly accurate traffic modeling within air traffic networks, reduces computational resource requirements, and can be effectively scaled across multi-regional or global air traffic networks to provide more accurate forecasts.
Smart Images

Figure CN121708784A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to air traffic control, and more specifically, to directed graph-based airport prioritization for traffic flow modeling. BACKGROUND
[0002] Air traffic networks enable passengers to travel across large geographic distances in a short amount of time to provide or maintain invaluable global connectivity. Aircraft operators that provide flights to destinations around the world attempt to schedule flights such that passenger delays are reduced or minimized. However, due to the complexity of air traffic networks, flight performance and air traffic flow models designed to predict delays can be relatively inaccurate, especially when scaled to global air traffic networks. As machine learning techniques have advanced, neural networks and other machine learning models have been leveraged to address the challenge of modeling air traffic flow and predicting delays. While the use of machine learning models has achieved some success in modeling air traffic flow for a single airport, the resource-intensive nature of these machine learning models can make scaling predictions from a single airport to multiple airports of an air traffic network impractical, even for airports in a relatively small geographic region. Furthermore, current approaches that focus on specific airports, such as the busiest airports, prioritize modeled airports based on airport-level statistics that do not indicate the importance of a particular airport to air traffic flow at an air traffic network level. As a result, air traffic flow modeling systems that only model the busiest airports can be inaccurate or provide relatively small predictive values for modeling air traffic flow in a global air traffic network. SUMMARY
[0003] In a particular implementation, an apparatus includes a memory. The apparatus also includes one or more processors coupled to the memory. The one or more processors are configured to obtain historical flight data representing a plurality of flights associated with a plurality of airports. The one or more processors are also configured to generate a directed graph based on the historical flight data. The directed graph includes a plurality of nodes and a plurality of edges connecting pairs of nodes of the plurality of nodes. The plurality of nodes correspond to the plurality of airports and the plurality of edges correspond to the plurality of flights. The one or more processors are configured to perform a ranking operation on the directed graph to identify one or more target nodes of the plurality of nodes. The one or more target nodes correspond to one or more airports of the plurality of airports. The one or more processors are also configured to output a graphical user interface (GUI) indicating the one or more airports as recommended airports for modeling predicted traffic flow.
[0004] In another implementation, a method includes obtaining, by one or more processors, historical flight data representing a plurality of flights associated with a plurality of airports. The method also includes generating, by the one or more processors, a directed graph based on the historical flight data. The directed graph includes a plurality of nodes and a plurality of edges connecting pairs of nodes. The plurality of nodes correspond to the plurality of airports and the plurality of edges correspond to the plurality of flights. The method includes performing, by the one or more processors, a ranking operation on the directed graph to identify one or more target nodes of the plurality of nodes. The one or more target nodes correspond to one or more airports of the plurality of airports. The method further includes outputting, by the one or more processors, a graphical user interface (GUI) indicating the one or more airports as recommended airports for modeling predicted traffic.
[0005] In another implementation, a non-transitory computer-readable medium stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations including obtaining historical flight data representing a plurality of flights associated with a plurality of airports. The operations also include generating a directed graph based on the historical flight data. The directed graph includes a plurality of nodes and a plurality of edges connecting pairs of nodes. The plurality of nodes correspond to the plurality of airports and the plurality of edges correspond to the plurality of flights. The operations include performing a ranking operation on the directed graph to identify one or more target nodes of the plurality of nodes. The one or more target nodes correspond to one or more airports of the plurality of airports. The operations also include outputting a graphical user interface (GUI) indicating the one or more airports as recommended airports for modeling predicted traffic.
[0006] The features, functions, and advantages described herein can be implemented independently in various embodiments of the present disclosure or can be combined in other embodiments, further details of which can be found in the following description, drawings, and appendices. BRIEF DESCRIPTION OF DRAWINGS
[0007] Figure 1 is a block diagram of an example of a system configured to support directed graph-based airport prioritization for traffic monitoring.
[0008] Figure 2 An example of a directed graph supporting airport prioritization for traffic monitoring is described.
[0009] Figure 3 An example of a GUI generated by the system of Figure 1 is described.
[0010] Figure 4 Another example of a GUI generated by the system of Figure 1 is described.
[0011] Figure 5is a flowchart illustrating an example of a method for directed graph based airport prioritization for traffic flow monitoring.
[0012] Figure 6 is a block diagram of a computing environment including a computing device configured to support aspects of the computer-implemented method and computer-executable program instructions (or code) according to the present disclosure. DETAILED DESCRIPTION
[0013] Aspects disclosed herein provide systems, methods, and computer-readable media that support directed graph based airport prioritization for air traffic flow modeling. According to some aspects, a system analyzes historical flight data representative of a plurality of flights associated with a plurality of airports of an air traffic network (e.g., a global or global air traffic network, or a multi-regional air traffic network) to generate a directed graph for prioritizing the airports in the air traffic network for modeling air traffic flow. To illustrate, the system generates a directed graph including nodes representative of the airports and edges representative of the flights based on the historical flight data. Each edge has a direction indicative of a corresponding flight. For example, if a first node corresponds to London, a second node corresponds to Paris, and a first edge connects the first node to the second node and points to the second node, these nodes and the first edge represent historical flight data associated with a flight from a London airport to a Paris airport. Instead of limited, operator-specific flight data, the system can access publicly available global flight data and / or surveillance data (e.g., Automatic Dependent Surveillance-Broadcast (ADS-B) data) from public and third-party databases to generate the directed graph.
[0014] After generating the directed graph, the system performs a ranking operation on the directed graph to identify a set of one or more target nodes corresponding to recommended (e.g., high-priority) airports for modeling predicted air traffic flow. To display this information to an operator such as a flight dispatcher, air traffic controller, or pilot, the system outputs a graphical user interface (GUI) indicating the airports corresponding to the set of target nodes by setting one or more visual characteristics. For example, the GUI can include a map of a region or the world with a plurality of airports, and the target airports are displayed on the map with a first visual characteristic (e.g., a first icon, a first color, a first size, etc.) and the non-target airports are displayed with a second visual characteristic (e.g., a second icon, a second color, a second size, etc.). These particular visualizations enable the information to be quickly and easily understood by the operator, enabling data-driven actions to identify influential airports or tight sub-networks that can be used as a basis for building accurate air traffic flow prediction models.
[0015] In some aspects, the ranking operation includes applying a link analysis algorithm that ranks the nodes of the directed graph based on one or more features associated with the nodes. For each node, the one or more features can include: a number of edges pointing to the node, weights associated with the edges pointing to the node, a number of other nodes having edges pointing to the node and having a threshold number of corresponding edges pointing to other nodes (e.g., a number of other destinations or "high priority" nodes pointed to by the node), other characteristics, or combinations thereof. The node ranked highest by the link analysis algorithm is the airport having the highest probability of an air traveler arriving at or departing from the airport during a random flight (e.g., based on flight patterns represented by historical flight data). Thus, the link analysis algorithm ranks the airports represented by the nodes based on their interconnectedness within the air travel network, rather than based solely on a number of passengers or flights associated with the airport.
[0016] In some aspects, the ranking operation includes applying a clustering algorithm that clusters the nodes of the directed graph into groups based on labels of connected nodes. To illustrate, each node can be assigned an initial unique community identifier as a label, and during iterations of the clustering algorithm, the label of each node is updated to include an identifier in the labels of a majority of adjacent nodes, resulting in clustering of the nodes based on relationships between adjacent nodes. Thus, as the clustering algorithm iterates to convergence, the number of clusters decreases until one or more subnetworks of nodes that are highly interconnected to each other are identified. The clustering algorithm can be executed until convergence, or in some examples, until a number of iterations satisfies an iteration limit that can be predefined or set based on user input. Thus, the subnetworks identified by the clustering algorithm (e.g., airports represented by destination nodes) divide the airports into subsets of airports that can represent important communities for modeling air traffic flow within a larger air traffic network.
[0017] In some aspects, ranking operations may include multiple ranking operations, including both link analysis algorithms and clustering algorithms. In these aspects, link analysis and clustering algorithms can be applied in any order to identify the most interconnected airports within one or more sub-networks within an air traffic network, or to identify the most interconnected sub-networks within airports in the overall air traffic network. Additionally or alternatively, ranking operations may include filtering results based on attributes associated with airports, flights, or combinations thereof. For example, historical flight data may indicate the aircraft type associated with a historical flight, the time of day or year associated with the historical flight, transit airports, destination airports, the airline associated with the historical flight, the region associated with the airport or historical flight, the type of operation associated with the historical flight, other characteristics, or combinations thereof. Therefore, target nodes and corresponding airports identified by ranking operations can be filtered through various attributes to provide the most relevant airports for air traffic flow modeling or achieving specific objectives in a particular context.
[0018] The benefit of the disclosed system and method is based on the identification and display of specific airports within a larger air traffic network that have the greatest impact on air traffic flow within the network, determined by the ordering of nodes in a directed graph. For example, from an air traffic flow perspective, a specific airport may be the most interconnected within the air traffic network, or it may be a small group of highly interconnected airports, and therefore a priority airport for modeling air traffic flow. To illustrate, modeling air traffic flow at the airport level of the identified specific airports and aggregating the results can provide network-level modeling of air traffic flow that is more accurate and predictive than other air traffic flow modeling systems that model air traffic flow at airports associated with the majority of passengers or the most populous cities. This higher accuracy in air traffic flow modeling is achieved without significant processing resource usage and the time-consuming training required to model air traffic flow at each airport in the air traffic network. Therefore, the air traffic flow modeling of this disclosure can be practically extended to larger air traffic networks, such as multi-regional or global air traffic networks, using existing computer systems in cost-effective deployments.
[0019] The accompanying drawings and the following description illustrate specific exemplary embodiments. It should be understood that those skilled in the art will be able to design various arrangements, although not explicitly described or shown herein, that embody the principles described herein and are included within the scope of the claims following this description. Furthermore, any examples described herein are intended to aid in understanding the principles of this disclosure and are not to be construed as limiting. Therefore, this disclosure is not limited to the specific embodiments or examples described below, but is defined by the claims and their equivalents.
[0020] Detailed embodiments are described herein with reference to the accompanying drawings. Throughout the description, common features are indicated by common reference numerals.
[0021] As used herein, various terms are used only for the purpose of describing a particular implementation and are not intended to be restrictive. For example, unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “the” are intended to also include the plural forms. Furthermore, some features described herein are singular in some implementations and plural in others. For illustration, a system may be described herein as comprising one or more computing devices (“computing devices”), meaning that in some implementations the system comprises a single computing device and in others the system comprises multiple computing devices. For ease of reference herein, such features are generally introduced as “one or more” features and are subsequently referred to in the singular or optional plural (as usually indicated by “(s)”), unless an aspect relating to multiple features is being described.
[0022] The terms “comprise,” “comprises,” and “comprising” are used interchangeably with “include,” “includes,” or “including.” Furthermore, the term “wherein” is used interchangeably with the term “wherein.” As used herein, “exemplary” indicates an example, implementation, and / or aspect, and should not be construed as limiting or indicating a preference or preferred implementation. As used herein, ordinal terms used to modify elements (such as structures, components, operations, etc.) (e.g., “first,” “second,” “third,” etc.) do not themselves indicate any priority or order of that element relative to another element, but merely distinguish that element from another element with the same name (but for the use of ordinal terms). As used herein, the term “set” refers to a grouping of one or more elements, and the term “multiple” refers to multiple elements.
[0023] As used herein, the terms “generate,” “calculate,” “use,” “select,” “access,” and “determine” are interchangeable unless the context otherwise indicates. For example, “generate,” “calculate,” or “determine” a parameter (or signal) can refer to actively generating, calculating, or determining a parameter (or signal) or can refer to using, selecting, or accessing a parameter (or signal) that has already been generated, such as through another component or device. As used herein, “connection” can include a “communication connection,” an “electrical connection,” or a “physical connection,” and may also (or alternatively) include any combination thereof. Two devices (or components) can be directly or indirectly connected (e.g., a communication connection, an electrical connection, or a physical connection) via one or more other devices, components, wires, buses, networks (e.g., wired networks, wireless networks, or combinations thereof). Two devices (or components) electrically connected can be in the same or different devices and can be connected via electronics, one or more connectors, or inductive connections, as illustrative and non-limiting examples. In some embodiments, two devices (or components) communicatively connected (e.g., electrically connected) may directly or indirectly send and receive electrical signals (digital or analog signals) via one or more wires, buses, networks, etc. As used herein, “direct connection” describes two devices connected (e.g., a communication connection, an electrical connection, or a physical connection) without any intermediate components. The term “substantially” is defined as largely (but not necessarily entirely) what is specified (and includes what is specified; for example, approximately 90 degrees includes 90 degrees and approximately parallel includes parallel), as understood by one of ordinary skill in the art. In any disclosed implementation, the term “substantially” may be replaced by the specified “within its [percentage]”, where the percentage includes 0.1%, 1%, 5%, or 10%; and the term “about” may be replaced by the specified “within 10%”. Unless otherwise indicated, “substantially X to Y” is stated to have the same meaning as “substantially X to substantially Y”. Similarly, unless otherwise indicated, the statement “substantially X, Y, or substantially Z” has the same meaning as “substantially X, substantially Y, or substantially Z”.
[0024] Figure 1 This is a block diagram of an example system 100 configured to support directed graph-based airport prioritization for traffic flow monitoring. Figure 1 In the example shown, system 100 includes an air traffic modeling system 102, one or more global flight databases 120, and a client device 130. Figure 1 The example of system 100 shown is illustrative. It should be understood that in some other implementations, system 100 is omitted. Figure 1 One or more of the components shown and / or including Figure 1Additional components not shown, such as additional client devices, additional databases, and / or one or more networking or cloud service devices or components.
[0025] As further described herein, the air traffic modeling system 102 is configured to prioritize airports used for air traffic flow modeling using a directed graph. In some implementations, as a non-limiting example, the air traffic modeling system 102 includes or corresponds to a server, desktop computing device, laptop computing device, personal computing device, tablet computing device, mobile device (e.g., smartphone, tablet, personal digital assistant (PDA), wearable device, etc.), server, virtual reality (VR) device, augmented reality (AR) device, extended reality (XR) device, vehicle (e.g., aircraft or parts thereof), other computing devices, or combinations thereof. The air traffic modeling system 102 may include one or more processors, memory, and communication interfaces (…). Figure 1 (not shown in the image) to support the functionality described herein. Figure 1 In the example shown, the air traffic modeling system 102 includes an airport map engine 104, a sorting engine 106, and a visualization engine 108. Although shown as separate components, in other implementations, one or more of the airport map engine 104, sorting engine 106, or visualization engine 108 may be combined such that a single component performs the associated functions described herein. Alternatively or additionally, the operations performed by the airport map engine 104, sorting engine 106, and visualization engine 108 described herein may be performed by a processor that executes instructions stored in memory, similar to those referenced herein. Figure 6 The processor and memory are described.
[0026] Airport graph engine 104 is configured to obtain historical flight data 140 associated with multiple airports across multiple regions for generating a directed graph 142. The directed graph 142 includes multiple nodes and multiple edges connecting pairs of nodes within the directed graph 142, wherein each node in the directed graph 142 corresponds to an airport and each edge represents a historical flight between two connected nodes. For example, airport graph engine 104 can generate directed graph 142 such that, for each historical flight represented by historical flight data 140, the airport graph engine: adds (or identifies) a first node representing the departure airport; adds (or identifies) a second node representing the arrival airport; and adds an edge connecting the first node to the second node and pointing to the second node corresponding to the arrival airport. An example of a directed graph generated based on historical flight data is referenced herein. Figure 2Further description. In some implementations, the airport map engine 104 is configured to obtain historical flight data 140 for specific types of aircraft, specific airlines, specific types of flights, specific times of day or specific days of week, specific months of year, specific number of passengers, etc.
[0027] The sorting engine 106 is configured to perform one or more sorting operations on the directed graph 142 to identify one or more target nodes 144. For example, the sorting engine 106 may perform link analysis and / or clustering on the directed graph 142 to sort the nodes of the directed graph 142, as further described herein, and the highest-ranked node (or a specific set of ranked nodes) may be output as the target node 144. According to some aspects, the sorting engine 106 includes a link analysis engine 110 configured to perform link analysis and a clustering engine 112 configured to perform clustering. The sorting performed by the sorting engine 106 may include sorting based on link analysis performed by the link analysis engine 110, clustering performed by the clustering engine 112, or both. In an implementation that includes both link analysis and clustering, depending on the configuration of the sorting engine 106 or based on user selection, the link analysis-based sorting may be performed before the clustering-based sorting, or the clustering-based sorting may be performed before the link analysis-based sorting.
[0028] Visualization engine 108 is configured to generate information for displaying airports prioritized for air traffic flow modeling, or other information generated by air traffic modeling system 102 (e.g., airport map engine 104 and / or sorting engine 106). For example, visualization engine 108 is configured to output a graphical user interface (GUI) or one or more visual indicators for display within a GUI, such as GUI 132 displayed at client device 130, as further described herein. (Refer to...) Figure 3 and Figure 4 An example of GUI 132 is shown. In various respects, GUI 132 includes a displayable indicator representing the target node 144, as further described herein.
[0029] Air traffic modeling system 102 is communicatively connected to global flight database 120 and client device 130 via one or more networks. These networks may include wired networks, wireless networks, or combinations thereof. For example, the networks may include Wi-Fi networks, cellular networks, satellite networks, LoRa networks, Bluetooth networks, Zigbee networks, other types of networks, or combinations thereof. Air traffic modeling system 102 is configured to electronically communicate (e.g., receive data from, send data to, or both) with global flight database 120 and client device 130 via one or more networks.
[0030] Global Flight Database 120 includes one or more databases that store or access flight data from multiple regions around the world (e.g., Global Flight Database 120 is not a region-specific or provider-specific flight database). Global Flight Database 120 may include publicly available databases that provide flight data (e.g., global or multi-regional flight data), such as third-party databases, government databases, flight data service provider databases, or combinations thereof. In some implementations, Global Flight Database 120 stores surveillance data of air travel over one or more historical time periods. The data stored by Global Flight Database 120 can be arranged, processed, and categorized based on one or more characteristics of historical flights or air surveillance. For example, characteristics may include the departure airport, arrival airport, aircraft type, airline, number of passengers, flight time (e.g., departure time, arrival time, flight duration, etc.), flight type (e.g., passenger flight, cargo flight, etc.), other characteristics, or combinations thereof, associated with the historical flight.
[0031] Client device 130 is configured to communicate with air traffic modeling system 102 to perform directed graph-based airport prioritization for air traffic flow modeling. Although shown as a single client device 130, in other implementations, system 100 includes multiple client devices 130 configured to communicate with air traffic modeling system 102. As a non-limiting example, in some implementations, client device 130 includes a server, desktop computing device, laptop computing device, personal computing device, tablet computing device, mobile device (e.g., smartphone, tablet, PDA, wearable device, etc.), server, VR device, AR device, XR device, other computing device, or combinations thereof. Alternatively, client device 130 may include an aircraft control tower system, flight scheduling system, or an aircraft (or a system on an aircraft). In implementations, client device 130 executes applications such as displaying a GUI 132 at a display device connected to or integrated within client device 130 (e.g., an air traffic flow modeling application, a flight scheduling application, or a map application). GUI 132 can be generated and received from air traffic modeling system 102 or generated by client device 130 based on at least some information from air traffic modeling system 102. Although in Figure 1 It is shown as a separate element, but in some other implementations, the operations described herein with reference to the air traffic modeling system 102 and client device 130 are performed by a single device.
[0032] During the operation of system 100, air traffic modeling system 102 obtains historical flight data 140 from global flight database 120. Historical flight data 140 includes data for multiple historical flights, each associated with a departure airport and an arrival airport. As an illustrative example, historical flight data 140 may represent historical flights from London to Amsterdam, from Brussels to Frankfurt, from Frankfurt to Brussels, from Brussels to Amsterdam, and from Brussels to London. Historical flight data 140 may indicate identification information, departure point (e.g., departure airport), and arrival point (e.g., arrival airport) for each corresponding historical flight. In some examples, historical flight data 140 may also indicate flight distance (e.g., the distance traveled during a flight that begins at the departure point and ends at the arrival point), flight time, flight date, aircraft type, passenger count, flight type, airline operator, on-time status, geographic area, other information, or combinations thereof.
[0033] In some implementations, the air traffic modeling system 102 acquires historical flight data 140 corresponding to a set of departure and arrival airports targeted for monitoring air traffic flow, and optionally corresponding to one or more additional parameter values (e.g., historical flight data associated with aircraft type, historical flight data associated with a specific airline operator, etc.). The historical flight data 140 may be acquired periodically, over time, or on demand, such as when air traffic flow modeling is initiated. In some implementations, the acquired information may be stored at the air traffic modeling system 102 or provided to the airport map engine 104 for processing.
[0034] After obtaining historical flight data 140, airport graph engine 104 generates a directed graph 142 based on the historical flight data 140. For example, airport graph engine 104 can analyze historical flight data 140 to determine a set of departure airports and a set of arrival airports corresponding to the historical flights represented by historical flight data 140. Airport graph engine 104 can generate nodes corresponding to each unique airport within the set of departure airports and the set of arrival airports, and airport graph engine 104 can generate edges (also called links) between node pairs to represent individual historical flights. For example, for a historical flight from London to Brussels, airport graph engine 104 can add an edge connecting a first node corresponding to London to a second node corresponding to Brussels, where the edge points to the second node (e.g., in the direction from the first node to the second node). This process can be repeated for other historical flights represented by historical flight data 140 to generate directed graph 142. In some implementations, if multiple historical flights correspond to the same flight path (e.g., historical flights have the same departure airport and the same arrival airport), multiple edges between two corresponding nodes can be added to directed graph 142. Alternatively, when representing a single flight between two airports, the weight of each edge may have an initial value, and for each additional flight between the same two airports, the airport graph engine 104 may increase the weight of the edge between the two corresponding nodes in the directed graph 142. Although edges are described as pointing to the node corresponding to the arrival airport, in other implementations, edges may point to (e.g., be oriented towards) the node corresponding to the departure airport.
[0035] In some aspects, the edges of directed graph 142 have no weights or are each associated with a single common value. In other aspects, each edge of directed graph 142 may have a corresponding weight. The weight of an edge may be based on one or more characteristics associated with one or more historical flights between airports corresponding to the nodes connected by the edge, characteristics associated with the nodes connected by the edge, or a combination thereof. In some examples, one or more characteristics include the number of historical flights from the corresponding departure airport to the corresponding arrival airport, the aircraft type associated with the historical flight, the airline operator associated with the historical flight, the passenger count associated with the historical flight, the time of day associated with the historical flight, the day of the week associated with the historical flight, the month of the year associated with the historical flight, the flight type associated with the historical flight, the number of edges pointing to the node corresponding to the arrival airport, the number of edges pointing to the node corresponding to the departure airport, the total number of edges connected to the node corresponding to the arrival airport, the total number of edges connected to the node corresponding to the departure airport, or a combination thereof. For example, if historical flight data 140 represents three flights from London to Brussels, five flights from Frankfurt to Amsterdam, and one flight from Amsterdam to London, then the first edge from the first node corresponding to London to the second node corresponding to Brussels has a weight of 3x, the second edge from the third node corresponding to Frankfurt to the fourth node corresponding to Amsterdam has a weight of 5x, and the third edge from the fourth node to the first node has a weight of x, where x is an initial or default value. As another example, if the air traffic flow to be modeled gives higher priority to weekend air traffic, then the edge corresponding to historical flights on Wednesday can have a smaller weight than the edge corresponding to historical flights on Friday night, such as a smaller 2x or 3x.
[0036] In some implementations, airport map engine 104 adjusts the weights of one or more edges of directed graph 142 based on one or more flight parameters indicated by user input 148. For example, a user of client device 130 may provide user input 148 indicating that air traffic flow should be monitored only for a specific type of aircraft. In this example, airport map engine 104 receives user input 148 indicating a specific aircraft type, and based on user input 148, airport map engine 104 adjusts the weights of edges corresponding to historical flights associated with other aircraft types (e.g., flights not operated by the specific aircraft type) to zero, such that airport sorting is performed only for flights associated with the specific aircraft type. This example is illustrative, and in other examples, user input 148 may include one or more other parameters and / or airport map engine 104 may adjust the weights by decreasing or increasing the weights to other values or by decreasing or increasing other amounts. Alternatively or additionally, airport map engine 104 may filter directed graph 142 based on one or more parameters including on-time status, airline operator, geographic region, aircraft type, other parameters, or combinations thereof. Filtering the directed graph 142 may include adjusting the weights to zero for the filter parameter values, or providing only the nodes and edges corresponding to the selected parameter values to the sorting engine 106 for sorting. In some examples, one or more values of one or more parameters for filtering the directed graph 142 are received via user input 148.
[0037] The sorting engine 106 performs one or more sorting operations on the directed graph 142 to identify target nodes 144 corresponding to one or more airports (e.g., as departure or arrival airports). In some implementations, the sorting operations are one or more link analysis operations performed by the link analysis engine 110. For illustration, the link analysis engine 110 may perform (e.g., apply) a link analysis algorithm on the directed graph 142, which sorts nodes based on one or more node parameters indicating interconnectivity. In some examples, the node parameters of a node include the number of edges pointing to the node, the weight associated with the edges pointing to the node, the number of other nodes with edges pointing to the node and corresponding edges pointing to other nodes that are a threshold number, or any combination thereof. (References to this document) Figure 2 Further examples of applying the link analysis algorithm to directed graphs are described. In some aspects, the nodes identified by the link analysis algorithm (e.g., target node 144) represent the airports with the highest probability of air travelers arriving at or departing from the identified airports during random flights. For example, based on historical flight data 140 projecting random travelers onto random flights, the random travelers will be more likely to depart from or arrive at the airport corresponding to the identified node than at any of the other airports represented by other nodes in the directed graph 142.
[0038] In some implementations, the sorting operation corresponds to the clustering process performed by clustering engine 112. For illustration, clustering engine 112 may perform (e.g., apply) a clustering algorithm on directed graph 142 based on the labels of connected nodes, grouping nodes into one or more groups. This clustering algorithm may include, correspond to, or be based on a label propagation algorithm. For example, the initial phase of the clustering algorithm may include generating a label indicating a unique identifier for each node. After generating the initial labels, iterations of clustering are performed, updating the label of each node to include identifiers owned by a majority of the node's neighboring nodes. The clustering algorithm may iterate until convergence or until a fixed number of n iterations are performed, typically with most iterations resulting in a decrease in the number of unique identifiers for all node labels as the cluster grows larger. In some implementations, whether to perform the clustering algorithm until convergence or until an iteration limit is met, and optionally the iteration limit itself, is based on user input. For example, user input 148 received from client device 130 may indicate whether to perform clustering until convergence or until the iteration limit is met, and the iteration limit itself. During the clustering algorithm, one or more nodes identified by labels are the highest-ranked nodes corresponding to a subset of airports. For a subset of airports, air traffic flows are highly interconnected, and it can also be referred to as a subnetwork within a larger air travel network. Therefore, if a specific airport within a subnetwork is selected for air traffic flow modeling, the other members of the subnetwork are identified as particularly relevant to modeling the air traffic flow of that specific airport.
[0039] In some implementations, sorting engine 106 performs a single type of sorting on directed graph 142. For example, sorting engine 106 may initiate the execution of a link analysis algorithm by link analysis engine 110 or a clustering algorithm by clustering engine 112. Alternatively, the two types of sorting may be performed in either order. As an example, link analysis engine 110 may perform a link analysis algorithm based on directed graph 142 to generate a first set of nodes representing the airports most likely to be departed from or arrived at by random travelers, and clustering engine 112 may perform a clustering algorithm on the first set of nodes (or may increase the weight of the first set of nodes and then perform a clustering algorithm on directed graph 142 after such adjustment) to identify target node 144 as a subnetwork of highly interconnected airports among the airports most likely to be departed from or arrived at by random travelers. As another example, clustering engine 112 can perform a clustering algorithm based on directed graph 142 to generate a second set of nodes (subnetworks) representing highly interconnected airports, and link analysis engine 110 can perform a link analysis algorithm on the second set of nodes (or can increase the weight of the second set of nodes and, after such adjustment, perform a link analysis algorithm on directed graph 142) to identify target node 144 as the most likely airport for random tourists to leave or arrive at within the identified highly interconnected subnetworks of airports.
[0040] The visualization engine 108 receives the target node 144 from the sorting engine 106 and outputs one or more airport indicators 146 (e.g., displayable indicators associated with departure and / or arrival airports) based on the target node 144, which are then sent to the client device 130. The airport indicators 146 can be displayed via a display device (e.g., at the client device 130) to visually represent the airports with the highest priority for modeling in order to generate air traffic flow models for multi-regional or global air traffic networks. In other words, the visualization engine 108 (e.g., from the directed graph 142) identifies the airports corresponding to the target node 144 and outputs displayable indicators (e.g., airport indicators 146) that identify the airports with the greatest (e.g., strongest) influence on the air traffic flow model of the air traffic network. In various aspects, the airport indicators 146 include indicators of airports (e.g., at various locations on a map), indicators along flight paths, sorting indicators, or other types of indicators. Alternatively or concurrently, airport indicator 146 may include one or more alerts or additional information associated with nodes of directed graph 142 and derived from historical flight data 140, as referenced herein. Figure 2 Further description.
[0041] In some implementations, the visualization engine 108 supports the generation and display of the GUI 132 at one or more client devices, such as client device 130. The GUI 132 may include airport indicators 146 (e.g., displayable indicators) overlaid on a map of one or more airports within the air traffic network, such as in an air traffic control display or otherwise, to enable users (such as air traffic controllers, air traffic flow modelers, flight dispatchers, or pilots) to quickly and easily understand the priority of the various airports used for modeling air traffic flow in the air travel network. In some implementations, in addition to depicting the airports associated with airport indicators 146 and optionally one or more other airports, the GUI 132 may also include, for each airport associated with airport indicator 146, a corresponding label with an identifier associated with the airport, sorting information associated with the airport, group information associated with the airport (e.g., identification of the subnetwork or subset to which the airport belongs), other information, or combinations thereof. (See reference...) Figure 3 and Figure 4 This article further describes various examples of GUI 132.
[0042] In some implementations, the visualization engine 108 sets one or more features of the airport indicator 146 to a first value, and sets one or more features of the other airport indicators to a second value different from the first value. These features include color, intensity, font, icon, visibility state, other features, or combinations thereof. As a specific example, the visualization engine 108 may set the color of the airport indicator 146 to a first color (e.g., red) and set the colors of the other airport indicators to a second color (e.g., yellow). As another example, the visualization engine 108 may set the intensity of the airport indicator 146 to a first intensity (e.g., high brightness) and set the intensity of the other airport indicators to a second intensity (e.g., low brightness). As an additional example, the visualization engine 108 may set the shape of the icon of the airport indicator 146 to a first shape (e.g., triangle) and set the shape of the icons of the other airport indicators to a second shape (e.g., circle).
[0043] The configuration of the air traffic modeling system 102, and particularly the interaction of the airport map engine 104, the sorting engine 106, and the visualization engine 108, enables the identification and display of specific airports within a larger air traffic network that have the greatest impact on air traffic flow within the air traffic network. For example, from an air traffic flow perspective, the airport associated with airport indicator 146 may be the most interconnected within the air traffic network, or may be a small group of highly interconnected airports, and therefore a priority airport for modeling air traffic flow within the air traffic network. To illustrate, modeling air traffic flow at the airport level for the airport associated with airport indicator 146 and aggregating the results can provide network-level modeling of air traffic flow that is more accurate and predictive than other air traffic flow modeling systems that model air traffic flow for airports associated with the majority of passengers or the most populous cities. System 100 achieves this higher accuracy in air traffic flow modeling through the generation of a directed graph 142 and sorting performed by the sorting engine 106, without the significant processing resource usage and time-consuming training associated with modeling air traffic flow for each airport in the air traffic network. Therefore, the priority-based air traffic flow modeling provided by the output of the air traffic modeling system 102 can be practically extended to large air traffic networks, such as multi-regional or global air traffic networks, using existing computer systems in a cost-effective deployment manner.
[0044] Figure 2 An example of a directed graph is described to support the prioritization of airports for traffic flow monitoring. Figure 2This includes a first example of directed graph 200 and a second example of directed graph 250. Directed graph 200 is a portion or a simple directed graph provided for illustration, and in other examples, directed graph 200 includes more than [examples omitted]. Figure 2 The three nodes are shown.
[0045] Directed graph 200 includes multiple nodes, node pairs connecting the nodes, and multiple edges pointing from source nodes to destination nodes. Nodes correspond to airports in an air travel network, and edges correspond to flights represented by historical flight data associated with the air travel network. For illustration, directed graph 200 includes a first node 202 (“Node 1”) corresponding to a first airport, a second node 204 (“Node 2”) corresponding to a second airport, and a third node 206 (“Node 3”) corresponding to a third airport. Furthermore, directed graph 200 includes a first edge 210 connecting the first node 202 and the third node 206, a second edge connecting the first node 202 and the second node 204, a third edge 214 connecting the second node 204 and the third node 206, and a fourth edge 216 connecting the second node 204 and the third node 206. To represent the direction of historical flights corresponding to edges 210-216 (e.g., from the departure airport to the arrival airport), each of edges 210-216 points from the node corresponding to the departure airport to the node corresponding to the arrival airport. For illustration, the first edge 210 points from the first node 202 to the third node 206, the second edge 212 points from the second node 204 to the first node 202, the third edge 214 points from the third node 206 to the second node 204, and the fourth edge 216 points from the second node 204 to the third node 206. Therefore, the first edge 210 represents the first historical flight that departed from the first airport and arrived at the third airport, the second edge 212 represents the second historical flight that departed from the second airport and arrived at the first airport, the third edge 214 represents the third historical flight that departed from the third airport and arrived at the second airport, and the fourth edge 216 represents the fourth historical flight that departed from the second airport and arrived at the third airport.
[0046] To construct the directed graph 200, the airport graph engine 104 performs operations that include analyzing historical flight data (e.g., Figure 1 Historical flight data 140 is used to identify the departure and arrival airports of historical flights, populating nodes 202-206 corresponding to the identified airports, and connecting pairs of nodes 204-206 with edges 210-216 pointing in a direction (e.g., between nodes), the direction corresponding to the direction associated with the historical flights (e.g., between airports). In an implementation where the directed graph 200 includes more than three nodes and more than four edges, the airport graph engine 104 identifies additional airports associated with additional historical flights and populates the directed graph 200 with additional nodes corresponding to the additional airports and additional edges corresponding to the additional flights.
[0047] According to several factors, one or more nodes among nodes 202-206 are associated with corresponding node information. Figure 2 An illustrative example of node information 220 is shown. In this example, node information 220 includes an airport identifier 221 (e.g., an International Civil Aviation Organization (ICAO) code) associated with the airport represented by the node, node attributes 222, and sorting information 224. Node attributes 222 may include a name (e.g., airport name, city name, etc.), region (e.g., state, country, continent, or another type of region), country code (e.g., an identifier of the country where the airport is located), other information, or combinations thereof. Sorting information 224 may include a directed link count 226 (“#directed links”), an aggregated link weight 228 (“directed link weight”), a priority directed link count 229 (“#directed links from priority nodes”), or combinations thereof. The directed link count 226 indicates the number of edges 210-216 pointing to the node, the aggregated link weight 228 indicates the sum of the weights (or other aggregated values) of edges 210-216 pointing to the node, and the preferred directed link count 229 indicates the number of edges 210-216 pointing to the node and from the "preferred node," which is another node with a number of links to other nodes greater than or equal to a threshold. In other examples, node information 220 includes more than Figure 2 The fewer information elements shown Figure 2 Additional information elements or both not shown in the text.
[0048] In the example based on directed graph 200, where the threshold is 2 and the weights of edges 210-212 and 216 are 0.5 and the weight of the third edge 214 is 1.0, the directed link count 226 of the second node 204 is 1 because the third edge 214 points to the second node 204. In this example, the aggregated link weight 228 of the second node 204 is 1.0 because the weight of the third edge 214 is 1.0. Additionally, the preferred link count 229 of the second node 204 is 1 because the third edge 214 points from the third node 206 to the second node 204, and the third node 206 is considered a preferred node because it has two or more edges pointing to it (e.g., the first edge 210 and the fourth edge 216).
[0049] Depending on several factors, one or more of edges 210-216 are associated with corresponding link information. Figure 2An illustrative example of link information 230 is shown. In this example, link information 230 includes a link identifier 232 (e.g., a flight identifier) associated with a historical flight represented by an edge, link attributes 234, and sorting information 236. Link attributes 234 may include the name of the departure airport (e.g., the name of the airport represented by the source node), the name of the arrival airport (e.g., the name of the airport represented by the destination node), the aircraft type associated with the historical flight, other information (e.g., passenger count, flight type, airline operator, etc.), or a combination thereof. Sorting information 236 may include a weight 238 (“weight”) associated with the edge, a source node sorting 240 (“source node”), a destination node sorting 242 (“destination node”), or a combination thereof. The weights 238 associated with edges may be based on one or more parameters indicated by link attributes 234 or associated with the corresponding source or target node. Source node sorting 240 indicates the sorting associated with the corresponding source node (e.g., directed link count 226, aggregated link weight 228, and / or preferred directed link count 229), and target node sorting 242 indicates the sorting associated with the corresponding target node (e.g., directed link count 226, aggregated link weight 228, and / or preferred directed link count 229). In other examples, link information 230 includes... Figure 2 The fewer information elements shown Figure 2 Additional information elements or both not shown in the text.
[0050] In the example based on directed graph 200, where the weight of the first edge 210 is 0.5 and the order associated with the source and target nodes is the directed link count 226, the weight 238 of the first edge 210 is 0.5. In this example, the source node order 240 of the first edge 210 is 1 because the first node 202 has one edge pointing to it (e.g., the second edge 212). Furthermore, the target node order 242 of the first edge 210 is two because the third node 206 has two edges pointing to it (e.g., the first edge 210 and the fourth edge 216).
[0051] As referenced above Figure 1As described, one or more sorting operations can be performed on the nodes of a directed graph to output a target node 144. In some implementations, the sorting operations include link analysis operations performed by a link analysis engine 110, which sorts the nodes based on the number of edges pointing to the nodes and optional other information. As an illustrative example, the link analysis engine 110 can perform link analysis operations on a directed graph 200 to sort nodes 202-206 based on the number of edges pointing to each of the nodes 202-206, and additional information optionally included in the node information 220 of the respective node, additional information included in the link information 230 for the edges pointing to the respective nodes, or both. To illustrate, if each link in links 210-216 has the same weight and if there is no priority node (or if the threshold number of edges pointing to the priority node is greater than 2), the link analysis operation performed by the link analysis engine 110 can rank the third node 206 above the first node 202 and the second node 204, because two edges (e.g., the first edge 210 and the fourth edge 216) point to the third node 206 and only a single edge (e.g., the second edge 212 or the third edge 214) points to the first node 202 or the second node 204, respectively. As another example, if the threshold associated with a priority node is 2, and if the ordering of the source and target nodes corresponds to a priority directional link count 229, the link analysis operation performed by the link analysis engine 110 can order the second node 204 above the third node 206 and the first node 202. This is because a priority node (e.g., the third node 206, to which the first edge 210 and the fourth edge 216 point) is the source node of the third edge 214 pointing to the second node 204, and no priority node is the source node of an edge pointing to either the first node 202 or the third node 206. The above examples are provided for illustration and not limitation. In other examples, the ordering may be based on other information or on clustering performed by the clustering engine 112.
[0052] Directed graph 250 provides an example of a more complex directed graph than directed graph 200. Similar to directed graph 200, directed graph 250 includes multiple nodes and node pairs connecting the multiple nodes, as well as multiple edges pointing from the source node to the target node. Nodes correspond to airports in an air travel network, and edges correspond to flights represented by historical flight data associated with the air travel network. For illustration, directed graph 250 includes seventeen nodes “00”–“17” corresponding to seventeen airports “00”–“17”, including an illustrative node 252 (“00”) corresponding to the first airport, and edges connecting node pairs, including an illustrative first edge 254 connecting node 00 (e.g., node 252) and node 13, an illustrative second edge 256 connecting node 00 and node 01, and an illustrative third edge 258 connecting node 00 and node 16. To represent the direction of historical flights corresponding to edges 254-258 (e.g., from the departure airport to the arrival airport), each of edges 254-258 points from the node corresponding to the departure airport to the node corresponding to the arrival airport. For illustration, the first edge 254 points from node 00 to node 13, the second edge 256 points from node 00 to node 01, and the third edge 258 points from node 00 to node 16. Therefore, the first edge 254 represents the first historical flight departing from airport 00 and arriving at airport 13, the second edge 256 represents the second historical flight departing from airport 00 and arriving at airport 01, and the third edge 258 represents the third historical flight departing from airport 00 and arriving at airport 16. One or more of nodes 00-16 can be associated with corresponding node information 220, and one or more edges can be associated with corresponding link information 230.
[0053] As referenced above Figure 1As described, one or more sorting operations can be performed on the nodes of a directed graph to result in the output target node 144. In some implementations, the sorting operations include link analysis operations performed by link analysis engine 110, which sorts the nodes based on the number of edges pointing to the nodes and optional other information. As an illustrative example, link analysis engine 110 can perform link analysis operations on directed graph 250 to sort the nodes 00-16 based on the number of edges pointing to each of the nodes 00-16, and additional information optionally included in node information 220 for the respective nodes, additional information included in link information 230 for the edges pointing to the respective nodes, or both. To illustrate, if each link in the directed graph 250 has the same weight and if there is no priority node, the link analysis operation performed by the link analysis engine 110 can sort the nodes in the following order (from highest to lowest): node 16 (pointed to by edges from eleven nodes), nodes 06 and 07 (pointed to by edges from four nodes each), nodes 11 and 13 (pointed to by edges from three nodes each), nodes 03, 04 and 10 (pointed to by edges from two nodes each), nodes 00, 01, 02, 05 and 14 (pointed to by edges from one node each), and nodes 08, 09, 12 and 15 (pointed to by zero edges each).
[0054] In some of the examples above, where a priority node is identified as a node with a number of edges pointing to it greater than or equal to a threshold number, at least some of nodes 00-07, 10, 11, 13, 14, and 16 can be identified as priority nodes. As an example, if the threshold is 4, nodes 06, 07, and 16 are identified as priority nodes, nodes 06 and 16 are pointed to by edges from two priority nodes, and node 04 is pointed to by one priority node (e.g., the priority directional link counts 229 for these nodes are two, two, and one, respectively). As another example, if the threshold is 2, then nodes 03, 04, 06, 07, 10, 11, 13, and 16 are identified as priority nodes. Node 16 is pointed to by six priority nodes (e.g., nodes 03, 04, 06, 07, 11, and 13), node 06 is pointed to by four priority nodes (e.g., nodes 03, 04, 07, and 16), nodes 04, 07, and 10 are pointed to by two priority nodes (e.g., nodes 03 and 16, nodes 03 and 10, and nodes 13 and 16, respectively), node 11 is pointed to by one priority node (e.g., node 10), and nodes 03 and 13 are pointed to by zero priority nodes. The preferred directed link count 229 for node 16 is 6, for node 06 it is 4, for nodes 104, 07, and 10 it is 2, for node 11 it is 1, and for nodes 03 and 13 it is 0. The above example is provided for illustration and not limitation; in other examples, sorting may be performed based on other information. Alternatively, or as an alternative, nodes in directed graph 250 may be filtered based on one or more attributes, such as aircraft type, flight time, passenger count, airline operator, flight type, etc.
[0055] In some other aspects, one or more sorting operations can be performed on the nodes of a directed graph to produce an output target node 144, and such sorting operations include clustering operations performed by clustering engine 112 that identify highly interconnected groups of nodes (e.g., forming subnetworks of an air travel network). In some of these aspects, the clustering operations are associated with a label propagation algorithm. The label propagation algorithm can be performed according to the rules contained in Table 1 below:
[0056] Table 1: Stages of Clustering (LPA)
[0057]
[0058] As labels propagate, densely connected groups of nodes can quickly converge to a single label, causing many labels to disappear. At the end of the propagation, only a few labels may remain, indicating that nodes with the same label belong to the same group (e.g., the same population or subnetwork). As an example of directed graph 250, performing a clustering operation can result in identifying nodes 03, 04, and 16 as being included in a group due to their interconnectivity with node 03 having edges pointing to nodes 04 and 16, node 04 having edges pointing to node 16 and pointed to by edges from nodes 03 and 16, and node 16 having edges pointing to node 04 and pointed to by edges from nodes 03 and 04.
[0059] Figure 3 and Figure 4 An example of a GUI for visualizing airport prioritization based on directed graphs for traffic flow monitoring, according to the aspects described herein, is depicted. For example, see reference... Figure 3 and Figure 4 The described GUI may include or correspond to the GUI generated by the client device 130, the air traffic modeling system 102, or both. Figure 1 GUI 132. Figure 3 and Figure 4 The GUI can be based on directed graphs (such as...) Figure 2 The information in the directed graph (250). It should be understood that, with reference to... Figure 3 and Figure 4 The features described in the GUI are illustrative. Although shown and described as separate examples, Figure 3 and Figure 4 One of the features of a GUI may be included in the reference Figure 3 or Figure 4 In another description of the GUI. Alternatively, Figure 3 and Figure 4 One or more features of the GUI may be optional or may be omitted in other respects of this disclosure.
[0060] Figure 3An example of a GUI 300 for implementing directed graph-based airport prioritization for traffic flow monitoring is described. The GUI 300 includes a map section 302 and an air traffic flow modeling priority display section 304. The map section 302 includes a map of a specific area or multiple areas containing departure and arrival airports within an air traffic network, such as a multi-regional or global air traffic network. For example, the map section 302 may include a map of a portion of a country, one or more countries, or a global map of the Earth. Specific areas can be selected from a list of predefined areas; can be selected by scrolling, zooming in, zooming out; or combinations thereof. In various aspects, the map section 302 includes multiple airports, which may correspond to cities, and these airports may be departure or arrival airports served by an air traffic network. Figure 3 In the example shown, map section 302 includes airports in parts of Europe, Africa, and Asia. This example is illustrative, and in other examples, map section 302 includes other airports in other countries or continents.
[0061] Map section 302 includes (for example, displayed by GUI 300) one or more displayable indicators representing airports within the air traffic network where air traffic flow will be modeled. These displayable indicators can be overlaid on the map depicted in map section 302. Figure 3 In the example shown, map portion 302 includes a first displayable indicator 306, a second displayable indicator 308, and a third displayable indicator 310. The first displayable indicator 306 indicates the priority of air traffic flow modeling associated with a first airport, the second displayable indicator 308 indicates the priority of air traffic flow modeling associated with a second airport (e.g., Portugal), and the third displayable indicator 310 indicates the priority of air traffic flow modeling associated with a third airport. In some embodiments, map portion 302 includes displayable indicators associated with other airports (e.g., ...). Figure 3 The icons in the diagram represent the priority of the relevant airports used for air traffic flow modeling.
[0062] Displayable indicators 306-310 are based on corresponding airport indicators determined by the sorting nodes of the directed graph 142. For example, visualization engine 108 can generate a first displayable indicator 306 (e.g., one of airport indicators 146) associated with one of the target nodes 144 output by sorting engine 106. Visualization engine 108 can similarly generate displayable indicators 308 and 310 (e.g., other airport indicators 146) associated with other target nodes among the target nodes 144 output by sorting engine 106. To represent different sortings (e.g., priority order) associated with each airport, visualization engine 108 sets one or more features of displayable indicators 306-310 based on the sorting of the target nodes 144.
[0063] exist Figure 3 In the example shown, one or more features include icons (e.g., icon type or shape), and visualization engine 108 selects icons to represent displayable indicators 306-310 based on a sorting performed by sorting engine 106. Air traffic flow modeling priority display section 304 includes various icons and indicates associated air traffic flow modeling priorities. For illustration, air traffic flow modeling priority display section 304 may include a first icon 320, a second icon 322, and a third icon 324. Figure 3 In the example shown, the first icon 320 represents low priority for air traffic flow modeling, the second icon 322 represents medium priority, and the third icon 324 represents high priority. Priorities can be based on the ranking of nodes in the directed graph 142. For example, nodes with a ranking greater than or equal to a first threshold can be assigned high priority, nodes with a ranking less than or equal to (or less than) the first threshold and greater than or equal to a second threshold can be assigned medium priority, and nodes with a ranking less than or equal to (or less than) the second threshold can be assigned low priority. Although reference... Figure 3 Icons for three priorities are shown and described, but in other implementations, the number of priorities may be greater than three or less than three. As an illustrative example, the displayable icon associated with the airport corresponding to target node 144 may have a first icon (e.g., an icon associated with high priority), and the displayable icons associated with the remaining airports in map section 302 may have a second icon (e.g., an icon associated with non-high priority).
[0064] In some implementations, the information displayed in the air traffic flow modeling priority display section 304 is based on a user selection corresponding to the sorting type to be performed on the directed graph 142. For illustration, the air traffic flow modeling priority display section 304 may include selectable indicators that allow the user to choose between performing a link analysis operation, a clustering operation, or both. Figure 3 In the example shown, the air traffic flow modeling priority display section 304 includes a link analysis selectable indicator 326 and a clustering selectable indicator 328. Selectable indicators 326 and 328 may include buttons, checkboxes, hyperlinks, or other interactive elements that allow the user to select one or both of the corresponding sorting operations to perform. Figure 1 In the example shown, link analysis selectable indicator 326 is selected, while clustering selectable indicator 328 is not selected. Therefore, the air traffic flow modeling priority display section 304 includes information such as icons 320-324 related to the air traffic flow modeling priority of the execution of link analysis operations based on the link analysis engine 110.
[0065] In some such implementations, visualization engine 108 selects one of icons 320-324 for displayable indicators 306-310 based on the ranking output by link analysis engine 110. For example, if directed graph 142 includes 30 nodes, a first threshold is 5, and a second threshold is thirteen, a first icon 320 is assigned to the first displayable indicator 306 based on a ranking of thirteen or lower associated with the node corresponding to the first displayable indicator 306. Similarly, a second icon 322 is assigned to the second displayable indicator 308 based on a ranking between five and twelve associated with the node corresponding to the second displayable indicator 308, and a third icon 324 is assigned to the third displayable indicator 310 based on a ranking associated with the node corresponding to the third displayable indicator 310 (which is one of the four highest-ranked nodes). (Refer to the above...) Figure 2 and Figure 4 As described, the node sorting performed by the link analysis engine 110 is based on the number of edges pointing to the node, the weight associated with the edges pointing to the node, the number of other nodes that have edges pointing to the node and corresponding edges pointing to other nodes that are a threshold number, or any combination thereof.
[0066] Therefore, by setting each of the displayable indicators 306-310 to one of the icons 320-324, the visualization engine 108 enables the displayable indicators 306-310 to represent the priority associated with the corresponding airport, allowing operators (such as air traffic controllers, flight dispatchers, or pilots) to quickly and efficiently understand the airport priorities for air traffic flow modeling of the air traffic network. For example, the third displayable indicator 310 indicates that air traffic flow modeling for the airport associated with the third displayable indicator 310 is more important than air traffic flow modeling for the airports associated with the first displayable indicator 306 and the second displayable indicator 308. Furthermore, as mentioned above, based on historical flight data 140, the airport corresponding to the third displayable indicator 310 has a higher probability than the airports corresponding to the first displayable indicator 306 and the second displayable indicator 308 that air passengers will arrive at or depart from during random flights. In some implementations, the GUI 300 includes optional options to initiate air traffic flow modeling for one or more airports in the map section 302 (such as the airport with the third icon 324 or any selected airport).
[0067] In some implementations, the visualization engine 108 is configured to display other characteristics of indicators 306-310, rather than icon types, or anything other than icon types. For example, if the corresponding air traffic flow modeling priority is low, indicators 306-310 may have a first color (e.g., green); if the corresponding air traffic flow modeling priority is medium, indicators 306-310 may have a second color (e.g., yellow); and if the corresponding air traffic flow modeling priority is high, indicators 306-310 may have a third color (e.g., red). As another example, if the corresponding air traffic flow modeling priority is low, indicators 306-310 may have a first size (e.g., small); if the corresponding air traffic flow modeling priority is medium, indicators 306-310 may have a second size (e.g., medium); and if the corresponding air traffic flow modeling priority is high, indicators 306-310 may have a third size (e.g., large). As another example, if the corresponding air traffic flow modeling priority is low, the display indicators 306-310 may have a first intensity (e.g., low intensity) and / or a first font (e.g., italic font); if the corresponding air traffic flow modeling priority is medium, the display indicators 306-310 may have a second intensity (e.g., normal intensity) and / or a second font (e.g., default font); and if the corresponding air traffic flow modeling priority is high, the display indicators 306-310 may have a third intensity (e.g., high intensity) and / or a third font (e.g., bold). In some implementations, one or more features of the display indicators 306-310 controlled by the visualization engine 108 are selected based on user input.
[0068] In some implementations, one or more displayable indicators include or are displayed with a label associated with the corresponding airport, a corresponding ranking, other information, or a combination thereof. For example, a second displayable indicator 308 may include or be displayed with label 312, which includes an ICAO identifier (“LPPR”), a name (“Portugal”), an International Air Transport Association (IATA) identifier (“OPO”), a country identifier (“PORT”), a region identifier (“Europe”), a ranking (“10”), and a group identifier (“20”) (e.g., an identifier associated with a group or subnetwork identified by clustering engine 112, as referenced herein). Figure 3 Further description), other information, or combinations thereof. Although specific information is in Figure 3 The text is shown as being included in label 312, but in other examples, label 312 may be omitted. Figure 4As shown, label 312 may include one or more other information items, or both. Displaying label 312 can help focus operators' attention on airports that are associated with high priorities for modeling air traffic flow in the air traffic network.
[0069] Figure 4 An example of a GUI 400 enabling directed graph-based airport prioritization for traffic flow monitoring is described. The GUI 400 includes a map section 402 and an air traffic flow modeling priority display section 404. The map section 402 includes a map of a specific area or multiple areas containing departure and arrival airports within an air traffic network (such as a multi-regional or global air traffic network). For example, the map section 402 may include a map of a portion of a country, one or more countries, or a global map of the Earth. Specific areas can be selected from a list of predefined areas; can be selected by scrolling, zooming in, zooming out; or combinations thereof. In various aspects, the map section 402 includes multiple airports that may correspond to cities, which can be departure or arrival airports served by an air traffic network. Figure 4 In the example shown, map section 402 includes airports in parts of Europe, Africa, and Asia. This example is illustrative, and in other examples, map section 402 includes other airports in other countries or continents.
[0070] Map section 402 includes (for example, displayed by GUI 400) one or more displayable indicators representing airports within the air traffic network used for air traffic flow modeling. These displayable indicators can be overlaid on the map depicted in map section 402. Figure 4 In the example shown, map portion 402 includes a first displayable indicator 406, a second displayable indicator 408, and a third displayable indicator 410. The first displayable indicator 406 indicates the priority of air traffic flow modeling associated with a first airport, which is related to whether the first airport is a member of a highly interconnected group of airports (e.g., a subnetwork). The second displayable indicator 408 indicates the priority of air traffic flow modeling associated with a second airport, which is related to whether the second airport is a member of a subnetwork. The third displayable indicator 410 indicates the priority of air traffic flow modeling associated with a third airport, which is related to whether the third airport is a member of a subnetwork. In some implementations, map portion 402 includes displayable indicators associated with other airports (e.g., Figure 4 The icons in the diagram represent the priority of relevant airports in air traffic flow modeling, indicating whether they are members of other airports or not.
[0071] Displayable indicators 406-410 are corresponding airport indicators determined by the node sorting of the directed graph 142. For example, visualization engine 108 can generate a first displayable indicator 406 (e.g., one of airport indicators 146) associated with one of the target nodes 144 output by sorting engine 106. Visualization engine 108 can similarly generate displayable indicators 408 and 410 (e.g., other airport indicators 146) associated with other target nodes among the target nodes 144 output by sorting engine 106. To represent different sortings associated with individual airports (e.g., priority sorting), visualization engine 108 sets one or more features of displayable indicators 406-410 based on the sorting of target nodes 144.
[0072] exist Figure 4 In the example shown, one or more features include icons (e.g., icon type or shape), and visualization engine 108 selects icons to represent displayable indicators 406-410 based on a sorting performed by sorting engine 106. Air traffic flow modeling priority display section 404 includes various icons and indicates associated air traffic flow modeling priorities related to membership in highly interconnected airport groups (e.g., sub-networks). For illustration, air traffic flow modeling priority display section 404 may include a first icon 412, a second icon 414, and a third icon 416. Figure 4 In the example shown, the first icon 412 represents membership in a first group (e.g., a first subnetwork) for air traffic flow modeling, the second icon 414 represents membership in a second group (e.g., a second subnetwork) for air traffic flow modeling, and the third icon 416 represents membership in any group (e.g., any subnetwork) where the corresponding airport is not a highly interconnected airport. Priority grouping can be based on the ranking of nodes in the directed graph 142. For example, nodes identified as belonging to the first group can be assigned the first icon 412, nodes identified as belonging to the second group can be assigned the second icon 414, and nodes identified as not belonging to any group can be assigned a low priority. Although reference Figure 4 The icons for the two groups are shown and described, but in other implementations, the number of groups may be greater than or less than two, and airports not included in the groups may be omitted (e.g., displayable indicators are not shown), or combinations thereof.
[0073] In some implementations, the information displayed in the air traffic flow modeling priority display section 404 is based on a user selection corresponding to the sorting type to be performed on the directed graph 142. For illustration, the air traffic flow modeling priority display section 404 may include selectable indicators that allow the user to choose between performing a link analysis operation, a clustering operation, or both. Figure 3In the example shown, the air traffic flow modeling priority display section 404 includes a link analysis selectable indicator 420 and a clustering selectable indicator 422, which respectively include or correspond to Figure 4 Link analysis can use indicator 326, and clustering can use indicator 328. Figure 1 In the example shown, clustering selectable indicator 422 is selected, while link analysis selectable indicator 420 is not selected. Therefore, the air traffic flow modeling priority display section 404 includes information associated with the air traffic flow modeling priority of the execution of clustering operations based on clustering engine 112, such as icons 412-416. In some aspects, the air traffic flow modeling priority display section 404 includes an iteration limit 418, which represents the maximum number of iterations of the clustering algorithm to be executed by clustering engine 112. The iteration limit 418 may be a default or system-determined value, or it may be based on user input. For example, the iteration limit 418 may be displayed via a selectable indicator that allows the user to adjust the iteration limit 418. Alternatively, the selectable indicator may be configured to allow the user to not select an iteration limit, allowing the clustering algorithm to be executed until convergence.
[0074] In the implementation of the clustering selectable indicator 422, the visualization engine 108 selects one of the icons 412-416 for the displayable indicators 406-410 based on the grouping (e.g., sorting) output by the clustering engine 112. For example, if the target node 144 includes a first group containing four nodes and a second group containing three nodes, and the remaining 23 nodes are not included in either group, then a third icon 416 is assigned to the first displayable indicator 406 based on the fact that the node corresponding to the first displayable indicator 406 is not included in either the first or second group. Similarly, a first icon 412 is assigned to the second displayable indicator 408 based on the fact that the node corresponding to the second displayable indicator 408 is a member of the first group, and a second icon 414 is assigned to the third displayable indicator 410 based on the fact that the node corresponding to the third displayable indicator 410 is a member of the second group. (See above reference...) Figure 2 and Figure 3 The clustering of nodes performed by clustering engine 112 is described as being based on a label propagation algorithm, which includes labeling each node based on its membership in a group (e.g., a group) and adjusting the label based on the labels of the majority of its neighbors after each iteration.
[0075] Therefore, by setting each of the displayable indicators 406-410 to one of the icons 412-416, the visualization engine 108 enables the displayable indicators 406-410 to represent priority groups (e.g., membership in a subnet) associated with the corresponding airport, so that operators (such as air traffic controllers, flight dispatchers, or pilots) can quickly and efficiently understand the air traffic flow modeling used for the air traffic network. For example, the second displayable indicator 408 indicates that the air traffic flow modeling for the airport associated with the second displayable indicator 408 is closely related to the air traffic flow for three other airports included in the first group (e.g., the first subnet), and therefore the air traffic flow modeling for one or more airports included in the first group can be more important than the air traffic flow modeling associated with airports not included in the group (such as the airport corresponding to the first displayable indicator 406). In some implementations, the GUI 400 includes optional options to initiate air traffic flow modeling for one or more airports in map section 402 (such as airports with a first icon 412 or a second icon 414, or any selected airport).
[0076] In some implementations, the visualization engine 108 is configured to display other characteristics of indicators 406-410, rather than icon types, or other than icon types. For example, if the corresponding airport is included in the first group, indicators 406-410 may have a first color (e.g., red); if the corresponding airport is included in the second group, indicators 406-410 may have a second color (e.g., yellow); and if the corresponding airport is not included in either the first or second group, indicators 406-410 may have a third color (e.g., green). As another example, if the corresponding airport is included in the first group, indicators 406-410 may have a first size (e.g., large); if the corresponding airport is included in the second group, indicators 406-410 may have a second size (e.g., medium); and if the corresponding airport is not included in either the first or second group, indicators 406-410 may have a third size (e.g., small). As another example, if the corresponding airport is included in the first group, the display indicators 406-410 may have a first intensity (e.g., high intensity) and / or a first font (e.g., bold); if the corresponding airport is included in the second group, the display indicators 406-410 may have a second intensity (e.g., normal intensity) and / or a second font (e.g., underlined font); and if the corresponding airport is not included in either the first or second group, the display indicators 406-410 may have a third intensity (e.g., low intensity) and / or a third font (e.g., default font). In some implementations, one or more features of the displayable indicators 406-410, controlled by the visualization engine 108, are selected based on user input. In some embodiments, the displayable indicators 406-412 include or display corresponding labels (such as references). Figure 5 The description of label 312).
[0077] Figure 1 This is a flowchart illustrating an example of a directed graph-based airport prioritization method 500 for traffic flow monitoring. Method 500 may be initiated, executed, or controlled by one or more processors executing instructions or by circuitry configured to cause one or more operations residing in [location missing]. Figure 1 Air traffic modeling system 102 Figure 1 Within the client device 130 or a combination thereof.
[0078] In some implementations, method 500 includes, at block 502, obtaining historical flight data representing multiple flights associated with multiple airports. For example, Figure 1 The air traffic modeling system 102 can obtain historical flight data 140 from the global flight database 120.
[0079] Method 500 also includes, in box 504, generating a directed graph based on historical flight data. For example, Figure 2 The airport graph engine 104 can generate a directed graph 142 based on historical flight data 140. The directed graph includes multiple nodes and multiple edges connecting pairs of nodes. The multiple nodes correspond to multiple airports, and the multiple edges correspond to multiple flights. Examples of directed graphs with multiple nodes and multiple edges include or correspond to... Figure 1 The directed graph 200 or the directed graph 250.
[0080] Method 500 includes: at box 506, performing a sorting operation on the directed graph to identify one or more target nodes among a plurality of nodes. For example, Figure 1 The sorting engine 106 can perform one or more sorting operations on the directed graph 142 to identify target nodes 144. The one or more target nodes correspond to one or more airports among a plurality of airports.
[0081] Method 500 includes, in block 508, outputting a GUI that indicates one or more airports as recommended airports for modeling the predicted traffic flow. For example, visualization engine 108 may output an airport indicator 146 corresponding to target node 144, and the airport indicator 146 is included in a GUI 132 generated by client device 130 and / or visualization engine 108.
[0082] In some implementations, performing the sorting operation involves using a link analysis algorithm, which, for each node, sorts multiple nodes based on: the number of edges pointing to the node, the weights associated with the edges pointing to the node, the number of other nodes that have edges pointing to the node and corresponding edges pointing to other nodes, or any combination thereof. For example, the sorting operation could be performed by... Figure 1 The link analysis engine 110 performs the link analysis operation. In some such implementations, one or more airports identified by the link analysis algorithm represent one or more airports with the highest probability that air passengers will arrive at or depart from them during a random flight.
[0083] Additionally or alternatively, performing the sorting operation may include a clustering algorithm that uses the labels of connected nodes to cluster multiple nodes into one or more groups. For example, the sorting operation could be performed by... Figure 2 The clustering operation is performed by clustering engine 112. In some such implementations, one or more airports identified by the clustering algorithm represent a subset of airports with highly interconnected air traffic flows. Additionally or alternatively, method 500 may include utilizing the clustering algorithm until convergence or until the number of iterations performed satisfies an iteration limit, as referenced above. Figure 1Further described. In some such implementations, method 500 further includes receiving user input indicating iteration limits. For example, the user input may include or correspond to Figure 4 User input 148 or with Figure 1 The iteration limit 418 is associated with the user input.
[0084] In some implementations, method 500 further includes adjusting the weights of one or more edges among a plurality of edges based on one or more flight parameters indicated by user input. For example, the weights of the edges in directed graph 142 may be adjusted based on parameters indicated by user input 148, as further referenced above. Figure 3 As described. Alternatively or concurrently, the GUI may include a map comprising one or more airports. For example, the GUI may include or correspond to the map portion 302. Figure 4 The GUI 300 or including the map section 402 Figure 3 The GUI 400. In some such implementations, for each of one or more airports, the GUI includes a corresponding label that includes an identifier, sorting information, group information, or a combination thereof. For example, the label may include or correspond to Figure 3 Tag 312.
[0085] In some implementations, the GUI includes a map comprising multiple airports, one or more of which are displayed as having a first characteristic, and the remaining airports of the multiple airports are displayed as having a second characteristic. For example, the GUI may include or correspond to... Figure 1 The GUI 300 includes a first displayable indicator 306 and a second displayable indicator 308, the second displayable indicator having a different icon than the remaining displayable indicators, including a third displayable indicator 310. The first feature may include a different color, different intensity, different font, different icon, or a combination thereof, than the second feature.
[0086] In some implementations, for each of the multiple flights, historical flight data includes the departure and arrival airports associated with the flight, the flight's on-time status, the airline operator associated with the flight, the geographic region associated with the flight, the aircraft type associated with the flight, or a combination thereof. In some such implementations, method 500 further includes filtering the directed graph based on one or more parameters, including on-time status, airline operator, geographic region, aircraft type, or a combination thereof, before performing a sorting operation. For example, as referenced above... Figure 1As described, the sorting engine 106 or airport map engine 104 can filter the directed graph 142 based on one or more features. In some such implementations, method 500 also includes receiving user input indicating one or more values of one or more parameters. For example, the user input may include or correspond to... Figure 5 The user input is 148.
[0087] The above reference can be implemented. Figure 6 The described method aims to achieve one or more of the technical advantages described in more detail above. For example, method 500 can identify and display specific airports within a larger air traffic network that have the greatest impact on air traffic flow within the network, based on the ordering of nodes in a directed graph. For instance, from an air traffic flow perspective, a specific airport may be the most interconnected within the air traffic network, or it may be a small group of highly interconnected airports, and therefore a priority airport for modeling air traffic flow for the larger air traffic network. To illustrate, modeling air traffic flow at the airport level of the identified specific airports and aggregating the results can provide network-level modeling of air traffic flow that is more accurate and predictive than other air traffic flow modeling systems that model air traffic flow for airports associated with the most passengers or the most populous cities. This higher accuracy in air traffic flow modeling is achieved without significantly impacting resource usage and the time-consuming training required to model air traffic flow for each airport in the air traffic network. Therefore, the air traffic flow modeling provided by method 500 can be practically scaled to large air traffic networks, such as multi-regional or global air traffic networks, using existing computer systems in a cost-effective deployment manner.
[0088] Figures 1-5 This is a block diagram of a computing environment 600 of a computing device 610 according to the present disclosure, including aspects configured to support computer-implemented methods and computer-executable program instructions (or code). For example, the computing device 610 or portions thereof is configured to execute instructions to initiate, execute, or control references. Figure 1 One or more operations described.
[0089] Computing device 610 includes one or more processors 620. The processors 620 are configured to communicate with system memory 630, one or more storage devices 640, one or more input / output interfaces 650, one or more communication interfaces 660, or any combination thereof. System memory 630 includes volatile memory devices (e.g., random access memory (RAM) devices), non-volatile memory devices (e.g., read-only memory (ROM) devices, programmable read-only memory, and flash memory), or both. System memory 630 stores operating system 632, which may include a basic input / output system for booting computing device 610 and a complete operating system enabling computing device 610 to interact with users, other programs, and other devices. System memory 630 stores program data 636, directed graph 637, one or more target nodes 638, GUI 639, or combinations thereof. Directed graph 637 may include or correspond to data generated by... Figure 2 The directed graph 142 generated by the airport map engine 104 or Figure 1 The directed graph 250. Target node 638 may include or correspond to the node formed by... Figure 1 The sorting engine 106 generates the target node 144. GUI 639 may include or correspond to GUI 132, which includes the target node 144 generated by the sorting engine 106. Figure 3 Airport indicator 146 output by visualization engine 108 Figure 4 GUI 300 or Figures 1-5 GUI 400.
[0090] System memory 630 includes one or more applications 634 (e.g., instruction sets) executable by processor 620. For example, one or more applications 634 include those executable by processor 620 to initiate, control, or perform reference... Figure 1 Instructions for one or more operations described. For illustration, one or more applications 634 include instructions 635, which can be executed by processor 620 to initiate, control, or perform references. Figure 1 Air traffic modeling system 102 Figures 1-6 The client device 130, or a combination thereof, describes one or more operations.
[0091] In a specific implementation, system memory 630 includes a non-transitory computer-readable medium storing instructions 635, which, when executed by processor 620, cause processor 620 to perform directed graph-based airport prioritization for traffic flow monitoring. The operation includes obtaining historical flight data representing multiple flights associated with multiple airports. The operation also includes generating a directed graph 637 based on the historical flight data. The directed graph 637 includes multiple nodes and multiple edges connecting pairs of nodes. The multiple nodes correspond to multiple airports, and the multiple edges correspond to multiple flights. The operation includes performing a sorting operation on the directed graph 637 to identify a target node 638 among the multiple nodes. The target node 638 corresponds to one or more airports among the multiple airports. The operation also includes outputting a GUI 639 that indicates one or more airports as recommended airports for modeling predicted traffic flow.
[0092] One or more storage devices 640 include non-volatile storage devices, such as disks, optical disks, or flash memory devices. In a particular example, storage device 640 includes removable and non-removable storage devices. Storage device 640 is configured to store an operating system, images of the operating system, applications (e.g., one or more applications 634), and program data (e.g., program data 636). In a particular aspect, system memory 630, storage device 640, or both contain tangible (i.e., non-transitory) computer-readable media. In a particular aspect, one or more storage devices 640 are external to computing device 610.
[0093] One or more input / output interfaces 650 enable computing device 610 to communicate with one or more input / output devices 670 to facilitate user interaction. For example, one or more input / output interfaces 650 may include a display interface, an input interface, or both. For example, input / output interfaces 650 are adapted to receive input from a user, input from another computing device, or a combination thereof. In some implementations, input / output interfaces 650 conform to one or more standard interface protocols, including serial interfaces (e.g., Universal Serial Bus (USB) interfaces or Institute of Electrical and Electronics Engineers (IEEE) interface standards), parallel interfaces, display adapters, audio adapters, or custom interfaces (“IEEE” is a registered trademark of the Institute of Electrical and Electronics Engineers, Piscataway, New Jersey). In some embodiments, input / output devices 670 include one or more user interface devices and displays, including combinations of buttons, keyboards, pointing devices, displays, speakers, microphones, touchscreens, and other devices.
[0094] The processor 620 is configured to communicate with the device or controller 680 via one or more communication interfaces 660. For example, the one or more communication interfaces 660 may include a network interface. The device or controller 680 may include, for example, means for measuring data associated with the aircraft, a network device, a client device, a server, a cloud-based device, one or more other devices, or any combination thereof.
[0095] In some embodiments, a non-transitory computer-readable medium stores instructions that, when executed by one or more processors, cause the one or more processors to initiate, perform, or control operations to perform some or all of the functionality described above. For example, the instructions can be executed to implement Figures 1 to 6 One or more operations or methods are described. In some implementations, this can be achieved by one or more processors executing instructions (e.g., one or more central processing units (CPUs), one or more graphics processing units (GPUs), one or more digital signal processors (DSPs), one or more field-programmable gate arrays (FPGAs), or one or more application-specific integrated circuits (ASICs)), by dedicated hardware circuitry, or any combination thereof. Some or all of one or more operations or methods.
[0096] The illustrations of the examples described herein are intended to provide a general understanding of the structure of different implementations. These illustrations are not intended to serve as a complete description of all elements and features of devices and systems utilizing the structures or methods described herein. Many other embodiments will be apparent to those skilled in the art upon review of this invention. Other implementations may be utilized and derived from this disclosure, allowing structural and logical substitutions and changes to be made without departing from the scope of this disclosure. For example, method operations may be performed in a different order than those shown in the figures, or one or more method operations may be omitted. Therefore, this disclosure and the accompanying drawings are to be considered illustrative rather than restrictive.
[0097] The following related example sets further describe various aspects of this disclosure:
[0098] According to Example 1, an apparatus includes: a memory; and one or more processors coupled to the memory and configured to: acquire historical flight data representing multiple flights associated with multiple airports; generate a directed graph based on the historical flight data, the directed graph including multiple nodes and multiple edges connecting pairs of nodes of the multiple nodes, wherein the multiple nodes correspond to the multiple airports and the multiple edges correspond to the multiple flights; perform a sorting operation on the directed graph to identify one or more target nodes among the multiple nodes, the one or more target nodes corresponding to one or more airports of the multiple airports; and output a graphical user interface (GUI) indicating the one or more airports as recommended airports for modeling predicted traffic flow.
[0099] Example 2 includes the apparatus according to Example 1, wherein the sorting operation is performed using a link analysis algorithm that sorts the plurality of nodes for each node based on: the number of edges pointing to the node; the weight associated with the edges pointing to the node; a threshold number of other nodes that have edges pointing to the node and corresponding edges pointing to the other nodes; or any combination thereof.
[0100] Example 3 includes the apparatus according to Example 2, wherein the one or more airports identified by the link analysis algorithm represent one or more airports having the highest probability that air passengers will arrive at or depart from the one or more airports during random flights.
[0101] Example 4 includes an apparatus according to any one of Examples 1 to 3, wherein the sorting operation is performed using a clustering algorithm that clusters the plurality of nodes into one or more groups based on the labels of the connecting nodes.
[0102] Example 5 includes the apparatus according to Example 4, wherein the one or more airports identified by the clustering algorithm represent a subset of airports with highly interconnected air traffic flows.
[0103] Example 6 includes an apparatus according to Example 4 or Example 5, wherein the one or more processors are further configured to utilize the clustering algorithm until convergence or until the number of iterations performed satisfies an iteration limit.
[0104] Example 7 includes the apparatus according to Example 6, wherein the one or more processors are further configured to receive user input indicating the iteration limit.
[0105] Example 8 includes an apparatus according to any one of Examples 1 to 7, wherein the one or more processors are further configured to adjust the weights of one or more of the plurality of edges based on one or more flight parameters indicated by user input.
[0106] Example 9 includes an apparatus according to any one of Examples 1 to 8, wherein the GUI includes a map containing the plurality of airports, wherein one or more airports are displayed as having a first feature, and wherein the remaining airports of the plurality of airports are displayed as having a second feature.
[0107] Example 10 includes an apparatus according to Example 9, wherein the first feature includes a different color, a different intensity, a different font, a different icon, or a combination thereof, than the second feature.
[0108] Example 11 includes an apparatus according to any one of Examples 1 to 10, wherein the GUI includes a map containing the one or more airports.
[0109] Example 12 includes an apparatus according to any one of Examples 1 to 11, wherein the GUI includes a map containing the plurality of airports, and wherein the GUI includes a corresponding label for each of the one or more airports, the corresponding label including an identifier, sorting information, group information, or a combination thereof.
[0110] Example 13 includes an apparatus according to any one of Examples 1 to 12, wherein, for each of the plurality of flights, the historical flight data includes the departure and arrival airports associated with the flight, the on-time status of the flight, the airline operator associated with the flight, the geographic region associated with the flight, the aircraft type associated with the flight, or a combination thereof.
[0111] Example 14 includes the apparatus according to Example 13, wherein the one or more processors are further configured to filter the directed graph based on one or more parameters including on-time status, airline operator, geographic region, aircraft type, or combinations thereof before performing the sorting operation.
[0112] Example 15 includes the apparatus according to Example 14, wherein the one or more processors are further configured to receive user input indicating one or more values of the one or more parameters.
[0113] According to Example 16, a method includes: obtaining historical flight data representing multiple flights associated with multiple airports by one or more processors; generating a directed graph by the one or more processors based on the historical flight data, the directed graph including multiple nodes and multiple edges connecting pairs of nodes of the multiple nodes, wherein the multiple nodes correspond to the multiple airports and the multiple edges correspond to the multiple flights; performing a sorting operation on the directed graph by the one or more processors to identify one or more target nodes among the multiple nodes, the one or more target nodes corresponding to one or more airports of the multiple airports; and outputting a graphical user interface (GUI) by the one or more processors indicating the one or more airports as recommended airports for modeling predicted traffic flow.
[0114] Example 17 includes the method according to Example 16, wherein performing the sorting operation includes utilizing a link analysis algorithm that sorts the plurality of nodes for each node based on: the number of edges pointing to the node; the weight associated with the edges pointing to the node; a threshold number of other nodes that have edges pointing to the node and corresponding edges pointing to the other nodes; or any combination thereof.
[0115] Example 18 includes the method according to Example 16 or Example 17, wherein performing the sorting operation includes a clustering algorithm that uses labels of connected nodes to cluster the plurality of nodes into one or more groups.
[0116] According to Example 19, a non-transitory computer-readable medium stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: obtaining historical flight data representing multiple flights associated with multiple airports; generating a directed graph based on the historical flight data, the directed graph including multiple nodes and multiple edges connecting pairs of nodes of the multiple nodes, wherein the multiple nodes correspond to the multiple airports and the multiple edges correspond to the multiple flights; performing a sorting operation on the directed graph to identify one or more target nodes among the multiple nodes, the one or more target nodes corresponding to one or more airports of the multiple airports; and outputting a graphical user interface (GUI) indicating the one or more airports as recommended airports for modeling predicted traffic flow.
[0117] Example 20 includes a non-transitory computer-readable medium according to Example 19, wherein the GUI includes a map containing the plurality of airports, wherein one or more airports are displayed having a first feature, the first feature including a first color, a first intensity, a first font, a first icon, or a combination thereof, and wherein the remaining airports of the plurality of airports are displayed having a second feature, the second feature including a second color, a second intensity, a second font, a second icon, or a combination thereof.
[0118] Furthermore, while specific examples have been shown and described herein, it should be understood that any subsequent arrangements designed to achieve the same or similar results may replace the specific implementations shown. This disclosure is intended to cover any and all subsequent modifications or variations of different implementations. After reviewing this description, combinations of the above implementations, as well as other implementations not specifically described herein, will be apparent to those skilled in the art.
[0119] The abstract of this disclosure is provided to be understood not to interpret or limit the scope or meaning of the claims. Furthermore, in the foregoing specific embodiments, different features may be combined together or described in a single implementation for the purpose of simplification. The foregoing examples are illustrative but not limiting of this disclosure. It should also be understood that many modifications and variations are possible based on the principles of this disclosure. As reflected in the following claims, the claimed subject matter may involve fewer features than all features of any of the disclosed examples. Therefore, the scope of this disclosure is defined by the appended claims and their equivalents.
Claims
1. A computing device, comprising: Memory; as well as One or more processors, the one or more processors being coupled to the memory and configured to: Obtain historical flight data representing multiple flights associated with multiple airports (140). A directed graph (142) is generated based on the historical flight data (140). The directed graph (142) includes multiple nodes and multiple edges connecting the multiple nodes, wherein the multiple nodes correspond to the multiple airports and the multiple edges correspond to the multiple flights. A sorting operation is performed on the directed graph (142) to identify one or more target nodes (144) among the plurality of nodes, the one or more target nodes (144) corresponding to one or more airports among the plurality of airports; as well as The output is a graphical user interface (132) that indicates the one or more airports as recommended airports for modeling predicted traffic flow.
2. The computing device according to claim 1, wherein, The sorting operation is performed using a link analysis algorithm, which sorts the multiple nodes for each node based on one or more of the following: The number of edges pointing to the node; The weights associated with the edges pointing to the node; as well as The number of other nodes, wherein each other node has an edge pointing to the node and the corresponding edge pointing to the other node has a threshold number.
3. The computing device according to claim 2, wherein, The one or more airports identified by the link analysis algorithm represent one or more airports with the highest probability that air passengers will arrive at or depart from the one or more airports during a random flight.
4. The computing device according to any one of claims 1 to 3, wherein, The sorting operation is performed using a clustering algorithm, which clusters the multiple nodes into one or more groups based on the labels of the connecting nodes.
5. The computing device according to claim 4, wherein, The one or more airports identified by the clustering algorithm represent a subset of airports with highly interconnected air traffic flows.
6. The computing device according to claim 4, wherein, The one or more processors are further configured to utilize the clustering algorithm until convergence or until the number of iterations performed satisfies the iteration limit.
7. The computing device according to claim 6, wherein, The one or more processors are also configured to receive user input indicating the iteration limit.
8. The computing device according to claim 1, wherein, The one or more processors are further configured to adjust the weights of one or more edges among the plurality of edges based on one or more flight parameters indicated by user input.
9. The computing device according to claim 1, wherein, The graphical user interface (132) includes a map that includes the plurality of airports, wherein one or more airports are displayed as having a first feature, and the remaining airports of the plurality of airports are displayed as having a second feature.
10. The computing device according to claim 9, wherein, The first feature includes a different color, a different intensity, a different font, a different icon, or a combination thereof, compared to the second feature.
11. The computing device according to claim 1, wherein, The graphical user interface (132) includes a map, which includes the one or more airports.
12. The computing device according to claim 1, wherein, The graphical user interface (132) includes a map that includes the plurality of airports, and wherein the graphical user interface (132) includes a corresponding label for each of the one or more airports, the corresponding label including an identifier, sorting information, group information or a combination thereof.
13. A computer-implemented method, comprising: Historical flight data representing multiple flights associated with multiple airports is obtained through one or more processors (140). A directed graph (142) is generated by one or more processors based on the historical flight data (140). The directed graph (142) includes multiple nodes and multiple edges connecting the multiple nodes, wherein the multiple nodes correspond to the multiple airports and the multiple edges correspond to the multiple flights. The directed graph (142) is sorted by the one or more processors to identify one or more target nodes (144) among the plurality of nodes, the one or more target nodes (144) corresponding to one or more airports among the plurality of airports; as well as A graphical user interface (132) that outputs the one or more processors to indicate the one or more airports as recommended airports for modeling predicted traffic flow.
14. The method according to claim 13, wherein, Performing the sorting operation includes using a link analysis algorithm, which sorts the plurality of nodes for each node based on one or more of the following: The number of edges pointing to the node; The weights associated with the edges pointing to the node; and The number of other nodes, wherein each other node has an edge pointing to the node and the corresponding edge pointing to the other node has a threshold number.
15. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the operations comprising: Obtain historical flight data representing multiple flights associated with multiple airports (140). A directed graph (142) is generated based on the historical flight data (140). The directed graph (142) includes multiple nodes and multiple edges connecting the multiple nodes, wherein the multiple nodes correspond to the multiple airports and the multiple edges correspond to the multiple flights. A sorting operation is performed on the directed graph (142) to identify one or more target nodes (144) among the plurality of nodes, the one or more target nodes (144) corresponding to one or more airports among the plurality of airports; as well as The output is a graphical user interface (132) that indicates the one or more airports as recommended airports for modeling predicted traffic flow.