Visualization of weather phenomena along 3D paths

By dividing weather data into multiple altitude layers and meshing them on each altitude layer, giving each sector the intensity level of the most significant weather phenomenon, the problem of difficulty in displaying weather information on multiple altitude layers during flight is solved, and efficient weather data display and power management are achieved.

JP7671631B2Active Publication Date: 2025-05-02THE BOEING CO
View PDF 13 Cites 0 Cited by

Patent Information

Application Number
JP2021097273
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-08-21
Filing Date
2021-06-10
Publication Date
2025-05-02
Estimated Expiration
2041-06-10

AI Technical Summary

Technical Problem

During flight, it is difficult to clearly display weather information for multiple height layers on small display devices, while mobile devices consume a lot of power when rendering this information.

Method used

By dividing the weather data into multiple height layers and dividing each height layer into a corresponding grid, each of which is composed of sectors defined by lines and vertices, giving each sector the intensity level of the most significant weather phenomena. After selecting a specific height layer, generate and display the rendered image of the corresponding grid.

Benefits of technology

A method of quickly understanding large amounts of weather data on small display devices is implemented while reducing power consumption by rendering images only when selecting height layers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007671631000001
    Figure 0007671631000001
  • Figure 0007671631000002
    Figure 0007671631000002
  • Figure 0007671631000003
    Figure 0007671631000003
Patent Text Reader

Abstract

To provide a method for presenting weather data on a graphical user interface.SOLUTION: Weather data is received. At least one of the weather events is present in at least one of several altitude zones for a physical area centered on a reference point. A corresponding intensity rank is assigned to each of the weather events. Each of the altitude zones is divided into a corresponding grid defined for the physical area. Each corresponding grid has corresponding sectors defined by corresponding lines and vertices. A corresponding highest intensity ranking weather event extant in the corresponding sectors is assigned to each of the corresponding sectors in the altitude zones. A selection of a selected altitude zone is received from among the altitude zones. A rendered image is generated by rendering the corresponding grid for the selected altitude zone.SELECTED DRAWING: Figure 2A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to presenting weather data on a graphical user interface. [Background technology]

[0002] While flying an aircraft, it is difficult to clearly display a desired amount of weather information at multiple altitudes on a small display device. Additionally, some display devices on the aircraft may be mobile devices that consume undesirable amounts of power while rendering such information. Summary of the Invention [Means for solving the problem]

[0003] Described herein is a method for presenting weather data on a graphical user interface (GUI). The method includes assigning a corresponding intensity rank to each of the weather phenomena. The weather phenomena are based on the weather data. At least one of the weather phenomena resides in at least one of a plurality of altitude zones defined for a physical region centered on a reference point. The method also includes dividing each of the altitude zones into a corresponding grid defined for the physical region. Each corresponding grid has a corresponding sector defined by corresponding lines and vertices. The method also includes assigning to each of the corresponding sectors within the altitude zone a corresponding highest intensity rank weather phenomenon that resides in the corresponding sector. The method also includes receiving a selection of a selected altitude zone from among the altitude zones. The method also includes generating a rendered image by rendering the corresponding grid of the selected altitude zone. The method also includes displaying the rendered image on the GUI.

[0004] A system is also described herein. The system includes a processor, a communication device connected to the processor, and a non-transitory computer readable storage medium connected to the processor. The non-transitory computer readable storage medium stores weather data representing weather phenomena present in at least one of a number of altitude zones for a physical region centered on a reference point. The non-transitory computer readable storage medium also stores a corresponding intensity rank assigned to each of the weather phenomena. The non-transitory computer readable storage medium also stores a corresponding grid defined for the physical region in each altitude zone, the corresponding grid having corresponding sectors defined by corresponding lines and vertices. The non-transitory computer readable storage medium also stores a corresponding highest intensity rank weather phenomenon present in each of the corresponding sectors. The non-transitory computer readable storage medium also stores a selected altitude zone from among the altitude zones. The non-transitory computer readable storage medium also stores a rendered image having a corresponding grid of the selected altitude zone. The corresponding grid of the selected altitude zone has corresponding lines and vertices and corresponding sectors highlighted according to a corresponding highest intensity rank weather phenomenon present in each of the corresponding sectors within the selected altitude zone. The system also includes a pre-processing program executable by the processor to receive the weather data from the communication device. The pre-processing program is also executable by the processor to assign a corresponding intensity rank to each of the weather phenomena. The pre-processing program is also executable by the processor to divide each of the altitude zones into corresponding grids. The pre-processing program is also executable by the processor to assign to each of the corresponding sectors within the altitude zone a corresponding highest intensity rank weather phenomenon present in the corresponding sector. The pre-processing program is also executable by the processor to receive a selection of a selected altitude zone.The system also includes a rendering engine executable by the processor to generate a rendered image by rendering corresponding grids of the selected altitude zones by rendering corresponding lines and vertices of the selected altitude zones. The rendering engine is also executable by the processor to render corresponding sectors of the selected altitude zones by highlighting each of the corresponding sectors according to a corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors within the selected altitude zones. The system also includes a display device coupled to the processor and configured to display the rendered image.

[0005] Also described herein is a non-transitory computer-readable storage medium storing computer usable program code that, when executed by a processor, executes a computer-implemented method of presenting weather data on a graphical user interface (GUI). The computer-implemented method includes receiving weather data. The weather data represents weather phenomena. At least one of the weather phenomena is present in at least one of several altitude zones of a physical region centered on a reference point. The computer-implemented method also includes assigning a corresponding intensity rank to each of the weather phenomena. The computer-implemented method also includes dividing each of the altitude zones into corresponding grids defined for the physical region. Each corresponding grid has corresponding sectors defined by corresponding lines and vertices. The computer-implemented method also includes assigning to each of the corresponding sectors within the altitude zones a corresponding highest intensity rank weather phenomenon present in the corresponding sector. The computer-implemented method also includes receiving a selection of a selected altitude zone from among the altitude zones. The computer-implemented method also includes generating a rendered image by rendering the corresponding grid of the selected altitude zone. The computer-implemented method also includes displaying the rendered image on the GUI.

[0006] Other aspects will become apparent from the following description and the appended claims. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 illustrates a computing system in accordance with one or more embodiments. [Figure 2A] FIG. 1 illustrates a method for presenting weather data on a graphical user interface (GUI) according to one or more embodiments. [Figure 2B] FIG. 1 illustrates another method for presenting weather data on a graphical user interface (GUI) according to one or more embodiments. [Figure 2C] FIG. 1 illustrates yet another method for presenting weather data on a graphical user interface (GUI) according to one or more embodiments. [Figure 2D] FIG. 1 illustrates yet another method for presenting weather data on a graphical user interface (GUI) according to one or more embodiments. [Figure 2E] FIG. 1 illustrates yet another method for presenting weather data on a graphical user interface (GUI) according to one or more embodiments. [Figure 2F] FIG. 1 illustrates yet another method for presenting weather data on a graphical user interface (GUI) according to one or more embodiments. [Diagram 3] FIG. 1 illustrates a method for rendering weather information for display according to one or more embodiments. [Figure 4] 2A, 2B, 2C, 2D, 2E, and 2F are screen shots of example graphical user interfaces (GUIs) that may be formed using the methods of FIGS. 2A, 2B, 2C, 2D, 2E, and 2F, according to one or more embodiments. [Diagram 5]A screenshot of another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 6] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 7] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 8] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 9] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 10] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 11] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 12] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 13] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 14] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 15] A screenshot of yet another exemplary graphical user interface (GUI) that may be formed using the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F in accordance with one or more embodiments. [Figure 16A] FIG. 1 illustrates a computing system in accordance with one or more embodiments. [Figure 16B] FIG. 1 illustrates a network environment in accordance with one or more embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Specific embodiments will now be described in detail with reference to the accompanying drawings, in which like elements in the various figures are designated with like reference numerals for consistency.

[0009] In the following detailed description of the embodiments, numerous specific details are set forth in order to provide a more thorough understanding of the concepts herein. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.

[0010] Throughout this application, ordinal numbers (e.g., first, second, third, etc.) may be used as adjectives of elements (i.e., any noun in this application). The use of ordinal numbers does not imply or create a particular order of elements, nor does it limit any element to only a single element, unless expressly disclosed, such as by use of "before," "after," "single," and other such terms. Rather, the use of ordinal numbers is to distinguish elements. As an example, a first element is different from a second element, a first element may encompass two or more elements, and may follow (or precede) the second element in the order of elements.

[0011] The term "about," when used in reference to a physical characteristic that can be measured, refers to an engineering tolerance that is expected or determined by a skilled engineer or manufacturing engineer. The exact quantified degree of engineering tolerance depends on the product being manufactured and the technical characteristic being measured. In a non-limiting example, two angles can be "about congruent" if their values ​​are within 10% of each other. However, if an engineer determines that the design tolerances for a particular product should be tighter, "about congruent" can be two angles that have values ​​within 1 percent of each other. Similarly, in other embodiments, the engineering tolerances can be relaxed such that "about congruent" angles have values ​​within 20% of each other. In either case, one skilled in the art can evaluate what the acceptable engineering tolerances are for a particular product, and therefore how to determine the variance in measurements contemplated by the term "about."

[0012] In general, embodiments relate to overcoming two technical obstacles. The first is presenting a vast amount of relevant weather data on a small display screen in a manner that is quickly understandable to a pilot navigating an aircraft in flight. The second is conserving battery power of the mobile device used by the pilot to display the relevant weather data.

[0013] To address the first technical obstacle, one or more embodiments divide the weather data into several altitude zones, typically in 1000 foot increments between 1000 feet and 40,000 feet, although different zone increments can be used. One or more embodiments then divide each altitude zone into a corresponding grid centered on a reference point. The reference point may be any convenient reference point, such as the current, past, or predicted position of the aircraft. However, the center point of the grid need not relate to any position of the aircraft. Rather, one or more embodiments provide a method for rendering a flight preview or post view, as well as a method for showing weather conditions around the current position of the aircraft.

[0014] Each type of weather phenomenon in a given grid is ranked according to intensity. For example, turbulence can be ranked on a scale of 0 (not present) to 5 (most severe), and icing conditions can be ranked on a scale of 0 to 5. The type of weather phenomenon and the intensity of the weather phenomenon are represented by a color or highlighting assigned to a sector in the grid. If desired, the most severe weather phenomenon applicable to a sector is the color or highlighting applicable to the sector. In one embodiment, the pilot can select among different weather types such that only a single weather type is shown in the grid at a time. In other embodiments, multiple weather types can be shown in a sector, such as by using multiple colors or highlighting types in a sector. To further assist the pilot, the pilot can select a different altitude zone to quickly evaluate the associated grid and weather data for the new altitude zone. Thus, the pilot can quickly evaluate the three-dimensional weather patterns around the aircraft (i.e., above, below, and in a two-dimensional plane around the aircraft). The reference point for viewing the weather does not have to be the aircraft, and therefore one or more embodiments are also useful for viewing weather in remote locations for flight planning purposes. Other data, such as, but not limited to, the aircraft, the aircraft's flight path, landmarks, maps, waypoints, selected altitude zone, time, current altitude, current speed, camera orientation, flight time, etc., can also be displayed in the graphical user interface (GUI) for reference. Also, the GUI's viewpoint (which refers to the camera position as if the aircraft were being observed by an external camera) can be adjusted to allow the pilot to view weather patterns, landmarks, and other features from different angles.

[0015] To address the second technical obstacle of limited battery power in the mobile devices on board the aircraft, one or more embodiments may take into account when the weather data is rendered. In a power saving embodiment, or to speed up processing in general, the weather data may be rendered only after the altitude is selected. In this way, the total amount of rendering calculations, and therefore the processing power, may be reduced.

[0016] Attention is now directed to the figures. Figure 1 illustrates a computing system according to one or more embodiments. The computing system includes a data repository (100). In one or more embodiments, the data repository (100) is a storage unit and / or device (e.g., a file system, a database, a collection of tables, or any other storage mechanism) for storing data. Furthermore, the data repository (100) may include multiple different storage units and / or devices. The multiple different storage units and / or devices may or may not be of the same type and may or may not be located at the same physical site. The data repository (100) may be characterized as a non-transitory computer-readable storage medium. However, data used by the system may be transferred to a random access memory and used during processing of the data.

[0017] The data repository (100) stores several different types of information. For example, the data repository (100) stores weather data (102). As used herein, weather data (102) is data relating to weather, including, but not limited to, wind speed, wind direction, temperature, humidity, storms, air pressure, visibility, cloud location, cloud type, and the like. The weather data (102) represents one or more weather phenomena, such as, for example, weather phenomenon A (104) and weather phenomenon B (106). As used herein, a weather phenomenon is a particular instance of a type of weather of interest, or a condition of interest that may be induced by weather. Examples of weather phenomena include, for example, turbulence, icing conditions, wind shear, electrical strikes (i.e., lightning), overall visibility, and the like.

[0018] The one or more weather phenomena are present in at least one of several altitude zones (108), such as altitude zone 1 (110) and altitude zone 2 (112), for a physical region centered about a reference point. The reference point may be a predicted future position of the aircraft, a past position of the aircraft, a current position of the aircraft, or a location away from the aircraft. In the latter case, a location away from the aircraft is useful for route planning and / or wide area representation of weather data.

[0019] As used herein, an altitude zone is a predetermined range of heights measured from sea level on the globe. Many different altitude ranges can be used to define the range of altitude zones (108), depending on the granularity desired by the pilot and the granularity of the weather data (102). In a non-limiting example, the altitude zones (108) may be separated by segments of 1000 feet. In one embodiment, all altitude zones (108) are equal. However, in other embodiments, the altitude zones (108) may vary relative to one another. Thus, in a non-limiting example, altitude zone 1 (110) may be 500 feet and altitude zone 2 (112) may be 1000 feet.

[0020] A corresponding intensity rank is assigned to each weather phenomenon. Thus, for example, weather phenomenon A (104) is assigned an intensity rank of 1 (114) and weather phenomenon B (106) is assigned an intensity rank of 2 (116). As used herein, an "intensity rank" is a numerical ranking assigned to a weather phenomenon to indicate a quantitative assessment of the weather phenomenon's intensity. In particular, a measured numerical characteristic of a weather phenomenon is compared to a range of numerical characteristics, and if the measured numerical characteristic is within that range, the rank assigned to that range is the intensity rank of the weather phenomenon. In a specific example, turbulence may be measured as turbulent kinetic energy. If the turbulent kinetic energy is within the highest of five ranges of turbulent kinetic energy, the intensity of the turbulent weather phenomenon is assigned a value of 5. A similar procedure can be used to indicate icing conditions, wind shear, and other types of weather phenomena. Thus, each weather phenomenon can have its own corresponding intensity rank. The intensity ranks need not all be on the same scale. For example, Intensity Rank 1 (114) may vary from 1 to 5, while Intensity Rank 2 (116) may vary from 1 to 10. Nonetheless, each intensity rank is useful for displaying in the GUI, through highlighting, the relative intensity of one or more weather phenomena within a sector on the GUI.

[0021] The data repository (100) also stores a corresponding grid (118) defined for the physical area of ​​each altitude zone (108). A grid is a pattern of connected shapes that can be displayed in a GUI. The grid is defined by lines that define the boundaries of the sectors and vertices that indicate the intersections of the lines. One grid is generated for each of the altitude zones (108). Thus, for example, grid 1 (120) is generated for altitude zone 1 (110), grid 2 (122) is generated for altitude zone 2 (112), and so on.

[0022] Each corresponding grid (118) is formed from corresponding sectors defined by corresponding lines and vertices of the corresponding grid (118). Thus, for example, grid 1 (120) includes sector 1 (124) and grid 2 (122) includes sector 2 (126). The number of sectors in each grid need not be the same. Typically, there are tens or hundreds of sectors in each grid, although more or fewer sectors may be present in each grid.

[0023] The grid pattern can take different forms. The grid pattern can take the form of connected squares, for example, as shown in Figures 4-15. However, the grid pattern may be a triangular grid pattern, a hexagonal grid pattern, a radial grid pattern, an unstructured mesh grid pattern, a curved grid pattern, an irregular grid pattern, or any other grid pattern. The sectors in a grid need not have the same size, but the grid may be a regular pattern of sectors of equal size. Each sector represents a certain amount of area in the actual environment around the reference point. The scale of the physical representation need not be the same for each sector, but in some embodiments may be the same. In a specific non-limiting embodiment (shown in Figures 4-15), each grid in each altitude zone is a pattern of squares of equal size and scale, with each square representing an area of ​​2 miles by 2 miles (4 square miles).

[0024] A corresponding highest intensity ranking weather phenomenon is associated for each such weather phenomenon present in each of the corresponding sectors. In other words, for each sector of each grid, the highest intensity ranking weather phenomenon is associated with the given sector. For example, highest intensity ranking weather phenomenon 1 (128) is assigned to one sector in sector 1 (124), and highest intensity ranking weather phenomenon 2 (130) is assigned to another sector in sector 2 (126). In a specific example, assume that sector A in sector 1 (124) is associated with three weather phenomena: icing condition intensity rank 1, wind shear rank 2, and turbulence rank 3. Turbulence rank 3 is assigned as highest intensity ranking weather phenomenon 1 (128) for sector A in sector 1 (124). In this manner, each individual sector in each grid (e.g., every sector of every altitude zone (108)) has an associated highest intensity ranking weather phenomenon.

[0025] The data repository (100) also stores a selected altitude zone (132) from among the altitude zones (108). The selected altitude zone (132) is the altitude zone whose corresponding grid (118) is displayed in the GUI. The selected altitude zone (132) may be selected by the user or may be automatically selected based on some formula or rule. In the example of Figures 4-14, the selected altitude zone (132) is selected by the user by sliding on the altitude bar on the right side of the GUI. Note that the selected altitude zone (132) is not necessarily the altitude at which the airplane is flying, and often is not the same. The selected altitude zone (132) may be above or below the altitude zone in which the reference point is currently located, allowing the pilot to see weather above or below the reference point.

[0026] The data repository (100) may also store a rendered image (134). The rendered image (134) is a corresponding grid (118) of the selected altitude zone (132). Again, the corresponding grid (118) of the selected altitude zone (132) includes corresponding lines and vertices as well as corresponding sectors. The corresponding sectors are highlighted according to the corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors in the selected altitude zone (132). It should be noted that in some embodiments, the rendered image may be stored in a random access memory (RAM) of a general processing unit (GPU) to improve the speed of processing and / or reduce battery power used.

[0027] Thus, for example, a rendered image (134) may show three sectors, sector 3 (136), sector 4 (140), and sector 5 (144), which are associated with reference points (148), landmarks (150), waypoints (152), and other information (154). Each sector has its own highlighting scheme. Thus, sector 3 (136) has highlighting scheme A (138), sector 4 (140) has highlighting scheme B (142), and sector 5 (144) has highlighting scheme C (146).

[0028] A highlighting scheme is a highlighting applied to a sector. In one embodiment, the highlighting scheme may be to fill the sector with a color corresponding to the weather phenomenon of highest intensity ranking. The color may indicate the type of weather phenomenon, and the intensity of the color may indicate the intensity of the weather phenomenon of highest intensity ranking. However, a sector may have more than one color highlighting, such as when multiple weather phenomena are of interest to the pilot. If the weather is consistent within a large area around the reference point (148), the highlighting schemes for the sectors may all be the same. It should be noted that other highlighting schemes are possible, such as changing the color or visibility of lines and vertices, animation present within the sector, etc.

[0029] Landmarks (150) may be in the form of ground, mountains, trees, buildings, runways, etc. Waypoints (152) may be waypoints along the intended flight path of the aircraft. Other information (154) may include many other types of information such as the presence of other aircraft, GUI interactive inputs (slide bars, buttons, etc.), weather readings, time, power remaining on the mobile device rendering the GUI, the intended flight path as a line, and potentially many other forms of information of interest to the pilot. In one embodiment, the GUI gives the pilot the option to hide certain information for clarity or to reduce clutter on the screen.

[0030] The system shown in FIG. 1 may include other components or software. For example, the system shown in FIG. 1 may include a processor (156), a communication device (158), and a display device (160). The data repository (100), the communication device (158), and the display device (160) are all connected to the processor (156) via a bus (162). Thus, the system shown in FIG. 1 may be embodied in the form of a laptop, tablet, mobile phone, etc., but may also be embodied as a desktop computer, an on-board computer on an aircraft, etc. In one embodiment, the elements of the system shown in FIG. 1 may be embodied as a remote server that processes information and transmits renderable images to a local device, but at least one local display device is available on the aircraft to be able to display the rendered images.

[0031] The processor (156) is a computer processor configured to perform the calculations necessary to generate the rendered image (134) through execution of the preprocessing program (164) and the rendering engine (166). The processor (156) may be a distributed computing system, but in one embodiment is a single processor on a local device. An example of the processor (156) is described with respect to Figures 16A and 16B.

[0032] The communication device (158) is a wired or wireless communication system. The wireless communication system may include BLUETOOTH® for communicating with an on-board communication system on the reference point (148) or may be connected to a wireless and / or cellular network such as a 5G network®. In either case, the communication device (158) is configured to transmit and receive data such that the processor (156) can process the weather data (102) and generate the rendered image (134) according to the techniques described with respect to FIG. 2. Examples of the communication device (158) are described with respect to FIGS. 16A and 16B.

[0033] The display device (160) is a computer or television screen. The display device (160) may be an LCD display or older technology, but in most cases the display device (160) is the screen of a laptop, tablet, or cell phone that houses the processor (156). Examples of display devices (160) are described with reference to Figures 16A and 16B.

[0034] As described above, the processor (156) executes the pre-processing program (164) and the rendering engine (166) to generate the rendered image (134) for display on the display device (160) to achieve the methods of Figures 2A, 2B, 2C, 2D, 2E, and 2F. Accordingly, details of the operation of the pre-processing program (164) and the rendering engine (166) will be described with reference to the flowchart of Figure 2.

[0035] Briefly, however, the pre-processing program (164), when executed by the processor (156), is configured to receive the weather data (102) from the communication device (158), assign a corresponding intensity rank to each of a plurality of weather phenomena, divide each of a plurality of altitude zones into a corresponding grid (118), assign to each of corresponding sectors within the plurality of altitude zones a corresponding highest intensity-ranked weather phenomenon present in the corresponding sector, and receive a selection of a selected altitude zone (132). The rendering engine (166), when executed by the processor (156), is then configured to render the corresponding grid (118) of the selected altitude zone (132) by rendering corresponding lines and vertices of the selected altitude zone (132), and render the corresponding sectors of the selected altitude zone (132) by highlighting each of the corresponding sectors according to the corresponding highest intensity-ranked weather phenomenon present in each of the corresponding sectors of the selected altitude zone (132).

[0036] Although FIG. 1 illustrates an arrangement of components, other arrangements may be used without departing from the scope. For example, various components may be combined to create a single component. As another example, functions performed by a single component may be performed by two or more components. Thus, for example, a presentation system that performs rendering may be separate from a pre-processing system that ingests weather data over a network. Other variations are possible.

[0037] Figures 2A-2F illustrate a method for presenting weather data on a graphical user interface (GUI) according to one or more embodiments. The method illustrated in Figures 2A-2F may be performed using the system illustrated in Figure 1. The method illustrated in Figures 2A-2F is typically performed by a local device on the aircraft, but may also be performed by a server that transmits renderable images to the local device. The method illustrated in Figures 2A-2F may be characterized as a method for presenting weather data on a graphical user interface (GUI).

[0038] In step (200), weather data is received. As described with respect to FIG. 1, the weather data represents weather phenomena, at least one of which exists in at least one of several altitude zones of a physical region centered on a reference point. The weather data may be received from a weather service via a communication device, by direct instrument readings on the aircraft, from measurements performed by other aircraft in the region, from satellites, or from various other sources. The weather phenomena may be different types of weather phenomena, including clear skies, icing conditions, turbulence, crosswinds, cloud layers, cloud bases, temperatures, wind speeds, combinations thereof, and other types of weather phenomena. It should be noted that the weather data received in step (200) may be input to a pre-processing program (164) described in FIG. 1.

[0039] In step (202), a corresponding intensity rank is assigned to each weather phenomenon. The intensity ranks may be assigned to different parts of a single weather phenomenon. The intensity ranks may be assigned to different regions in physical space based on latitude, longitude, and altitude. However, the intensity rankings may be assigned on a sector-by-sector basis, possibly after a grid is defined in the next step. For example, turbulence may be present in many sectors of a grid at a particular selected altitude. However, the turbulence may be better or worse in different sectors within the grid at that selected altitude. Thus, the assignment of intensity ranks to weather phenomena may be performed on a sector-by-sector basis in a given grid at a given selected altitude.

[0040] In step (204), each of the altitude zones is divided into corresponding grids defined relative to the physical area around the reference point. As described above, each corresponding grid has corresponding sectors defined by corresponding lines and vertices. The grids are formed by dividing a virtual space representing the real space at the selected altitude into virtual sectors separated by virtual lines and vertices. The lines and vertices can form different types of grids, such as a square grid, a hexagonal grid, a triangular grid, a radial grid, an unstructured mesh grid, a curved grid, etc.

[0041] In step (206), the corresponding highest intensity ranking weather phenomenon present in the corresponding sector is assigned to each of the corresponding sectors in the multiple altitude zones. The assignment in step (206) may be performed by establishing a table or other data structure for relating weather data in an area to an intensity ranking, and then determining the highest intensity weather phenomenon in the area. It should be noted that it is possible to show low intensity weather phenomena in a sector, or to show multiple weather phenomena in a sector. However, in one embodiment, to simplify the pilot's view, only the most intense weather phenomena are displayed, and it is presumed that lower intensity weather phenomena are of less interest to the pilot than the highest intensity weather phenomena.

[0042] In step (208), a selection of the selected altitude zone from among the available altitude zones is received. For example, the user may use a sliding scale (see Figures 4-14) to quickly slide through the different altitude zones until the selected altitude zone is reached. The user may enter the altitude directly into an input box in the GUI, and the altitude zone corresponding to that altitude is selected. The user may provide a voice command for the desired altitude zone. Many other forms of input are possible, including automatic input, such as when the system determines that the pilot should be notified of particularly severe weather in one altitude zone near a reference point.

[0043] In step 210, a rendered image is generated by rendering a corresponding grid of the selected elevation zones. The rendering may be performed using a rendering engine and / or a graphics processor. Figure 2C provides further details regarding the rendering of the grid.

[0044] The rendered image is displayed in the GUI at step 212. Display of the rendered image may be performed using a graphics program available on the computer executing the method of FIG.

[0045] In one embodiment, the method of Figure 2A may then end, however, other variations and details are possible, as described further below.

[0046] Figure 2B illustrates a method for generating a rendered image, and thus illustrates an elaboration of step 210 of Figure 2A.

[0047] In step 200B, the corresponding lines and vertices of the selected altitude zone are rendered. The rendering is accomplished using a rendering engine using any number of acceptable rendering techniques. One such technique may be the conversion of latitude, longitude and altitude into a Cartesian coordinate system as vertices interpretable by a general processing unit (GPU). Groups of vertices that make up a solid object (e.g., corners of a box) are then grouped together in a memory buffer and sent to the GPU and rendered by a program written to run on the GPU. The exact visual representation is encoded in the GPU program (e.g., outlining the box with lines, etc.). In one embodiment, the lines and vertices of the grid are rendered after the selection of the altitude zone. In this way, processing power can be saved by only rendering the grid and sectors to the grid without the need to render the grid and sectors with other altitude zones.

[0048] In step 202B, corresponding sectors of the selected altitude zone are rendered, including highlighting each of the corresponding sectors according to the corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors in the selected altitude zone. The rendering techniques used may be similar to those described above. The highlighting may be achieved using a variety of different techniques, such as by using color, changing transparency, adding shapes or borders or edges to the sectors, adding animations to the sectors, etc. In some embodiments, at least two different sectors in the corresponding sectors have at least two different colors to indicate different highest intensity rankings in the at least two different sectors. Thus, the corresponding sectors may be highlighted according to the type of weather in the corresponding sector. The type of weather may be rendered as a change in highlighting.

[0049] Fig. 2C illustrates a method for changing the viewpoint in the rendered image. The method of Fig. 2C thus relates to an additional step performed with respect to the method shown in Fig. 2A. The method of Fig. 2C may be performed prior to generating the corresponding sector of the selected altitude zone.

[0050] In step 200C, the position of the camera point relative to the reference point is determined. The camera point is a virtual point selected within the physical area represented by one of the altitude zones. The camera point may be in an altitude zone different from the selected altitude zone. The camera point may be movable by the user through GUI manipulation or automatically.

[0051] In step 202C, a determination is made whether a line of sight of the corresponding grid from the camera point towards the reference point is obstructed by the highlighted sector of the corresponding sector. The determination may be made by determining whether a line of sight from the camera point to the reference point intersects with one or more sectors that are highlighted as representing weather data.

[0052] In step 204C, in response to determining that the viewpoint is occluded by the highlighting, a subregion within the corresponding grid is defined. The subregion is defined by specifying a shape of a predetermined size around a reference point. For example, the subregion may be a circle or sphere of a predetermined radius centered on the reference point. However, other shapes may be used.

[0053] In step 206C, as part of rendering the corresponding sectors, highlighting is avoided for each of the corresponding sectors that are within the sub-region in the corresponding grid. In other words, the sectors within the sub-region are skipped during highlighting or a command is given to unhighlight the sectors within the sub-region. Note that the sub-region may extend partially within the sector. Thus, for example, some of the sectors within the sub-region may not be highlighted while the remainder of the sector is highlighted normally. In one embodiment, grid lines and vertices may continue to be drawn within the sub-region. Thus, the user may see the reference point and the empty sectors within the circle around the reference point, but may see the highlighted or partially highlighted sectors outside the sub-region. Examples of this view are shown in Figures 6, 7, 9, and 10-12.

[0054] Alternatively, the sub-regions may be defined along the entire plane of the corresponding grid. Thus, for example, the grid may still be displayed, but not all sectors may be highlighted. An example of this view is shown in FIG. 13. In yet another alternative, the sub-regions may be defined along a portion of the plane, but also including portions of a circle or sphere of sectors that are not highlighted. In this case, the sub-regions appear as partial circles or spheres, with intersecting planes of sectors that are not highlighted. It is not necessary that the sub-regions, and therefore all of the sectors that are not highlighted, are contiguous. An example of this view is shown in FIG. 15. Thus, the shape of the sub-regions may take different forms.

[0055] In one embodiment, prior to displaying the rendered image on the GUI, in step 208C, the method of FIG. 2C may include rendering additional information about the aircraft inside a sub-region in the corresponding grid. One purpose of defining the sub-regions and not highlighting sectors within the sub-regions is to allow for the display of additional information, such as text, landmarks, reference points, the aircraft itself, the flight path, etc. Thus, for example, the additional information may be selected from the group consisting of an icon of a reference point, an icon of the aircraft, the flight path of the aircraft, the altitude of the aircraft, the speed of the aircraft, waypoints along the intended flight path of the aircraft, the destination of the aircraft, landmarks on the surface below the reference points (or aircraft), and combinations thereof.

[0056] Fig. 2D is a method for changing the camera viewpoint on the GUI. The method of Fig. 2D may be performed after the method of Fig. 2A.

[0057] In step 200D (after display in step 212), a new camera point is received. The new camera point may be received automatically from a command from the computer or via user input. The user input may be, for example, for the user to touch a screen displaying the GUI and drag the view to a different view desired by the user. Alternatively, the user may specify a coordinate point including altitude, latitude, and longitude (or some other reference system) to set the camera point.

[0058] In step 202D, a determination is made whether a new view of the corresponding grid from the new camera point towards the reference point is occluded by a different highlighted sector of the corresponding sector, which may be made as described above with respect to step 202C of FIG.

[0059] In step 204D, in response to determining that the new viewpoint is occluded by the highlighting, a new sub-region within the corresponding grid is defined, which may be performed as described above with respect to step 204C of FIG.

[0060] In step 206D, highlighting is avoided for each of the corresponding sectors in the new sub-region within the corresponding grid as part of rendering the corresponding sectors, which may be performed similarly to step 206C of FIG.

[0061] As noted above, the method may also include rendering additional information about the aircraft within a sub-region in the corresponding grid in step 208D, which may be performed similarly to step 208C of FIG.

[0062] Figure 2E is a method of modifying the rendering of the grid relative to the boundaries of the subregions described above. Thus, the method of Figure 2E may be performed as part of step 210 of Figure 2A, step 200B of Figure 2B, step 204C of Figure 2C, and step 204D of Figure 2D.

[0063] In step 200E, when the camera point is behind hidden weather within the subregion, the rim of the subregion is rendered as a gradual gradient, an example of which is shown in FIG.

[0064] In step 202E, when the reference point is inside an obscured feature in the sub-region, the rim of the sub-region is rendered as a solid line, an example of which is shown in FIG.

[0065] In either case, rendering the rim of the sub-region helps the user to identify the camera's viewpoint and quickly locate a reference point relative to the sector being rendered. The rendering itself may be performed as part of the rendering of the sub-region in the corresponding grid, such as in step 208C of Figure 2C or step 208D of Figure 2D.

[0066] Figure 2F illustrates a method for rendering a new grid after rendering a previous grid. Thus, the method of Figure 2F may be performed after the method of Figure 2A. In this case, the rendered image of Figure 2F may be characterized as the first rendered image.

[0067] In step 200F, a second selection of a newly selected altitude zone is received. The newly selected altitude zone may be received as described with respect to step 208 of FIG.

[0068] In step 202F, after receiving the newly selected elevation zone in step 200F, a new rendered image is generated by rendering the corresponding grid of the newly selected elevation zone. The rendering in step 202F may be accomplished using steps 204F-210F, as described below.

[0069] In step 204F, the corresponding lines and vertices of the newly selected elevation zone are rendered. The rendering of the lines and vertices may be accomplished as described with respect to step 200B of FIG.

[0070] In step 206F, the corresponding sectors of the newly selected altitude zone are rendered, including highlighting each of the corresponding sectors of the newly selected altitude zone according to the corresponding highest intensity ranking weather event present in each of the corresponding sectors of the newly selected altitude zone. Rendering the corresponding sectors of the newly selected altitude zone may be accomplished as described with respect to step 202B of FIG. 2B.

[0071] In step 208F, the display of the first rendered image is stopped. Thus, the first rendered image is no longer displayed in the GUI. Instead, in step 210F, a new rendered image is displayed in the GUI. The display of the new rendered image may be as described with respect to step 212 of FIG. 2A. In other words, a grid of only one elevation zone at a time may be displayed. In one embodiment, the method of FIG. 2F may then end.

[0072] One or more of the embodiments described with respect to Figures 2A-2F may be modified. For example, with respect to Figure 2F, step 208F may be skipped or modified. In other words, it is possible to simultaneously display a grid of multiple elevation zones, or portions of a grid of multiple elevation zones. An example of such a view is shown in Figure 15. Thus, one or more of the embodiments may be modified, and the examples described above with respect to Figures 2A-2F do not necessarily limit other embodiments described herein or recognized by one of ordinary skill in the art.

[0073] Although the various steps of this flowchart are presented and described sequentially, one skilled in the art will appreciate that some or all of the steps may be performed in a different order, combined, or omitted, and some or all of the steps may be performed in parallel. Furthermore, the steps may be performed actively or passively. For example, some steps may be performed using polling or may be interrupt driven according to one or more embodiments. As an example, the determining step may not require the processor to process instructions unless an interrupt is received to indicate that a condition exists, according to one or more embodiments. As another example, the determining step may be performed by performing a test, such as checking a data value to test whether the value matches a tested condition, according to one or more embodiments. Thus, one or more embodiments are not necessarily limited by the examples provided herein.

[0074] Figure 3 illustrates a method for rendering weather information for display according to one or more embodiments. In particular, Figure 3 illustrates a method for efficiently rendering portions of multiple grids with multiple altitude zones, as shown in Figure 15. The method illustrated in Figure 3 may be performed using a rendering engine, such as the rendering engine (166) of Figure 1.

[0075] Initially, user input (300) is received. The user input (300) indicates which portion of a plurality of elevation zones are to be displayed in the GUI. The user input (300) may be received in the form of a setting or as a specific command given when rendering is performed. The number of elevation zones to be shown may be predetermined or may be determined based on the camera point at which the GUI is rendered.

[0076] A rendering engine, such as rendering engine (166) of Figure 1, then receives input data from multiple altitude zones. In particular, preprocessor output (e.g., processed weather data from preprocessor (164) of Figure 1) for altitude zone 1 (302), altitude zone 2 (304), and altitude zone 3 (306) is received at the rendering engine.

[0077] The camera position (308) is received relative to a reference system established for the image to be rendered. With the accumulated pre-processing program results (per altitude) (310) stored in a data repository, the vertices and indices of a grid are drawn for each portion of the altitude zone to be rendered, such as vertices and indices (312), vertices and indices (314), vertices and indices (316), and vertices and indices (318). Camera intersection information (320) may also be taken into account. The rendered image is then rendered by a graphics processor unit (GPU), as shown in step (322).

[0078] Figures 4-15 show certain example screenshots of graphical user interfaces (GUIs) rendered according to the techniques described above with respect to Figures 1 and 2. Common reference numbers among Figures 4-15 refer to common objects having common definitions. The following examples are for illustrative purposes only and are not intended to limit the scope of other examples described herein. It should be noted that each of the screenshots shown in Figures 4-15 represents a different example of a rendered image, such as the rendered image (134) of Figure 1.

[0079] The GUI (400) is a screenshot taken from a camera point above and behind the reference point (402) and looking slightly to the left. The flight path (404) is shown. A grid (406) is shown for a selected altitude zone (408). The selected altitude zone (408) is shown on a slide bar (410) that the user can manipulate to select a different altitude zone.

[0080] As shown, grid (406) forms square sectors. The sectors are filled with sectors of different colors. Some sectors, such as sector (412), are colored one color to indicate the presence of some degree of maximum turbulence. In other sectors, such as sector (416), different colors are present. The different colors indicate the presence of a higher degree of turbulence. Thus, in both sector (412) and sector (416), turbulence is highlighted in the sector with different colors (hash patterns) representing the degree of turbulence.

[0081] Additional information may be presented in the GUI (400). For example, the current altitude and time may be shown in screen area (418). The time may reflect the time that the aircraft is expected to be in the indicated location. In other words, one or more embodiments contemplate showing the future projected location of the aircraft and the expected weather at that future location at a future time.

[0082] The selected altitude zone (408) may indicate the prevailing type of weather phenomenon, as well as the selected altitude zone. In this case, the selected altitude zone is 9000 feet, meaning that the shown grid (406) is at 9000 feet. Note that the selected altitude zone (408), and therefore the shown grid (406) (9000 feet), is different from the current altitude of the reference point (which is currently 15,000 feet, as shown in screen area (418)). Thus, the GUI (400) shows the reference point (402) as being above the grid (406).

[0083] Further information may be shown, such as ground topography (420), time and distance scales (422), the current flight plan (424), and user interaction icons, such as icon (426), icon (428), and icon (430). Further information may also be presented, and thus the example shown in FIG. 4 is not limiting.

[0084] Attention is now directed to Figure 5. The GUI (500) is similar to the GUI (400) shown in Figure 4. The difference between the two figures comes from the fact that the selected altitude zone (408) is shown at 13,000 feet in Figure 5, rather than 9,000 feet, as shown in Figure 4. The camera angle remains the same. Note that the reference point remains at 15,000.

[0085] However, some sectors have changed highlighting. For example, sector (500) is now highlighted to indicate the presence of more turbulence in sector (500) as compared to the same sector shown in Figure 4. In contrast, sector (502) is highlighted to indicate lower turbulence intensity as compared to the same sector shown in Figure 4. In other words, grid (506) shown in GUI (500) indicates the degree of turbulence at 13,000 feet as opposed to the degree of turbulence at 9,000 feet.

[0086] In one embodiment, the user selects which types of weather events are displayed as highlighted sectors in the grid (506), where the color, hash, or other highlighting of the sector represents the degree of intensity of the selected weather event.

[0087] In an alternative embodiment, only the most severe weather types are shown for the entire grid, or optionally for one or more sectors within the grid. By displaying only the most severe weather events in a sector of a selected altitude zone, a pilot can quickly review the most relevant weather information in various different altitude zones. Regardless of which technique is applied to display information about weather types, the information may be presented in a compact and efficient form on a small screen of a mobile device or on-board computer display.

[0088] Attention is now directed to Figure 6. In Figure 6, a newly selected altitude zone (408) has been selected to be at 15,000 feet. As shown in screen area (418), the reference point is at 15,000 feet. Thus, the selected altitude zone (408) is at the same altitude as the reference point (402).

[0089] A sub-region (600) is defined around the reference point (402) since the reference point (402) is obscured by the highlighting present in the sector in which the reference point (402) is located. Highlighting of sectors or portions of sectors within the sub-region (600) is avoided. Thus, the pilot can see the reference point (402), the flight path (404), and the landmarks (602) present within the sub-region (600). The sub-region (600) is surrounded by a solid line since the reference point (402) is inside the hidden weather within the sub-region (600).

[0090] FIG. 6 also shows that the most severe weather sector for a given weather type is different at 15,000 feet compared to the most severe weather sector for a given weather type at 9,000 feet or 13,000 feet. For example, sector (604) is highlighted to indicate that the most severe weather type in the 15,000 foot sector is turbulence. The color (represented by the hash) of sector (604) is a stronger shade (denser hash) than other sectors, such as sector (606), where turbulence is also present but less severe. In other words, in both sector (604) and sector (606), turbulence is the weather type being displayed. However, the turbulence in sector (604) is more severe than the turbulence in sector (606). Thus, additional relevant information can be shown on the sub-screen in a manner that can be quickly interpreted by the pilot.

[0091] Additionally, in sector (608), turbulence remains the illustrated weather type, however the different shading indicates that the turbulence in sector (608) is less severe than either sector (604) or sector (606).

[0092] In one embodiment, the user (or the rendering program) can select which type of weather phenomenon to display. So, for example, the user can switch from showing the turbulent weather type of Figure 6 to the icing weather type of Figure 6. Doing so causes the rendering engine to redraw the grid shown in Figure 6, but now with sectors highlighted according to the intensity of the icing condition.

[0093] In an alternative embodiment, only the most severe type of weather in a given sector is shown, so for example, if both icing and turbulence are present in a sector, but the turbulence is more severe, only the turbulence is shown.

[0094] In yet another alternative embodiment, multiple highlighting schemes may be used in a single sector. For example, one half of the sector (608) may use one color or highlighting scheme and the other half of the sector (608) may use a different color or highlighting scheme. This variation is not shown in FIG.

[0095] Attention is now directed to Figure 7, where the selected altitude zone (408) is 24,000 feet, which is higher than the altitude of reference point (402) at 15,000 feet. Note that because the selected camera point is behind hidden weather in sub-region (702), the scale of grid (700) is increased relative to the other grids to give the user a perspective that grid (700) is closest to the user.

[0096] Again, sub-region (702) is a region where sector highlighting is avoided, however unlike sub-region (600) shown in Figure 6, the rim of sub-region (702) is shown as a gradual gradient because the camera point is behind hidden weather within the sub-region.

[0097] Additionally, the shading or color indicating highlighting of sectors within grid (700) has been varied relative to the grids shown in Figures 4-6. In particular, it can be seen that the most severe weather type prevailing at 24,000 feet is icing conditions rather than turbulence at 15,000 feet where reference point (402) is flown (shown in Figure 6).

[0098] Another variation of one or more embodiments is also shown in FIG. 7. In particular, a highlighting (e.g., color, hash, etc.) of the most severe weather type may be applied to the current flight path (704) of the reference point (402). Thus, for example, the line representing the current flight path (704) is highlighted with the same highlighting (e.g., color) of the sector in which the reference point (402) is located in FIG. 6. Recall that in FIG. 6, the selected altitude is also the current altitude of the reference point (402). Referring back to FIG. 6, it can be inferred that the current sector in which the reference point (402) is located is a first highlighting type (e.g., "yellow") indicating that the most severe weather type in the sector in which the reference point (402) is located is turbulence. As seen in FIG. 7, the current flight path (704) has the same highlighting (e.g., "yellow"). Thus, the pilot can quickly see that at the current altitude of reference point (402), the most severe weather type is turbulence of a first particular intensity, but at the selected altitude zone (408) of Figure 7, turbulence is present but of a significantly lower second intensity. The pilot may therefore decide to change the flight plan and seek regulatory permission to increase the altitude of reference point (402) from 15,000 feet to 24,000 feet.

[0099] Attention is now directed to FIG. 8. In FIG. 8, the camera point has changed, but the selected altitude zone (408) remains at 24,000 feet relative to FIG. 7. In particular, the user has changed the camera point two feet below and to the left of the reference point (402) by dragging the screen or interacting with other widgets on the GUI. However, because the selected altitude zone (408) is the same in FIG. 8 as in FIG. 7, the grid (800) is the same as the grid (700) shown in FIG. 7, and carries the same sectors with the same highlighting. However, because the camera point has changed, the perspective of the grid (800) is different from the grid (700) in FIG. 7, even though the information in the two grids is the same.

[0100] For example, note how grid (800) appears from the new vantage point. Additionally, sub-area (702) shown in Figure 7 no longer exists in Figure 8 because reference point (402) is no longer within the weather type shown in grid (800). From the vantage point of the camera point shown in Figure 8, waypoint (802) is also visible.

[0101] Attention is now directed to Figure 9, where grid (900) is shown from yet a different camera point, rotated to the left relative to the camera point shown in Figure 8. Further, as shown in screen area (418), the current altitude of reference point (402) is 19,000 feet. However, the grid (900) shown is for selected altitude zone (408), which is 16,000 feet. Thus, while the altitude of reference point (402) has increased, the altitude of selected altitude zone (408) has decreased.

[0102] Due to the line of sight between the camera point and the reference point (402), the reference point (402) is obscured by the highlighting of the sector of the grid (900). Thus, a new subregion (904) is shown where the sector or part of the sector is not highlighted. In this example, the subregion (904), i.e., the cutout region, is a partial circle because the bottom of the subregion (904) is below the bottom surface of the grid (900) in the selected altitude zone (408). The shading or hash pattern of the sector of the grid (900) indicates that icing is the most severe weather type in the sector of the grid (900), with stronger colors or heavier hash patterns indicating more intense icing conditions in some sectors compared to others in the selected altitude zone (408).

[0103] Attention is now directed to Figure 10. As shown in screen area 418, the altitude of reference point 402 remains at 19,000 feet. However, now the selected altitude zone 408 is at 19,000 feet (i.e., the same altitude as reference point 402). Additionally, the camera point has been adjusted to be above reference point 402.

[0104] Thus, the grid (1000) is shown as looking down on the grid (1000). There are sub-regions (1002) where the sectors are not highlighted because the reference points (402) would otherwise be obscured by the highlighting. The grid within the sub-region (1002) is rendered, but sector highlighting is avoided within the sub-region (1002). The color, intensity, and hash type or hash intensity indicate the presence of various degrees of icing conditions as the most severe weather type in various sectors within the grid (1000).

[0105] Attention is now directed to Figure 11. As in Figure 10, the reference point (402) remains at 19,000 feet, and the selected altitude zone (408) remains at 19,000 feet. Thus, the grid (1100) is the same as the grid (1000) in terms of which sectors display what type of highlighting. However, in Figure 10, the camera point has changed, presumably by the user dragging the screen to rotate the camera point in three dimensions.

[0106] As a result, the rendered image of the grid (1100) is shown at a relatively shallow angle, so the non-highlighted sub-region (1102) is only partially circular and terminates at the upper boundary of the grid (1100).

[0107] Attention is now directed to Figure 12. As in Figures 10 and 11, the reference point (402) remains at 19,000 feet and the selected altitude zone (408) remains at 19,000 feet. However, the camera point has again changed, this time zoomed in closer to the reference point (402) relative to Figures 10 and 11. Because the camera point has been zoomed in, the sectors appear larger. However, the sectors in grid (1200) have the same highlighting pattern and represent the same relative physical area as the sectors in grid (1000) of Figure 10 and grid (1100) of Figure 11.

[0108] Again, highlighting in the grid (1200) is avoided in the sub-region (1202) because the highlighting in the grid (1200) would obscure the reference point (402). Note that the fly-path (1204) of the reference point (402) is therefore also visible in the sub-region (1202).

[0109] Attention is now directed to FIG. 13. As in FIGS. 10-12, the reference point (402) remains at 19,000 feet and the selected altitude zone (408) remains at 19,000 feet. However, the camera point has again changed, this time zoomed in more closely on the reference point (402) relative to FIG. 12. Because the camera point has been zoomed in, the sectors appear larger compared to FIG. 12. However, the sectors in grid (1300) have the same highlighting pattern and represent the same relative physical area as the sectors in grid (1000) of FIG. 10, grid (1100) of FIG. 11, and grid (1200) of FIG. 12.

[0110] However, in FIG. 13, the camera point is zoomed in very close to the reference point (402), so that the camera point is in the grid (1300). Thus, the entire rendered grid (1300) is shown without highlighting. In fact, in the example of FIG. 13, the entire grid is shown to be within the sub-region, so highlighting is avoided. Nevertheless, highlighted bars, such as highlighted bar (1304), can be rendered next to the lines and vertices (1306) to visually indicate the highest intensity weather type associated with a given sector. Note that the highlighted region (1308) represents the flight path of the reference point (402) and takes up more area on the screen because the camera point is zoomed in to the reference point (402).

[0111] Attention is now directed to Figure 14. In Figure 14, the reference point (402) remains at 19,000 feet. However, now the selected altitude zone (408) is 23,000 feet (i.e., above the reference point (402)). Additionally, the camera point has been moved below the reference point (402) and has been zoomed out relative to the view shown in Figure 13.

[0112] Thus, grid (1400) is shown above reference point (402). Reference point (402) is not obscured by the highlighting of the sector of grid (1400), so there are no sub-regions without highlighting in the example of FIG. 14. Again, the type of highlighting indicates the type and relative intensity of the most intense weather phenomenon in any given sector. In the example of FIG. 14, icing conditions again prevail across the sector of grid (1400). However, the different highlighting indicates that icing conditions are more intense in certain sectors than in others.

[0113] Other information is shown, such as a highlighted plane (1402) showing the flight path of the reference point (402). Waypoints (1404) along the flight path are also shown.

[0114] Attention is now directed to Figure 15. In the example of Figure 15, the reference point (402) is at 6,004 feet and is descending as shown by the flight path (1500). The selected altitude zone (408) is 6,000 feet, which is the altitude zone selected for the current altitude of the reference point (402).

[0115] Figure 15 shows that multiple grids can be shown, especially when the reference point (402) is ascending or descending. The examples of Figures 4-14 showed the reference point (402) on a cruise flight path.

[0116] Thus, as shown in FIG. 15, the grid (1502) need not all be displayed in the selected altitude zone (408). Instead, each grid row can display the most severe weather conditions in the subsequent or previous grid relative to the flight path (1500) of the reference point (402). The result is a stepped grid that is useful for the pilot to see the most severe weather types that he should expect while following the flight path (1500) that he just flew. In this example, the highlighting reflects the turbulent conditions during the climb. Looking at the GUI in FIG. 15, the pilot can easily see that the turbulent conditions are relatively constant and therefore the conditions during the climb should be similar to those the pilot has already flown.

[0117] To render the grid (1502), the rendering engine creates a series of grids in different altitude zones centered around the selected altitude zone (408). Thus, for example, a 1×9 grid is created for each altitude zone behind and ahead of the selected altitude zone (408) for the flight path (1500). The highlighting in each sector reflects the type of most severe weather conditions in that particular sector. For any given sector, for a given altitude, the steps in the grid (1502) indicate the most severe weather type expected as the reference point (402) descends through the altitude zones.

[0118] Again, the highlighting in at least some sectors would obscure the reference point (402), so a sub-region (1504) is drawn around the reference point (402). Highlighting is avoided in sectors within the sub-region (1504) to more clearly show the reference point (402) and the flight path (1500). Additionally, the underlying terrain (1506) is also visible within the sub-region (1504). In this example, the underlying terrain (1506) is water, as the aircraft is approaching the landing runway over an adjacent body of water.

[0119] Still other variations are possible. Thus, one or more embodiments are not limited by the exemplary GUI screenshots shown in FIGS. 4-15. Other variations are possible, including different sized sub-regions, a grid that steps downward during descent (rather than upward during ascent as shown in FIG. 15), highlighting of multiple types in a single sector, etc. In yet another variation, a user can input the types of weather phenomena that the user would like highlighted in the grid. Thus, for example, a user need not see only the most intense weather type in a sector, but can see the intensity changes in a user selected weather type (e.g., icing conditions). Many other variations are possible.

[0120] 16A and 16B are examples of computing systems and networks according to one or more embodiments. The embodiments may be implemented on a computing system specifically designed to achieve improved technical results. When implemented in a computing system, the features and elements of the present disclosure provide significant technological advances over computing systems that do not implement the features and elements of the present disclosure. Any combination of mobile, desktop, server, router, switch, embedded device, or other type of hardware may be improved by including the features and elements described in the present disclosure. For example, as shown in FIG. 16A, a computing system (1600) may include one or more computer processors (1602), a non-persistent storage device (1604) (e.g., volatile memory such as random access memory (RAM), cache memory, etc.), a persistent storage device (1606) (e.g., hard disk, optical drive such as compact disc (CD) drive or digital versatile disc (DVD) drive, flash memory, etc.), a communication interface (1608) (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), and numerous other elements and functions that implement the features and elements of the present disclosure.

[0121] The computer processor (1602) may be an integrated circuit for processing instructions. For example, the computer processor (1602) may be one or more cores or micro-cores of a processor. The computing system (1600) may also include one or more input devices (1610), such as a touch screen, a keyboard, a mouse, a microphone, a touch pad, an electronic pen, or any other type of input device.

[0122] The communications interface (1608) may include integrated circuits for connecting the computing system (1600) to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a mobile network, or any other type of network) and / or to another device, such as another computing device.

[0123] Additionally, the computing system (1600) may include one or more output devices (1612), such as a screen (e.g., a liquid crystal display (LCD), plasma display, touch screen, cathode ray tube (CRT) monitor, projector, or other display device), printer, external storage device, or any other output device. One or more of the output devices (1612) may be the same as or different from the input device (1610). The input and output devices (1610 and 1612) may be locally or remotely connected to the computer processor (1602), the non-persistent storage device (1604), and the persistent storage device (1606). Many different types of computing systems exist, and the aforementioned input and output devices (1610 and 1612) may take other forms.

[0124] Software instructions in the form of computer readable program code for carrying out the embodiments may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer readable medium such as a CD, DVD, storage device, diskette, tape, flash memory, physical memory, or any other computer readable storage medium. In particular, the software instructions may correspond to computer readable program code that, when executed by a processor, is configured to carry out one or more embodiments.

[0125] The computing system (1600) of FIG. 16A may be connected to a network or may be part of a network. For example, as shown in FIG. 16B, the network (1620) may include multiple nodes (e.g., node X (1622), node Y (1624)). Each node may correspond to a computing system such as the computing system (1600) shown in FIG. 16A, or a group of nodes combined may correspond to the computing system (1600) shown in FIG. 16A. As an example, the embodiment may be implemented on a node of a distributed system connected to other nodes. As another example, the embodiment may be implemented on a distributed computing system having multiple nodes, with each part being located on a different node in the distributed computing system. Furthermore, one or more elements of the computing system (1600) described above may be located at a remote location and connected to other elements via a network.

[0126] Although not shown in FIG. 16B, a node may correspond to a blade in a server chassis connected to other nodes via a backplane. As another example, a node may correspond to a server in a data center. As another example, a node may correspond to a computer processor or micro-core of a computer processor having shared memory and / or shared resources.

[0127] Nodes in the network (1620) (e.g., node X (1622), node Y (1624)) may be configured to provide services to client devices (1626). For example, the nodes may be part of a cloud computing system. The nodes may include functionality to receive requests from and send responses to the client devices (1626). The client devices (1626) may be computing systems, such as the computing system (1600) illustrated in FIG. 16A. Additionally, the client devices (1626) may include and / or execute all or a portion of one or more embodiments.

[0128] The computing system (1600) or group of computing systems depicted in Figures 16A and 16B may include functionality to perform various operations disclosed herein. For example, the computing system may perform communication between processes on the same or different systems. Various mechanisms employing some form of active or passive communication may facilitate the exchange of data between processes on the same device. Examples representing these inter-process communications include, but are not limited to, implementations of files, signals, sockets, message queues, pipelines, semaphores, shared memory, message passing, and memory-mapped files. Further details regarding some of these non-limiting examples are provided below.

[0129] Based on the client-server networking model, a socket can serve as an interface or communication channel endpoint that enables bidirectional data transfer between processes on the same device. First, according to the client-server networking model, a server process (e.g., a process that provides data) can create a first socket object. Then, the server process binds the first socket object, thereby associating the first socket object with a unique name and / or address. After creating and binding the first socket object, the server process waits and listens for incoming connection requests from one or more client processes (e.g., processes seeking data). At this point, if the client process wants to obtain data from the server process, the client process starts by creating a second socket object. The client process then proceeds to generate a connection request that includes at least the second socket object and the unique name and / or address associated with the first socket object. The client process then sends the connection request to the server process. Depending on availability, the server process can accept the connection request and establish a communication channel with the client process, or a server process that is busy processing other operations can queue the connection request in a buffer until the server process is ready. The established connection notifies the client process that communication may begin. In response, the client process may generate a data request that specifies the data the client process would like to obtain. The data request is then sent to the server process. Upon receiving the data request, the server process analyzes the request and collects the requested data. Finally, the server process generates a response that includes at least the requested data and sends the response to the client process. Data may more commonly be transferred as datagrams or as a stream of characters (e.g., bytes).

[0130] Shared memory refers to the allocation of virtual memory space to demonstrate a mechanism by which data may be communicated and / or accessed by multiple processes. In implementing shared memory, an initialization process first creates a shareable segment in a persistent or non-persistent storage device. After creation, the initialization process mounts the shareable segment, and subsequently maps the shareable segment into an address space associated with the initialization process. Following mounting, the initialization process proceeds to identify and grant access permissions to one or more authorized processes that may also write data to and read data from the shareable segment. Changes made to data in the shareable segment by one process may immediately affect other processes that are also linked to the shareable segment. Furthermore, when one of the authorized processes accesses the shareable segment, the shareable segment is mapped into the address space of that authorized process. Often, at any given time, only one authorized process other than the initialization process may mount the shareable segment.

[0131] Other techniques can be used to share data between processes, such as the various data described in this application, without departing from the scope. The processes may be part of the same or different applications and may run on the same or different computing systems.

[0132] Rather than or in addition to sharing data between processes, a computing system implementing one or more embodiments may include functionality for receiving data from a user. For example, in one or more embodiments, a user may submit data via a graphical user interface (GUI) on a user device. Data may be submitted via a graphical user interface by a user selecting one or more graphical user interface widgets or by inserting text and other data into a graphical user interface widget using a touchpad, keyboard, mouse, or any other input device. In response to a selection of a particular item, information about the particular item may be retrieved by a computer processor from persistent or non-persistent storage. When a user selects an item, the contents of the retrieved data about the particular item may be displayed on the user device in response to the user's selection.

[0133] As another example, a request to obtain data regarding a particular item may be sent to a server operatively connected to the user device over a network. For example, a user may select a Uniform Resource Locator (URL) link in a web client of the user device, thereby initiating a Hypertext Transfer Protocol (HTTP) or other protocol request that is sent to a network host associated with the URL. In response to the request, the server may extract data regarding the particular selected item and transmit the data to the device that initiated the request. Once the user device receives the data regarding the particular item, the contents of the received data regarding the particular item may be displayed on the user device in response to the user's selection. In addition to the above examples, data received from the server after selecting the URL link may provide a web page in Hypertext Markup Language (HTML) that may be rendered by the web client and displayed on the user device.

[0134] Once data is acquired, such as using the techniques described above or from a storage device, a computing system, in performing one or more embodiments, can extract one or more data items from the acquired data. For example, the extraction may be performed by the computing system (1600) of FIG. 16A as follows: First, an organizational pattern (e.g., grammar, schema, layout) of the data is determined, which may be based on one or more of position (e.g., bit or string position, Nth token in a data stream, etc.), attribute (attribute is associated with one or more values), or hierarchical / tree structure (consisting of layers of nodes at different levels, such as nested packet headers or nested document sections). Next, the raw, unprocessed stream of data symbols is parsed into a stream (or hierarchical structure) of tokens (each token may have an associated token "type") in the context of the organizational pattern.

[0135] The extraction criteria are then used to extract one or more data items from the token stream or structure, and the extraction criteria are processed according to an organizational pattern to extract one or more tokens (or nodes from a hierarchical structure). In the case of position-based data, tokens at the positions identified by the extraction criteria are extracted. In the case of attribute / value-based data, tokens and / or nodes associated with attributes that satisfy the extraction criteria are extracted. In the case of hierarchical data, tokens associated with nodes that match the extraction criteria are extracted. The extraction criteria may be as simple as an identifier string, or may be a query presented to a structured data repository (the data repository may be organized according to a database schema or data format such as eXtensible Markup Language (XML)).

[0136] The extracted data can be used for further processing by a computing system. For example, the computing system (1600) of FIG. 16A can perform data comparison while executing one or more embodiments. Data comparison can be used to compare two or more data values (e.g., A, B). For example, one or more embodiments can determine whether A > B, A = B, A!= B, A < B, etc. The comparison can be performed by submitting A, B, and an opcode specifying the operation related to the comparison to an arithmetic logic unit (ALU) (i.e., a circuit that performs arithmetic logic operations and / or bitwise logic operations on two data values). The ALU outputs a numerical result of the operation and / or one or more status flags related to the numerical result. For example, the status flag can indicate whether the numerical result is a positive number, a negative number, 0, etc. The comparison can be performed by selecting an appropriate opcode and then reading the numerical result and / or the status flag. For example, to determine whether A > B, A can be subtracted from B (i.e., A - B), and the status flag can be read to determine whether the result is positive (i.e., if A > B, then A - B > 0). In one or more embodiments, B may be regarded as a threshold value, and A is regarded as meeting the threshold value if A = B or A > B as determined using the ALU. In one or more embodiments, A and B may be vectors, and to compare A and B, it is necessary to compare the first element of vector A with the first element of vector B, the second element of vector A with the second element of vector B, etc. In one or more embodiments, if A and B are strings, the binary values of the strings can be compared.

[0137] The computing system (1600) of FIG. 16A may implement and / or be connected to a data repository. For example, one type of data repository is a database. A database is a collection of information configured to facilitate retrieval, modification, reorganization, and deletion of data. A database management system (DBMS) is a software application that provides an interface for a user to define, create, query, update, or manage a database.

[0138] A user or software application can submit a statement or query to the DBMS. The DBMS then interprets the statement. The statement may be a select statement, an update statement, a create statement, a delete statement, etc. to request information. Furthermore, the statement may include parameters that specify data, data containers (databases, tables, records, columns, views, etc.), identifiers, conditions (comparison operators), functions (e.g., join, exact join, count, average, etc.), sorts (e.g., ascend, descend), etc. The DBMS can execute the statement. For example, the DBMS can access memory buffers, references, or indexes of files for reading, writing, deleting, or any combination thereof, to respond to the statement. The DBMS can load data from persistent or non-persistent storage and perform calculations to respond to the query. The DBMS can return the results to the user or software application.

[0139] The computing system (1600) of FIG. 16A may include functionality for presenting raw data and / or processed data, such as the results of comparisons and other processing. For example, presenting data may be accomplished by a variety of presentation methods. Specifically, data may be presented via a user interface provided by the computing device. The user interface may include a GUI that displays information on a display device, such as a computer monitor or a touch screen on a handheld computing device. The GUI may include various GUI widgets that organize what data is displayed as well as how the data is presented to the user. Additionally, the GUI may present data directly to the user, e.g., data presented as actual data values ​​via text, or data rendered into a visual representation of the data by the computing device, such as by visualizing a data model.

[0140] For example, the GUI may first obtain a notification from a software application requesting that a particular data object be presented within the GUI. Next, the GUI may determine the data object type associated with the particular data object, for example, by obtaining data from a data attribute within the data object that identifies the data object type. The GUI may then determine according to any rules specified for displaying that data object type, for example rules specified by a software framework for the data object class, or any local parameters defined by the GUI for presenting that data object type. Finally, the GUI may obtain a data value from the particular data object and render a visual representation of the data value within a display device according to the specified rules for that data object type.

[0141] The data may also be presented by various audio methods: in particular, the data can be rendered into an audio format and presented as sound via one or more speakers operatively connected to the computing device.

[0142] The data may also be presented to the user via haptic methods. For example, haptic methods may include vibrations or other physical signals generated by the computing system. For example, the data may be presented to the user using vibrations generated by a handheld computing device having a predetermined duration and intensity of the vibration to communicate the data.

[0143] The above description of functions presents only some examples of functions performed by the computing system (1600) of Figure 16A and the nodes (e.g., node X (1622), node Y (1624)) and / or client device (1626) of Figure 16B. Other functions may be performed using one or more embodiments. Further illustrative, non-exclusive examples according to the present disclosure are described in the following paragraphs.

[0144] One example according to the present disclosure is a method for presenting weather data on a graphical user interface (GUI), the method comprising: assigning a corresponding intensity rank to each of a plurality of weather phenomena, the plurality of weather phenomena being based on meteorological data, and at least one of the plurality of weather phenomena being within at least one of a plurality of elevation zones defined with respect to a physical region centered about a reference point; dividing each of a plurality of elevation zones into a corresponding grid defined relative to the physical area, each corresponding grid including a corresponding sector defined by corresponding lines and vertices; assigning to each of the corresponding sectors within the plurality of altitude zones a corresponding highest intensity ranking weather event present in the corresponding sector; receiving a selection of a selected altitude zone from among a plurality of altitude zones; generating a rendered image by rendering a corresponding grid of selected elevation zones; and displaying the rendered image on the GUI.

[0145] Optionally, in the method of the previous paragraph, the rendering step comprises: Rendering corresponding lines and vertices of the selected elevation zones; and rendering corresponding sectors of the selected altitude zone, the step including highlighting each of the corresponding sectors according to a corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors of the selected altitude zone.

[0146] Optionally, in the method of the preceding paragraph, determining a position of a camera point relative to a reference point prior to generating a corresponding sector of a selected altitude zone, the camera point being a virtual point selected in a physical region of one of the plurality of altitude zones; determining whether a view of the corresponding grid from the camera point towards the reference point is occluded by the highlighted sector of the corresponding sector; responsive to determining that the viewpoint is occluded by the highlighting, defining a sub-region in a corresponding grid; As part of the step of rendering the corresponding sectors, the method further includes the step of avoiding highlighting each of the corresponding sectors in a sub-region of the corresponding grid. Optionally, in the method of the preceding paragraph, Prior to the step of displaying the rendered image in the GUI, the method further includes the step of rendering additional information about the aircraft within a sub-region in the corresponding grid and at a determinable position relative to the rendered image.

[0147] Optionally, in the method of the previous paragraph, the additional information is selected from the group consisting of an icon of the reference point, an icon of the aircraft, the flight path of the aircraft, the altitude of the aircraft, the speed of the aircraft, a waypoint along the intended flight path of the aircraft, a destination of the aircraft, a landmark on the surface below the reference point, and combinations thereof.

[0148] Optionally, in the method of the previous paragraph, the camera point is in an altitude zone different from the selected altitude zone.

[0149] Optionally, in the method of the preceding paragraph, receiving a new camera point after displaying the new camera point; determining whether a new view of the corresponding grid from the new camera point towards the reference point is occluded by a different highlighted sector of the corresponding sector; responsive to determining that the new viewpoint is occluded by the highlighting, defining a new sub-region within the corresponding grid; and avoiding highlighting each of the corresponding sectors in a new sub-region within the corresponding grid as part of the step of rendering the corresponding sectors.

[0150] Optionally, in the method of the previous paragraph, the sub-region comprises a circle or a sphere.

[0151] Optionally, in the method of the preceding paragraph, The method further includes rendering only the corresponding grid within the sub-region.

[0152] Optionally, in the method of the preceding paragraph, rendering the rim of the subregion as a gradual gradient when the camera point is behind an obscured object in the subregion; and rendering the rim of the sub-region as a solid line when the reference point is inside hidden weather within the sub-region.

[0153] Optionally, in the method of the preceding paragraph, The method further includes the step of rendering additional information regarding the reference points by overlaying them on a corresponding grid prior to the step of displaying the rendered image on the GUI.

[0154] Optionally, in the method of the previous paragraph, the highlighting is indicated by color, and at least two different sectors within a corresponding sector have at least two different colors to indicate different highest strength rankings within the at least two different sectors.

[0155] Optionally, in the method of the preceding paragraph, Further comprising the step of further rendering the corresponding sector according to the type of weather in the corresponding sector.

[0156] Optionally, in the method of the previous paragraph, the type of weather is rendered as a change in highlighting.

[0157] Optionally, in the method of the previous paragraph, the highlighting is indicated by color, and at least two different sectors in the corresponding sector have at least two different colors to indicate different highest strength rankings in the at least two different sectors, and the method further comprises: The method further includes a step of further rendering the corresponding sector according to a type of weather in the corresponding sector, the type of weather being rendered as a change in highlighting by changing at least one of an intensity, transparency, or shading of at least two different colors.

[0158] Optionally, in the method of the previous paragraph, the corresponding lines and vertices form one of a square grid, a hexagonal grid, a triangular grid, a radial grid, an unstructured mesh grid, and a curved grid.

[0159] Optionally, in the method of the previous paragraph, the rendered image includes a first rendered image, and the method further comprises: receiving a second selection of a newly selected altitude zone; generating a new rendered image by rendering a corresponding grid of the newly selected elevation zone after receiving the newly selected elevation zone, the rendering step including: rendering the corresponding lines and vertices of the newly selected elevation zone; rendering corresponding sectors of the newly selected altitude zone, the step including highlighting each of the corresponding sectors according to a corresponding highest intensity ranking weather event present in each of the corresponding sectors of the newly selected altitude zone; ceasing the display of the first rendered image; and displaying the new rendered image in the GUI.

[0160] Optionally, in the method of the previous paragraph, a weather phenomenon in the plurality of weather phenomena is selected from the group consisting of clear skies, icing conditions, turbulence, cross winds, cloud layer, cloud base, temperature, wind speed, and combinations thereof.

[0161] In one example according to the present disclosure, a system includes: A processor; a communication device connected to the processor; connected to the processor, weather data representative of a plurality of weather phenomena present in at least one of a plurality of elevation zones of a physical region centered around a reference point; a corresponding intensity rank assigned to each of the plurality of weather phenomena; a corresponding grid defined for each physical area of ​​the plurality of elevation zones, the corresponding grid including corresponding sectors defined by corresponding lines and vertices; the corresponding highest intensity ranking weather events present in each of the corresponding sectors; A selected altitude zone among several altitude zones, and a non-transitory computer readable storage medium storing a rendered image including a corresponding grid of selected elevation zones, the corresponding grid of selected elevation zones including corresponding lines and vertices and corresponding sectors highlighted according to a corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors of the selected elevation zones; Receive weather data from the communication device; assigning a corresponding intensity rank to each of a number of weather phenomena; Dividing each of a plurality of altitude zones into a corresponding grid; assigning to each of the corresponding sectors of the plurality of elevation zones a corresponding highest intensity ranking weather phenomenon present in the corresponding sector; a preprocessing program executable by the processor to receive a selection of a selected altitude zone; Rendering a corresponding grid of the selected elevation zone by rendering corresponding lines and vertices of the selected elevation zone; Rendering corresponding sectors of a selected altitude zone by highlighting each of the corresponding sectors according to a corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors of the selected altitude zone. a rendering engine executable by a processor configured to generate a rendered image; a display device connected to the processor for displaying the rendered image; Equipped with.

[0162] One example according to the present disclosure is a non-transitory computer-readable storage medium storing computer usable program code that, when executed by a processor, performs a computer-implemented method for presenting weather data on a graphical user interface (GUI), the computer-implemented method comprising: receiving weather data, the weather data representing a plurality of weather phenomena, at least one of the plurality of weather phenomena being present in at least one of a plurality of altitude zones of a physical region centered about a reference point; assigning a corresponding intensity rank to each of a plurality of weather events; dividing each of a plurality of elevation zones into a corresponding grid defined relative to the physical area, each corresponding grid including a corresponding sector defined by corresponding lines and vertices; assigning to each of the corresponding sectors within the plurality of altitude zones a corresponding highest intensity ranking weather event present in the corresponding sector; receiving a selection of a selected altitude zone from among a plurality of altitude zones; generating a rendered image by rendering a corresponding grid of selected elevation zones; Steps to display the rendered image in the GUI Includes.

[0163] While the embodiments have been described with respect to a limited number of embodiments, it will be appreciated that one of ordinary skill in the art, having the benefit of this disclosure, may devise other embodiments that do not depart from the scope of the present disclosure, which should therefore be limited only by the scope of the appended claims. [Explanation of symbols]

[0164] 100 Data Repositories 102 Weather Data 104 Weather Phenomenon A 106 Weather Phenomenon B 108 altitude zones 110 Altitude Zone 1 112 Altitude Zone 2 114 Strength Rank 1 116 Strength Rank 2 118 Corresponding Grid 120 Grid 1 122 Grid 2 124 Sector 1 126 Sector 2 128 Weather phenomenon of highest intensity ranking1 130 Weather phenomenon of highest intensity ranking 2 132 Selected altitude zone 134 Rendered Images 136 Sector 3 138 Highlighting method A 140 Sector 4 142 Highlighting method B 144 Sector 5 146 Highlighting method C 148 Reference point 150 Landmarks 152 waypoints 154 Other Information 156 processors 158 Communication Devices 160 Display Devices 162 Bus 164 Pre-processing Program 166 Rendering Engine 300 User Input 302 Altitude Zone 1 304 Altitude Zone 2 306 Altitude Zone 3 308 Camera position 310 Accumulated pre-processing program results 312 Vertices and Indices 314 Vertices and Indices 316 Vertices and Indices 318 Vertices and Indices 320 Camera Crossing Information 400 Graphical User Interface (GUI) 402 Reference point 404 Flight Path 406 Grid 408 Selected altitude zone 410 Slide bar 412 sectors 416 sectors 418 screen area 420 Ground terrain 422 Time and Distance Scales 424 Current Flight Plan 426 Icons 428 Icons 430 Icons 500 GUI 502 sectors 506 Grid 600 sub-areas 602 Landmark 604 sectors 606 sectors 608 sectors 700 Grid 702 Sub-area 704 Current Flight Path 800 Grid 802 Waypoints 900 Grid 904 Sub-area 1000 Grid 1002 Sub-area 1100 Grid 1102 Sub-area 1200 Grid 1202 Sub-area 1204 Flight Path 1300 Grid 1304 Highlighted Bar 1306 Lines and Vertices 1308 Highlighted Area 1400 Grid 1402 Highlighted Plane 1404 Waypoints 1500 Flight Paths 1502 Grid 1504 Sub-area 1506 Terrain below 1600 Computing System 1602 Computer Processor 1604 Non-persistent storage devices 1606 Persistent Storage Devices 1608 Communication Interface 1610 Input Devices 1612 Output Device 1620 Network 1622 Node X 1624 Node Y 1626 client devices

Claims

1. 1. A method for presenting weather data on a graphical user interface (GUI), comprising: assigning (202) a corresponding intensity rank to each of a plurality of weather phenomena, the plurality of weather phenomena being based on the weather data, and at least one of the plurality of weather phenomena being in at least one of a plurality of elevation zones defined for a physical region centered about a reference point; dividing (204) each of the plurality of elevation zones into a corresponding grid defined relative to the physical area, each corresponding grid including a corresponding sector defined by corresponding lines and vertices; assigning (206) to each of the corresponding sectors within the plurality of altitude zones a corresponding highest intensity ranking weather event present in the corresponding sector; receiving (208) a selection of an elevation zone selected from the plurality of elevation zones; generating (210) a rendered image by rendering the corresponding grid of the selected elevation zones; displaying the rendered image on the GUI (212); The method includes:

2. The rendering step comprises: Rendering (200B) the corresponding lines and vertices of the selected elevation zones; Rendering (202B) the corresponding sectors of the selected altitude zones, the rendering (202B) including highlighting each of the corresponding sectors of the selected altitude zones according to the corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors of the selected altitude zones; The method of claim 1, further comprising:

3. determining (200C) a position of a camera point relative to the reference point before generating the corresponding sector of the selected altitude zone, the camera point being a virtual point selected in the physical area of ​​one of the altitude zones; determining (202C) whether a view of the corresponding grid from the camera point towards the reference point is obstructed by the highlighted sector of the corresponding sector; responsive to determining that the viewpoint is occluded by the highlighting, defining a sub-region in the corresponding grid (204C); avoiding highlighting each of the corresponding sectors in the sub-region within the corresponding grid as part of the step of rendering the corresponding sectors (206C); The method of claim 2, further comprising:

4. 4. The method of claim 3, further comprising the step of rendering (208C) additional information regarding an aircraft located within the sub-region in the corresponding grid and in a position determinable relative to the rendered image prior to the step of displaying the rendered image in the GUI.

5. 5. The method of claim 4, wherein the additional information is selected from the group consisting of an icon of the reference point, an icon of the aircraft, a flight path of the aircraft, an altitude of the aircraft, a speed of the aircraft, a waypoint along the intended flight path of the aircraft, a destination of the aircraft, a landmark on a surface below the reference point, and combinations thereof.

6. the camera point is in an altitude zone different from the selected altitude zone; receiving a new camera point after displaying the new camera point (200D); determining (202D) whether a new view of the corresponding grid from the new camera point towards the reference point is occluded by a different highlighted sector of the corresponding sector; responsive to determining that the new viewpoint is occluded by highlighting, defining (204D) a new sub-region within the corresponding grid; avoiding highlighting each of the corresponding sectors in the new sub-region within the corresponding grid as part of the step of rendering the corresponding sectors (206D); 4. The method of claim 3, further comprising:

7. the sub-region comprises a circle or a sphere; rendering only the corresponding grid within the sub-region; rendering (200E) the rim of the sub-region as a gradual gradient when the camera point is behind hidden weather within the sub-region; rendering (202E) the rim of the sub-region as a solid line when the reference point is inside the hidden weather in the sub-region; 4. The method of claim 3, further comprising:

8. prior to the step of displaying the rendered image on the GUI, rendering additional information regarding the reference points by overlaying them on the corresponding grid; the highlighting is indicated by color, and at least two different sectors within the corresponding sectors have at least two different colors to indicate different highest strength rankings within the at least two different sectors; The method of claim 2 , further comprising the step of further rendering the corresponding sector according to a type of weather within the corresponding sector.

9. The method of claim 8 , wherein the type of weather is rendered as a change in the highlighting.

10. The highlighting is indicated by color, and at least two different sectors within the corresponding sectors have at least two different colors to indicate different highest strength rankings within the at least two different sectors, and the method further comprises:

3. The method of claim 2, further comprising: further rendering the corresponding sector according to a type of weather in the corresponding sector, the type of weather being rendered as a change in the highlighting by changing at least one of an intensity, a transparency, or a shading of the at least two different colors.

11. The method of claim 2 , wherein the corresponding lines and vertices form one of a square grid, a hexagonal grid, a triangular grid, a radial grid, an unstructured mesh grid, and a curved grid.

12. The rendered image includes a first rendered image, and the method further comprises: receiving (200F) a second selection of a newly selected altitude zone; generating a new rendered image by rendering the corresponding grid of the newly selected elevation zones after receiving the newly selected elevation zones (202F), the rendering step comprising: Rendering (204F) the corresponding lines and vertices of the newly selected elevation zone; Rendering the corresponding sectors of the newly selected altitude zones, the rendering comprising highlighting each of the corresponding sectors according to the corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors of the newly selected altitude zones; ceasing display of the first rendered image; displaying the new rendering image on the GUI; 3. The method of claim 2, further comprising:

13. 13. The method of claim 1, wherein the weather phenomenon in the plurality of weather phenomena is selected from the group consisting of clear skies, icing conditions, turbulence, crosswinds, cloud layers, cloud bases, temperature, wind speed, and combinations thereof.

14. A processor; a communication device coupled to the processor; a processor connected to said processor; weather data (102) representing a plurality of weather phenomena (104, 106) present in at least one of a plurality of elevation zones (108) of a physical region centered around a reference point; a corresponding intensity rank (114, 116) assigned to each of said plurality of weather events (104, 106); a corresponding grid defined for the physical area of ​​each of the plurality of altitude zones (108, 110, 112), the corresponding grid including corresponding sectors defined by corresponding lines and vertices; a corresponding highest intensity ranking weather event (128, 130) present in each of said corresponding sectors; an elevation zone (132) selected from the plurality of elevation zones (108, 110, 112); and a rendered image including a corresponding grid of the selected altitude zones (132), the corresponding grid of the selected altitude zones (132) including corresponding lines and vertices and corresponding sectors (206F) highlighted according to the corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors of the selected altitude zones. A non-transitory computer readable storage medium storing the receiving the weather data from the communication device (158); assigning each of the plurality of weather events (104, 106) to a corresponding intensity rank (114, 116); Dividing each of said plurality of elevation zones (108, 110, 112) into said corresponding grid (118); assigning to each of the corresponding sectors of the plurality of altitude zones (108, 110, 112) the weather phenomenon of the corresponding highest intensity rank (114, 116) present in the corresponding sector (124, 126, 136, 140, 144); receiving a selection of said selected altitude zone (132); A pre-processing program executable by the processor as described above; Rendering (200B) the corresponding grid of the selected elevation zones by rendering the corresponding lines and vertices of the selected elevation zones; Rendering the corresponding sectors of the selected altitude zones by highlighting each of the corresponding sectors according to the corresponding highest intensity ranking weather phenomenon present in each of the corresponding sectors of the selected altitude zone (202B). a rendering engine configured to generate the rendered image (134) and executable by the processor; a display device (160) coupled to the processor and configured to display the rendered image; A system comprising:

Citation Information

Patent Citations

  • Displaying method for result of environmental influence prediction

    JP1998132955A

  • Distribution data display device, method, and program

    JP2014215731A

  • Vertical situation display of weather information

    US20100057362A1

  • System and method for graphically displaying weather hazards in a perspective view

    US20140331161A1

  • Vertical profile display including weather icons

    US20160011741A1