Visualizing weather phenomena along a path in three dimensions

CN114078178BActive Publication Date: 2026-08-18THE BOEING CO
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110870408.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-08-21
Filing Date
2021-07-30
Publication Date
2026-08-18
Estimated Expiration
2041-07-30

AI Technical Summary

Technical Problem

另外,飞行器上的一些显示装置可能是移动装置,它们在渲染这样的信息时会消耗不希望的电量

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114078178B_ABST
    Figure CN114078178B_ABST
Patent Text Reader

Abstract

The present disclosure relates to visualizing weather phenomena along a path in three dimensions. In particular, to a method of presenting weather data representing weather events on a graphical user interface (GUI). Weather data is received. At least one of the weather events is present in at least one of a plurality of altitude bands of a physical area centered on a reference point. A corresponding intensity level is assigned to each of the weather events. Each of the altitude bands is divided into a corresponding grid defined for the physical area. Each corresponding grid has a corresponding tile defined by a corresponding line and vertex. A corresponding highest intensity ranked weather event present in a corresponding tile is assigned to each of the corresponding tiles of the altitude band. A selection of a selected altitude band among the altitude bands is received. A rendered image is generated by rendering the corresponding grid of the selected altitude band. The rendered image is displayed on the GUI.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to visualizing weather phenomena along a path in three dimensions. Background Technology

[0002] When piloting an aircraft, it is difficult to clearly display the desired amount of weather information at multiple altitudes on small displays. Furthermore, some displays on the aircraft may be mobile devices, consuming unwanted power while rendering such information. Summary of the Invention

[0003] This paper describes a method for presenting weather data on a graphical user interface (GUI). The method includes the following steps: assigning corresponding intensity levels to individual weather events in a weather event. The weather event is based on weather data. At least one weather event exists in at least one of multiple altitude zones defined for a physical area centered on a reference point. The method further includes the following steps: dividing each altitude zone into corresponding grids defined for the physical area. Each corresponding grid has a corresponding sector defined by corresponding lines and vertices. The method further includes the following steps: assigning the existing highest intensity level weather event in the corresponding sector to each corresponding sector in the corresponding sector of the altitude zone. The method further includes the following steps: receiving a selection of a selected altitude zone. The method further includes the following steps: generating a rendered image by rendering the corresponding grid of the selected altitude zone. The method further includes the following steps: displaying the rendered image on the GUI.

[0004] This document also describes a system. The system includes: a processor, a communication device connected to the processor, and a non-transitory computer-readable storage medium coupled to the processor. The non-transitory computer-readable storage medium stores weather data representing weather events existing in at least one of multiple altitude bands within a physical area centered on a reference point. The non-transitory computer-readable storage medium also stores corresponding intensity levels assigned to each of these weather events. The non-transitory computer-readable storage medium further stores corresponding grids for each of the altitude bands defined for the physical area, each corresponding grid having corresponding blocks defined by corresponding lines and vertices. The non-transitory computer-readable storage medium also stores the existing corresponding highest intensity level weather events in each of these corresponding blocks. The non-transitory computer-readable storage medium also stores selected altitude bands among the altitude bands. The non-transitory computer-readable storage medium also stores a rendered image having a corresponding grid for the selected altitude band. The corresponding grid for a selected altitude band has: corresponding lines and vertices, and corresponding blocks highlighted according to the existing highest-intensity weather events in each block of these corresponding blocks within the selected altitude band. The system also includes a processor-executable preprocessor that receives weather data from a communication device. This preprocessor can also be executed by the processor to assign corresponding intensity levels to each weather event among these weather events. The preprocessor can also be executed by the processor to divide each altitude band into corresponding grids. The preprocessor can also be executed by the processor to assign the existing highest-intensity weather events in each corresponding block of the altitude band to each corresponding block within the corresponding block. The preprocessor can also be executed by the processor to receive a selection of the selected altitude band. The system also includes a processor-executable rendering engine that renders the corresponding grid of the selected altitude band by rendering the corresponding lines and vertices of the selected altitude band, thereby generating a rendered image. The rendering engine can also be executed by the processor to render corresponding blocks within a selected altitude band by highlighting corresponding blocks within those corresponding blocks based on the existing highest-intensity weather events in each block. The system also includes a display device connected to the processor and configured to display the rendered image.

[0005] This document also describes 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 includes the following steps: receiving weather data. The weather data represents weather events. At least one weather event exists in at least one of multiple altitude bands within a physical area centered on a reference point. The computer-implemented method further includes the following steps: assigning corresponding intensity levels to each weather event. The computer-implemented method further includes the following steps: dividing each altitude band into corresponding grids defined for the physical area. Each corresponding grid has corresponding blocks defined by corresponding lines and vertices. The computer-implemented method further includes the following steps: assigning the corresponding highest intensity level weather event currently existing in the corresponding block to each corresponding block of the altitude band. The computer-implemented method further includes the following steps: receiving a selection of a selected altitude band. The computer-implemented method further includes the following steps: generating a rendered image by rendering the corresponding grid of the selected altitude band. The computer-implemented method further includes the following steps: displaying the rendered image on the GUI.

[0006] Other aspects will become apparent from the following description and the appended claims. Attached Figure Description

[0007] Figure 1 A computing system according to one or more embodiments is shown.

[0008] Figure 2A , Figure 2B , Figure 2C , Figure 2D , Figure 2E as well as Figure 2F A method for presenting weather data on a graphical user interface (GUI) according to one or more embodiments is shown.

[0009] Figure 3 Methods for rendering weather information for display according to one or more embodiments are shown.

[0010] Figure 4 , Figure 5 , Figure 6 , Figure 7 , Figure 8 , Figure 9 , Figure 10 , Figure 11 , Figure 12 , Figure 13 , Figure 14 as well as Figure 15 It can be used according to one or more embodiments. Figure 2A , Figure 2B , Figure 2C , Figure 2D , Figure 2E as well as Figure 2F A screenshot of an example graphical user interface (GUI) formed by this method.

[0011] Figure 16A and Figure 16B It is a computing system and network environment according to one or more implementation methods. Detailed Implementation

[0012] Now, with reference to the accompanying drawings, specific embodiments will be described in detail. For consistency, the same elements in different drawings are indicated by the same reference numerals.

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

[0014] Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as adjectives for elements (i.e., any noun in this application). Unless explicitly disclosed, such as by using terms like “before,” “after,” “single,” and others, the use of ordinal numbers neither implies nor creates any particular order of elements, nor limits any element to a single element. Rather, the use of ordinal numbers is intended to distinguish between elements. For example, a first element is different from a second element, and a first element may contain more than one element and may appear after (or before) the second element in order of appearance.

[0015] When used in conjunction with measurable physical characteristics, the term "about" refers to an engineering tolerance anticipated or determined by an engineer or manufacturing technician of ordinary skill in the art. The exact degree of quantification of an engineering tolerance depends on the product being manufactured and the technical characteristic being measured. For a non-limiting example, if the values ​​of two angles differ from each other by less than 10 percent, then the two angles can be considered "about congruent." However, if an engineer determines that the engineering tolerances for a particular product should be more stringent, then "about congruent" might mean that the values ​​of two angles differ from each other by less than 1 percent. Similarly, in other embodiments, engineering tolerances can be relaxed so that the values ​​of "about congruent" angles differ from each other by less than 20 percent. In any case, an ordinary technician can assess the acceptable engineering tolerances for a particular product and thereby assess how to determine the measurement variance considered under the term "about."

[0016] Generally, these implementations involve overcoming two technical hurdles. The first hurdle is presenting a large amount of relevant weather data on a small display screen in a way that the pilot of the aircraft can quickly understand. The second hurdle is conserving battery power on the mobile devices used by the pilot to display the relevant weather data.

[0017] To address the first technical hurdle, one or more embodiments divide the weather data into multiple altitude bands, increasing in 1000-foot increments between 1000 feet and 40,000 feet, though different regional increments may be used. The one or more embodiments then divide each altitude band into a corresponding grid centered on a reference point. The reference point can be any convenient reference point, such as the aircraft's current, past, or predicted position. However, the center point of the grid does not need to be related to any position of the aircraft. Instead, one or more embodiments provide methods for rendering flight previews or rear views and displaying weather conditions around the aircraft's current position.

[0018] Each weather event within a given grid is ranked according to its intensity. For example, turbulence can be ranked on a scale of zero (absent) to five (most intense), and icing conditions can be ranked on a scale of zero to five. The type and intensity of a weather event are represented by the color or highlight of a block assigned to the grid. If needed, the most intense weather event applicable to that block is the color or highlight applicable to that block. In one implementation, the pilot can select from different weather types so that only a single weather type is shown in a single grid. In other implementations, multiple weather types can be shown in a single block, such as by using multiple colors or highlight types in the block. To further assist the pilot, the pilot can select different altitude zones to quickly assess the associated grid and weather data for the new altitude zone. Thus, the pilot can quickly assess weather patterns in three dimensions 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 require the aircraft, and therefore, one or more of these implementations are also useful for viewing the weather at a remote location for flight planning purposes. Other data can also be displayed on the graphical user interface (GUI) for reference, such as, but not limited to, the aircraft, its flight path, landmarks, maps, waypoints, selected altitude zone, time, current altitude, current speed, camera orientation, and flight time. The GUI's viewpoint (referencing the camera position, as if the aircraft were being observed by an external camera) can also be adjusted so that the pilot can view weather patterns, landmarks, and other features from different angles.

[0019] To address the second technical hurdle—the limited battery power of the mobile device carried by the aircraft—one or more embodiments may consider when to render weather data. In a power-saving embodiment, or to accelerate processing speed overall, weather data may be rendered only after an altitude has been selected. In this way, the total amount of rendering computation can be reduced, and thus the processing power consumption can be reduced.

[0020] Now, turn your attention to the attached diagram. Figure 1A computing system according to one or more embodiments is illustrated. The computing system includes a data storage library (100). In one or more embodiments, the data storage library (100) is a storage unit and / or device (e.g., a file system, database, collection of tables, or any other storage mechanism) for storing data. Furthermore, the data storage library (100) may include a plurality of different storage units and / or devices. These plurality of 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 storage library (100) may be characterized as a non-transitory computer-readable storage medium. However, data used in the system may be transferred to and used by random access memory during data processing.

[0021] The data repository (100) stores various types of information. For example, the data repository (100) stores weather data (102). As used herein, weather data (102) is weather-related data, including but not limited to wind speed, wind direction, temperature, humidity, storm, atmospheric pressure, visibility, cloud location, cloud type, etc. Weather data (102) represents one or more weather events, for example, weather event A (104) and weather event B (106). As used herein, a weather event is a specific instance of a weather type of interest or a condition of interest that may be caused by weather. Examples of weather events include, for example, turbulence, icing conditions, wind shear, electrical strike (i.e., lightning), overall visibility, etc.

[0022] The one or more weather events exist in at least one of multiple altitude bands (108) within a physical area centered on a reference point, such as altitude band 1 (110) and altitude band 2 (112). The reference point can be the predicted future position of the aircraft, the past position of the aircraft, the current position of the aircraft, or a location far from the aircraft. In the latter case, a location far from the aircraft is useful for route planning and / or wide-area representation of weather data.

[0023] As used herein, an altitude band is a predetermined range of altitudes measured from sea level on Earth. Depending on the granularity desired by the pilot and the granularity of the weather data (102), many different altitude ranges can be used to define the extent of the altitude band (108). In a non-limiting example, the altitude band (108) may be divided into segments of 1000 feet. In one implementation, all altitude bands (108) are equal. However, in other implementations, the altitude bands (108) may vary relative to each other. Thus, in a non-limiting example, altitude band 1 (110) may be 500 feet and altitude band 2 (112) may be 1000 feet.

[0024] A corresponding intensity rank is assigned to each of these weather events. Thus, for example, intensity rank 1 (114) is assigned to weather event A (104), and intensity rank 2 (116) is assigned to weather event B (106). As used herein, an "intensity rank" is a numerical classification assigned to a weather event to indicate a quantitative assessment of the intensity of the weather event. Specifically, the measured numerical characteristics of a weather event are compared to a range of numerical characteristics, and if the measured numerical characteristics fall within that range, the rank assigned to that range is the intensity rank of the weather event. In a specific example, turbulence can be measured as turbulent kinetic energy. If the turbulent kinetic energy falls within the highest of five turbulent kinetic energy ranges, the intensity of the turbulent weather event is assigned a value of 5. A similar process can be used to indicate icing conditions, wind shear, and other types of weather events. Therefore, each weather event can have its own corresponding intensity rank. Intensity ranks do not necessarily all have the same scale. For example, intensity level 1 (114) can vary from one to five, but intensity level 2 (116) can vary from one to ten. Nevertheless, individual intensity levels are still useful for displaying on the GUI by highlighting the relative intensity of one or more weather events in a block.

[0025] The data repository (100) also stores the corresponding grids (118) for each of the height bands (108) defined for the physical region. A grid is a pattern of connected shapes that can be displayed on a GUI. A grid is defined by lines that define the boundaries of a block and vertices indicating the intersections of those lines. A grid is generated for each of the height bands (108). Thus, for example, grid 1 (120) is generated for height band 1 (110), and grid 2 (122) is generated for height band 2 (112).

[0026] Each corresponding grid (118) is formed by a corresponding block, which is defined by the corresponding line and vertex of the corresponding grid (118). Thus, for example, grid 1 (120) includes block 1 (124), and grid 2 (122) includes block 2 (126). The number of blocks in each grid does not have to be the same. Typically, there are dozens or even hundreds of blocks in each grid, although there may be more or fewer blocks in each grid.

[0027] Grid patterns can take different forms. For example, a grid pattern can take the form of connected squares, such as... Figures 4 to 15As shown. However, the grid pattern can 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 blocks within the grid do not need to have the same size; however, the grid can be a regular pattern of blocks of the same size. Each block represents a certain amount of area around a reference point in the real environment. The physical scale of the individual blocks does not need to be the same, but in some implementations they can be the same. In certain non-limiting implementations (such as...), Figures 4 to 15 As shown), each grid at each elevation zone is a pattern of squares of equal size and proportion, where each square represents an area of ​​two miles by two miles (four square miles).

[0028] The corresponding highest intensity level weather event is associated with each existing such weather event in each block of these corresponding blocks. In other words, for each block in each grid, the highest intensity level weather event is associated with a given block. For example, the highest intensity level weather event 1 (128) is assigned to one block in block 1 (124), and the highest intensity level weather event 2 (130) is assigned to another block in block 2 (126). In a specific example, suppose block A in block 1 (124) is associated with three weather events: icing intensity level 1, wind shear level 2, and turbulence level 3. Turbulence level 3 is assigned as the highest intensity level weather event 1 (128) of block A in block 1 (124). In this way, each individual block in each grid (e.g., all blocks in all height zones (108)) has associated highest intensity level weather events.

[0029] The data repository (100) also stores selected height bands (132) from the height bands (108). The selected height band (132) is the height band of the corresponding grid (118) to be displayed on the GUI. The selected height band (132) can be selected by the user or automatically selected based on some formula or rule. Figures 4 to 14 In the example, the user selects the selected altitude band (132) by sliding on the altitude bar on the right side of the GUI. Note that the selected altitude band (132) is not necessarily the altitude at which the aircraft is flying, and will vary in many cases. The selected altitude band (132) can be above or below the altitude band where the reference point is currently located, allowing the pilot to view the weather above or below the reference point.

[0030] The data storage library (100) can also store rendered images (134). The rendered images (134) are corresponding grids (118) of selected altitude bands (132). Again, the corresponding grids (118) of the selected altitude bands (132) include corresponding lines and vertices, as well as corresponding blocks. Corresponding blocks are highlighted based on the existing highest intensity weather events in each of these corresponding blocks within the selected altitude bands (132). Note that in some embodiments, the rendered images may be stored in general-purpose processing unit (GPU) random access memory (RAM) to improve processing speed and / or reduce battery power consumption.

[0031] Therefore, for example, the rendered image (134) can show three blocks related to the reference point (148), landmark (150), waypoint (152), and other information (154), namely, block 3 (136), block 4 (140), and block 5 (144). Each block has its own highlighting scheme. Thus, block 3 (136) has highlighting scheme A (138), block 4 (140) has highlighting scheme B (142), and block 5 (144) has highlighting scheme C (146).

[0032] A highlighting scheme is used to highlight blocks. In an implementation, the highlighting scheme might involve filling the block with a color corresponding to the highest intensity level weather event. The color can indicate the type of weather event, and the intensity of the color can indicate the intensity of the highest intensity level weather event. However, a block can have more than one color highlight, for example, when the pilot is focused on multiple weather events. If the weather is consistent over a large area around the reference point (148), the highlighting scheme for the blocks may all be the same. Note that other highlighting schemes are also possible, such as changing the color or visibility of lines and vertices, animations present within the block, etc.

[0033] Landmarks (150) can be features such as ground, mountains, trees, buildings, runways, etc. Waypoints (152) can be waypoints along the aircraft's intended flight path. Other information (154) can include many other types of information, such as the presence of other aircraft, GUI interactive inputs (slides, buttons, etc.), weather readings, time, remaining power in the mobile device rendering the GUI, the intended flight path as a line, and many other forms of information that the pilot may be interested in. In the implementation, for clarity or to reduce screen clutter, the GUI provides the pilot with the option to hide certain information.

[0034] Figure 1 The system shown may include other components or software. For example, Figure 1 The system 1 shown may include a processor (156), a communication device (158), and a display device (160). The data storage (100), communication device (158), and display device (160) are all connected to the processor (156) via a bus (162) and are interconnected. Therefore, Figure 1 The system 1 shown can be implemented as a laptop, tablet, mobile phone, etc., but it can also be implemented as a desktop computer, an airborne computer on an aircraft, etc. In the implementation method, Figure 1 The components of the system shown can be implemented as a remote server that processes information and sends renderable images to a local device, although the at least one local display device is available on the aircraft to display the rendered images.

[0035] The processor (156) is a computer processor and is configured to perform the calculations (134) required to generate the rendered image via the execution of the preprocessor (164) and the rendering engine (166). The processor (156) may be a distributed computing system, but in this implementation it is a single processor on a local device. See also... Figure 16A and Figure 16B An example of a processor (156) is described.

[0036] The communication device (158) is a wired or wireless communication system. The wireless communication system includes components for communicating with an airborne communication system at the reference point (148). Alternatively, it can connect to wireless and / or cellular networks, such as 5G. In any case, the communication device (158) is configured to send and receive data so that the processor (156) can, according to reference Figures 2A to 2F The described technique is used to process weather data (102) and generate rendered images (134). (See also...) Figure 16A and Figure 16B An example of a communication device (158) is described.

[0037] The display device (160) is a computer or television screen. The display device (160) can be an LCD monitor or an older technology, but in most cases, it will be the screen of a laptop, tablet, or mobile phone that houses a processor (156). (See also...) Figure 16A and Figure 16B An example of a display device (160) is described.

[0038] As shown above, the processor (156) executes the preprocessor (164) and the rendering engine (166) to complete the process. Figure 2A , Figure 2B , Figure 2C , Figure 2D , Figure 2E as well as Figure 2F The method is used to generate a rendered image (134) for display on a display device (160). Therefore, referring to Figures 2A to 2F The flowcharts are used to describe the operational details of the preprocessor (164) and the rendering engine (166).

[0039] However, briefly, the preprocessing program (164), when executed by the processor (156), is configured to: receive weather data (102) from the communication device (158), assign corresponding intensity levels to each of the plurality of weather events, divide each of the plurality of altitude bands into corresponding grids (118), assign the corresponding highest intensity level weather data existing in the corresponding blocks of the plurality of altitude bands to each block of the corresponding blocks of the plurality of altitude bands, and receive a selection of a selected altitude band (132). In turn, the rendering engine (166), when executed by the processor (156), is configured to: render the corresponding grid (118) of the selected altitude band (132) by rendering the corresponding lines and vertices of the selected altitude band (132), and render the corresponding blocks of the selected altitude band (132) by highlighting the corresponding blocks of the corresponding blocks according to the existing corresponding highest intensity level weather events in each block of the corresponding blocks of the selected altitude band (132).

[0040] Although Figure 1 The component configuration is shown, but other configurations can be used without departing from this scope. For example, various components can be combined to create a single component. As another example, a function performed by a single component can be performed by two or more components. Thus, for example, a rendering system that performs rendering can be separated from a preprocessing system that acquires weather data over a network. Other variations are possible.

[0041] Figures 2A to 2F Methods for presenting weather data on a graphical user interface (GUI) according to one or more embodiments are illustrated. These methods can be used... Figure 1 The system shown is used to execute Figures 2A to 2F The method shown. Figures 2A to 2F The method shown is typically performed by a local device on the aircraft, but it can also be performed by a server, which then sends the renderable image to the local device. Figures 2A to 2F The method shown can be characterized as a way of presenting weather data on a graphical user interface (GUI).

[0042] In step (200), weather data is received. (See reference...) Figure 1The weather data described represents weather events, and at least one of these weather events exists in at least one of multiple altitude bands within a physical area centered on a reference point. Weather data can be received via communication devices from weather services, via direct instrument readings on the aircraft, based on measurements performed by other aircraft in the area, from satellites, or from various other sources. Weather events can be of different types, including clear skies, icing conditions, turbulence, crosswinds, clouds, cloud base, temperature, wind speed, combinations of these, and other types of weather events. Note that the weather data received in step (200) can be... Figure 1 The input to the preprocessor (164) described in the document.

[0043] In step (202), corresponding intensity levels are assigned to individual weather events. Intensity levels can be assigned to different parts of a single weather event. Intensity levels can be assigned to different regions in physical space based on latitude, longitude, and altitude. However, perhaps after the grid is defined in the next step, intensity grading can be assigned block by block. For example, turbulence may exist in many blocks of a grid at a specific selected altitude; however, the turbulence may be better or worse in different blocks within the grid at that selected altitude. Therefore, the assignment of intensity levels to weather events can be performed block by block within a given grid at a given selected altitude.

[0044] In step (204), each of these height bands is divided into a corresponding grid defined for the physical region surrounding the reference point. As shown above, each corresponding grid has a corresponding block defined by corresponding lines and vertices. The grid is formed by dividing the virtual space representing the real space of the selected height into virtual blocks separated by virtual lines and vertices. Lines and vertices can form different types of grids, such as square grids, hexagonal grids, triangular grids, radial grids, unstructured mesh grids, curved grids, etc.

[0045] In step (206), the existing highest-intensity weather events in the corresponding blocks are assigned to the respective corresponding blocks in these multiple altitude zones. This assignment in step (206) can be performed by creating a table or other data structure to correlate weather data in a region with intensity levels, and then determining the highest-intensity weather event in that region. Note that lower-intensity weather events may be shown in a block, or multiple weather events may be shown in a block. However, in this implementation, to simplify the pilot's view, only the most intense weather events are displayed, presumably because lower-intensity weather events will not attract as much attention from the pilot as the highest-intensity weather events.

[0046] In step (208), a selection of a selected altitude band from the available altitude bands is received. For example, the user can use a sliding scale (see...). Figures 4 to 14 The system allows users to quickly glide through different altitude zones until the selected zone is reached. Users can directly input altitude into the GUI's input box and select the corresponding altitude zone. Users can also provide voice commands for desired altitude zones. Many other forms of input are envisioned, including automated input, such as when the system determines that the pilot should be notified of particularly severe weather at a certain altitude zone near the reference point.

[0047] In step 210, a rendered image is generated by rendering the corresponding mesh of the selected height band. Rendering can be performed using a rendering engine and / or a graphics processor. Figure 2C Additional details about mesh rendering are described.

[0048] In step 212, the rendered image is displayed on the GUI. The display of the rendered image can be used during execution... Figure 2A The method can be executed by a graphical program available on a computer.

[0049] In this implementation, it can then be terminated. Figure 2A However, as further described below, other variations and details are also possible.

[0050] Figure 2B A method for generating rendered images is shown. Therefore, Figure 2B The method shows Figure 2A Details of step 210.

[0051] In step 200B, the corresponding lines and vertices of the selected height band are rendered. Rendering is accomplished using a rendering engine employing any number of acceptable rendering techniques. One such technique could be converting latitude, longitude, and altitude into Cartesian coordinates as vertices interpretable by a general-purpose processing unit (GPU). The vertex groups that make up the entity object (e.g., the corners of a box) are then grouped into a memory buffer, sent to the GPU, and rendered by a program written to execute on the GPU. The exact visual representation is encoded in the GPU program (e.g., drawing boxes using lines, etc.). In this implementation, the lines and vertices of the mesh are rendered after the height band is selected. In this way, processing power can be saved by rendering only the mesh and tiles of one mesh without having to render the mesh and tiles of other height bands.

[0052] In step 202B, rendering the corresponding blocks of the selected altitude band includes highlighting each corresponding block based on the existing corresponding highest intensity weather events in each block of the selected altitude band. The rendering techniques used can be similar to those described above. Highlighting can be accomplished using various techniques, such as using color, changing transparency, adding shapes or borders or edges to the blocks, adding animations to the blocks, etc. In some implementations, at least two different blocks in these corresponding blocks have at least two different colors to indicate the different highest intensity levels in the at least two different blocks. Therefore, corresponding blocks can be highlighted based on the weather type in the corresponding block. The weather type is rendered as the highlighting changes.

[0053] Figure 2C A method for changing the viewpoint in a rendered image is shown. Figure 2C The method involves relative to Figure 2A The method shown includes additional steps that can be performed before generating corresponding blocks for the selected height band. Figure 2C The method.

[0054] 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 these height bands. The camera point may be located in a different height band than the selected height band. The camera point can be moved either by user manipulation of the GUI or automatically.

[0055] In step 202C, it is determined whether the viewpoint from the camera point to the reference point of the corresponding grid will be obstructed by a highlighted block in the corresponding area. This determination can be made by determining whether the line of sight from the camera point to the reference point intersects with one or more blocks that will be highlighted as a result representing weather data.

[0056] In step 204C, in response to determining that the viewpoint would be obscured due to highlighting, a sub-region in the corresponding grid is defined. The sub-region is defined by specifying a shape with a predetermined size surrounding the reference point. For example, the sub-region could be a circle or a sphere with a predetermined radius centered on the reference point. However, other shapes can be used.

[0057] In step 206C, as part of rendering the corresponding block, blocks within sub-regions of the corresponding mesh within each block of the corresponding block are avoided from being highlighted. In other words, blocks within sub-regions are skipped during highlighting, or a command is issued not to highlight blocks within sub-regions. Note that sub-regions may partially extend into the block. Therefore, for example, a portion of a block within a sub-region may not be highlighted, while the rest of the block is highlighted normally. In an implementation, mesh lines and vertices may continue to be drawn within the sub-region. Thus, the user can see the reference point and blank blocks in a circle around the reference point, while still seeing highlighted or partially highlighted blocks outside the sub-region. Figure 6 , Figure 7 , Figure 9 as well as Figures 10 to 12 An example of this view is given in the document.

[0058] In another example, sub-regions can be defined along the entire plane of the corresponding grid. Therefore, for instance, all blocks might not be highlighted, but the grid itself would still be displayed. Figure 13 An example of this view is shown. In another alternative example, the sub-region can be defined along a portion of the plane, but also includes a portion of the circle or sphere of the unhighlighted block. In this case, the sub-region appears as a partial circle or sphere, along with the intersecting plane of the unhighlighted block. The sub-region, and therefore not all unhighlighted blocks, need to be continuous. Figure 15 An example of this view is shown. Therefore, the shapes of sub-regions can take different forms.

[0059] In this implementation, before displaying the rendered image on the GUI, in step 208C, Figure 2C The method may include the following steps: rendering additional information related to the aircraft within a sub-region of the corresponding grid. One purpose of defining sub-regions without highlighting blocks within them is to allow additional information, such as text, landmarks, reference points, the aircraft itself, flight paths, etc. Therefore, for example, the additional information may be selected from a group of the following: the icon of the reference point, the aircraft icon, the aircraft's flight path, the aircraft's altitude, the aircraft's speed, waypoints along the aircraft's expected flight path, the aircraft's destination, landmarks on the ground below the reference point (or the aircraft), and combinations thereof.

[0060] Figure 2D This is a method for changing the camera viewpoint in the GUI. It can be done... Figure 2A Execute the method after Figure 2D The method.

[0061] In step 200D (after step 212), a new camera point is received. A new camera point can be received automatically based on commands from the computer or via user input. User input can be, for example, the user touching the screen displaying the GUI and dragging the view to different views desired by the user. Alternatively, the user can specify coordinates (including altitude, latitude, and longitude, or another reference frame) to set the camera point.

[0062] In step 202D, it is determined whether the new viewpoint from the new camera point to the reference point in the corresponding grid will be obscured by different highlighted blocks in the corresponding block. This can be referred to as above. Figure 2C The determination shall be performed as described in step 202C.

[0063] In step 204D, in response to determining that the new viewpoint would be obscured by the highlight, a new sub-region in the corresponding grid is defined. This can be referred to as above. Figure 2C Perform the definition as described in step 204C.

[0064] In step 206D, as part of rendering the corresponding block, blocks within new sub-regions of the corresponding grid are avoided from being highlighted. This can be done in a manner similar to... Figure 2C Step 206D is performed in the manner described in step 206C.

[0065] As described above, the method may further include: in step 208D, rendering additional information related to the aircraft within a sub-region of the corresponding mesh. This can be done in a manner similar to... Figure 2C Step 208D is executed in the manner described in step 208C.

[0066] Figure 2E This is a method of modifying the mesh rendering by referring to the boundary lines of the aforementioned sub-regions. Figure 2E Therefore, this method can be used as Figure 2A Step 210 Figure 2B Step 200B Figure 2C Step 204C and Figure 2D This is part of step 204D.

[0067] In step 200E, when the camera point is behind hidden weather in the sub-region, the edge (rim) of the sub-region is rendered as a soft gradient. Figure 10 An example of this rendering is shown in the image.

[0068] In step 202E, when the reference point is inside the hidden weather within the sub-region, the edge of the sub-region is rendered as a solid line. Figure 9 An example of this rendering is shown in the image.

[0069] In either case, rendering the edges of a sub-region helps the user identify the camera's viewpoint and quickly locate reference points relative to the block being rendered. Rendering itself can be performed as part of rendering a sub-region within the corresponding mesh, such as in... Figure 2C Step 208C or Figure 2D At step 208D.

[0070] Figure 2F This demonstrates a method for rendering a new mesh after rendering a previous one. Therefore, it is possible to... Figure 2A Execute the method after Figure 2F The method. In this case. Figure 2F The rendered image in the middle can be characterized as the first rendered image.

[0071] In step 200F, a second selection for the new selected altitude band is received. This can be referred to as... Figure 2A The new selected altitude band is received as described in step 208.

[0072] In step 202F, after receiving the new selected height band in step 200F, a new rendered image is generated by rendering the corresponding mesh of the new selected height band. As described below, the rendering in step 202F can be completed using steps 204F to 210F.

[0073] In step 204F, render the corresponding lines and vertices of the new selected height band. See reference... Figure 2B The rendering of lines and vertices is completed as described in step 200B.

[0074] In step 206F, rendering the corresponding blocks of the new selected altitude zone includes: highlighting each corresponding block in the corresponding blocks based on the existing corresponding highest intensity weather events in each block of these corresponding blocks in the new selected altitude zone. This can be referred to as... Figure 2B The corresponding block of the new selected height band is rendered as described in step 202B.

[0075] In step 208F, the display of the first rendered image is stopped. Therefore, the first rendered image is no longer displayed on the GUI. Instead, in step 210F, a new rendered image is displayed on the GUI. This can be seen as... Figure 2A The new rendered image is displayed as described in step 212. In other words, only one height band of the grid can be displayed at a time. In one implementation, this can then be terminated. Figure 2F The method.

[0076] Reference Figures 2A to 2F The one or more embodiments described may be modified. For example, refer to Figure 2F Step 208F can be skipped or modified. In other words, multiple height bands of mesh can be displayed simultaneously, or a portion of multiple height bands of mesh can be displayed simultaneously. (See reference...) Figure 15 An example of this view is shown. Therefore, one or more embodiments can be modified, and references above... Figures 2A to 2F The examples shown are not necessarily limited to other implementations described herein or recognized by those skilled in the art.

[0077] Although the steps in this flowchart are presented and described sequentially, those skilled in the art will recognize that some or all of the steps can be performed in different orders, some or all of the steps can be combined or omitted, and some or all of the steps can be performed in parallel. Furthermore, the steps can be performed actively or passively. For example, according to one or more embodiments, some steps can be performed using polling or interrupt-driven steps. For instance, according to one or more embodiments, the determination step may not require processor processing of instructions unless an interrupt is received to indicate the presence of a condition. As another example, according to one or more embodiments, the determination step can be performed by executing tests, such as checking data values ​​to test whether the value is consistent with the tested condition. Therefore, the one or more embodiments are not necessarily limited to the examples provided herein.

[0078] Figure 3 Methods for rendering weather information for display, according to one or more embodiments, are illustrated. Specifically, Figure 3 This demonstrates a method for efficiently rendering a portion of multiple meshes with multiple height bands, such as... Figure 15 As shown. A rendering engine (such as...) can be used. Figure 1 The rendering engine (166) in the middle is used to execute Figure 3 The method shown.

[0079] Initially, user input (300) is received. The user input (300) instructs that a portion of multiple height bands be displayed on the GUI. The user input (300) can be received in a predefined format or as a specific command given when rendering is to be performed. The number of height bands displayed can be predetermined or determined based on the camera points from which the GUI will be rendered.

[0080] Next, the rendering engine (such as...) Figure 1 The rendering engine (166) receives input data from multiple height bands. Specifically, the rendering engine receives preprocessor outputs (e.g., from height band 1 (302), height band 2 (304), and height band 3 (306) at the rendering engine. Figure 1Processed weather data in the preprocessing procedure (164) in the middle.

[0081] The camera position is received relative to a reference frame established for the image to be rendered (308). The vertices and indices of the mesh for each portion of the height band to be rendered are drawn, such as vertex and index (312), vertex and index (314), vertex and index (316), and vertex and index (318), in conjunction with the accumulated (for each height) preprocessing results (310) stored in the data store. Camera intersection information may also be considered (320). The rendered image is then drawn by the graphics processing unit (GPU) as shown in step (322).

[0082] Figures 4 to 15 Presented according to the above reference Figure 1 and Figures 2A to 2F The described technique is illustrated in the screenshot, which serves as a concrete example of a graphical user interface (GUI). Figures 4 to 15 Common labels refer to common objects that share a common definition. The following examples are for illustrative purposes only and are not intended to limit the scope of other examples described herein. Note that... Figures 4 to 15 The screenshots shown represent different examples of rendered images, such as Figure 1 The rendered image in (134).

[0083] The GUI (400) is a screenshot taken from the camera point above and behind the reference point (402), slightly rotated to the left. The flight path (404) is shown. The grid (406) is shown for the selected altitude band (408). The selected altitude band (408) is shown on the slider (410), which the user can manipulate to select different altitude bands.

[0084] As shown, the grid (406) forms square blocks. These blocks are filled with blocks that have been colored differently. Some blocks (such as block (412)) are colored with one color to indicate the presence of the highest level of turbulence. In other blocks (such as block (416)), different colors are used. Different colors indicate the presence of higher levels of turbulence. Therefore, in both block (412) and block (416), turbulence is shown as a highlight in the block, and different colors (hash patterns) represent the degree of turbulence.

[0085] Additional information can be presented in the GUI (400). For example, the current altitude and time of day can be displayed in the screen area (418). This time can reflect the expected time when the aircraft is expected to arrive at the indicated location. In other words, one or more of the embodiments envision showing the aircraft's planned future location and the expected weather at that future location at a future time.

[0086] The selected altitude band (408) can indicate the main type of weather event and the selected altitude band. In this case, the selected altitude band is 9000 feet, which means that the grid shown (406) is located at 9000 feet. Note that the selected altitude band (408) and the grid shown (406) (9000 feet) are different from the current altitude of the reference point (currently 15,000 feet, as shown in screen area (418)). Therefore, the GUI (400) displays the reference point (402) as being above the grid (406).

[0087] Other information can also be displayed, such as ground terrain (420), time and distance scales (422), current flight plan (424), and user interaction icons, such as icon (426), icon (428), and icon (430). Other information can also be presented, and therefore, Figure 4 The example shown does not limit other examples.

[0088] Now, let's turn our attention to... Figure 5 GUI(500) is similar to Figure 4 The GUI (400) shown. The difference between the two graphs stems from the fact that the selected height band (408) is now in Figure 5 The center is shown as being at 13,000 feet, not... Figure 4 The distance shown is 9,000 feet. The camera angle remains constant. Note that the reference point is still at 15,000.

[0089] However, the highlighting of some of these blocks has changed. For example, block (500) is now highlighted relative to... Figure 4 The same block shown illustrates that more intense turbulence exists in block (500). Conversely, block (502) is now highlighted relative to... Figure 4 The same block shown illustrates lower intensity turbulence. In other words, the grid (506) shown in GUI (500) illustrates the level of turbulence at 13,000 feet, rather than at 9,000 feet.

[0090] In this implementation, the user selects which type of weather event to display as a highlighted block in the grid (506). In this case, the color, hash, or other highlight of the block indicates the intensity of the selected weather event.

[0091] In an alternative implementation, the most severe weather type is displayed only for the entire grid or optionally for one or more blocks within the grid. By displaying only the most severe weather events in blocks of a selected altitude zone, pilots can quickly view the most relevant weather information across multiple different altitude zones. Regardless of the technology used to display weather type information, this information can be presented in a compact and efficient format on the small screen of a mobile device or on an onboard computer display.

[0092] Now, let's turn our attention to... Figure 6 .exist Figure 6 In the image, the new selected altitude band (408) has been selected as 15,000 feet. As shown in screen area (418), the reference point is at 15,000 feet. Therefore, the selected altitude band (408) is at the same altitude as the reference point (402).

[0093] Because the reference point (402) will be hidden by the highlighting within the block where the reference point (402) is located, a sub-region (600) is defined around the reference point (402). Highlighting blocks or portions of blocks within the sub-region (600) is avoided. Therefore, the pilot can view the reference point (402), flight path (404), and landmarks (602) existing within the sub-region (600). The sub-region (600) is bounded by solid lines because the reference point (402) is located within the hidden weather of the sub-region (600).

[0094] Figure 6 The most intense weather blocks for a given weather type are also shown relative to 9,000 feet or 13,000 feet, and the most intense weather blocks for a given weather type are different at 15,000 feet. For example, block (604) is highlighted to show that the most intense weather type in that block at 15,000 feet is turbulence. The color (represented by hash) of block (604) is darker (with denser hash) than the shade of other blocks where turbulence is also present but less severe (such as block (606)). In other words, turbulence is the weather type being displayed in both blocks (604) and (606). However, the turbulence in block (604) is more intense than the turbulence in block (606). Therefore, additional relevant information can be displayed on the small screen in a way that the pilot can quickly interpret.

[0095] Furthermore, in block (608), turbulence is still the weather type indicated. However, the different hues indicate that the turbulence in block (608) is not as severe as the turbulence in block (604) or block (606).

[0096] In this implementation, the user (or the rendering program) can select which type of weather event to display. Therefore, for example, the user can select from the displayed... Figure 6 Switching to turbulent weather type Figure 6 The icy weather type in the image. Doing so will cause the rendering engine to redraw. Figure 6 The grid shown is now highlighted, but blocks will be shown based on the intensity of the icing.

[0097] In an alternative implementation, only the most intense weather type is shown in a given block. Thus, for example, if both icing and turbulence exist in a block, but the turbulence is more intense, then only the turbulence is shown.

[0098] In another alternative implementation, multiple highlighting schemes can be used in a single block. For example, one color or highlighting scheme can be used in one half of block (608), and another color or highlighting scheme can be used in the other half of block (608). Figure 6 This change is not shown.

[0099] Now, let's turn our attention to... Figure 7 .exist Figure 7 In this context, the selected altitude zone (408) is 24,000 feet, which is 15,000 feet higher than the reference point (402). Note that the scaling of the grid (700) is increased relative to the other grids to provide the user with the grid (700) as close as possible to the user's viewpoint, because the selected camera point is located behind the hidden weather in the sub-region (702).

[0100] Once again, the sub-region (702) is the area where the highlighted block is avoided. However, with Figure 6 Unlike the sub-region (600) shown, the edges of the sub-region (702) are shown as a soft gradient because the camera point is located behind hidden weather in the sub-region.

[0101] Additionally, the hue or color of the highlighted area is shown relative to the grid (700). Figures 4 to 6 The grid shown has changed. Specifically, it can be seen that the dominant and most severe weather type at 24,000 feet is icing, rather than the turbulence (as seen at reference point (402)) at 15,000 feet. Figure 6 (As shown).

[0102] Figure 7 Another variation of the one or more embodiments described is also shown. Specifically, a highlighting of the most severe weather type (e.g., color, scattering, etc.) can 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... Figure 6The same highlighting (e.g., color) is used to highlight the block where the reference point (402) is located. To recap, in Figure 6 The selected height is also the current height of the reference point (402). Return to reference. Figure 6 It can be inferred that the current block where the reference point (402) is located is the first highlighted type (e.g., "yellow"), indicating that the most severe weather type in the block where the reference point (402) is located is turbulence. Figure 7 As can be seen, the current flight path (704) has the same highlighting (e.g., "yellow"). Therefore, the pilot can quickly see the current altitude at reference point (402), where the most severe weather type is turbulence of the first specific intensity, but... Figure 7 At the selected altitude zone (408), turbulence is present, but at a much smaller second intensity. Therefore, the pilot may decide to seek regulatory approval to change the flight plan and increase the altitude of the reference point (402) from 15,000 feet to 24,000 feet.

[0103] Now, let's turn our attention to... Figure 8 .exist Figure 8 In the middle, the camera position has changed, but relative to Figure 7 The selected height band (408) remains at 24,000 feet. Specifically, the user has changed the camera point to two points below and to the left of the reference point (402) by dragging the screen or interacting with another widget on the GUI. However, because the selected height band (408) is... Figure 8 Zhongyu Figure 7 The values ​​in the middle are the same, so the grid (800) is the same as... Figure 7 The grids (700) shown are identical, and the same blocks are represented with the same highlighting. However, due to the change in camera point, the viewpoint of the grid (800) differs even though the information in the two grids is the same. Figure 7 The grid in the middle (700).

[0104] For example, note how the grid (800) appears as if viewed from a new vantage point. Additionally, Figure 7 The sub-region (702) shown no longer exists. Figure 8 This is because the reference point (402) is no longer within the weather type shown in the grid (800). From Figure 8 The advantageous position of the camera point shown also allows for the view of waypoint (802).

[0105] Now, let's turn our attention to... Figure 9 The grid (900) is still shown from different camera points, i.e., relative to... Figure 8The camera point shown is rotated to the left. Additionally, as shown in screen area (418), the current altitude of the reference point (402) is 19,000 feet. However, the grid (900) being shown is for a selected altitude band (408) at 16,000 feet. Therefore, the altitude of the reference point (402) has increased, but the altitude of the selected altitude band (408) has decreased.

[0106] Due to the line of sight between the camera point and the reference point (402), the reference point (402) will be hidden by the highlighting of the blocks of the grid (900). Therefore, a new sub-region (904) is shown, where a block or part of a block is not highlighted. The sub-region (904), or cut-out area, is partially circular in this example because the bottom of the sub-region (904) is below the lower surface of the grid (900) in the selected altitude zone (408). The hue or hash pattern of the blocks of the grid (900) indicates that icing is the most severe weather type in the blocks of the grid (900), with darker colors or heavier hash patterns indicating that icing conditions are more severe in some blocks in the selected altitude zone (408) compared to others.

[0107] Now, let's turn our attention to... Figure 10 As shown in screen area (418), the height of the reference point (402) remains at 19,000 feet. However, the selected height band (408) is now at 19,000 feet (i.e., the same height as the reference point (402)). Additionally, the camera point has been adjusted to be above the reference point (402).

[0108] Therefore, the grid (1000) is shown as if viewed from above. There are sub-regions (1002) where blocks are not highlighted because the reference point (402) would otherwise be hidden. The grid in the sub-region (1002) is rendered, but blocks are avoided from being highlighted within the sub-region (1002). The color, intensity, and hash type or hash intensity indicate that different degrees of icing conditions exist as the most severe weather type in each block of the grid (1000).

[0109] Now, let's turn our attention to... Figure 11 Just like Figure 10 Thus, the reference point (402) remains at 19,000 feet, and the selected altitude band (408) remains at 19,000 feet. Therefore, the grid (1100) and grid (1000) are the same regarding which blocks display which highlight. However, in Figure 10 In the video, the camera point has changed, perhaps by the user dragging the screen back and forth to rotate the camera point in three dimensions.

[0110] As a result, the rendered image of the grid (1100) is shown at a relatively shallow angle. Therefore, the unhighlighted sub-region (1102) is only partially circular, ending at the upper boundary of the grid (1100).

[0111] Now, let's turn our attention to... Figure 12 Just like Figure 10 and Figure 11 Thus, the reference point (402) remains at 19,000 feet, and the selected altitude zone (408) also remains at 19,000 feet. However, the camera point changes again relative to... Figure 10 and Figure 11 This time, the reference point (402) is zoomed in much closer. Because the camera point has been zoomed in, these blocks appear larger. However, the blocks in the grid (1200) have the same... Figure 10 The grid (1000) and Figure 11 The blocks in the grid (1100) have the same highlighting pattern and represent the same relative physical area.

[0112] Again, because highlighting within the grid (1200) hides the reference point (402), highlighting within the sub-region (1202) should be avoided. Note that the flight path (1204) of the reference point (402) is therefore also visible within the sub-region (1202).

[0113] Now, let's turn our attention to... Figure 13 Just like Figures 10 to 12 Thus, the reference point (402) remains at 19,000 feet, and the selected altitude zone (408) also remains at 19,000 feet. However, the camera point changes again relative to... Figure 12 This time, the reference point (402) is magnified even more closely. Because the camera point has been magnified, it is more accurate to zoom in relative to the reference point. Figure 12 These blocks still appear larger. However, the blocks in the grid (1300) have the same... Figure 10 Grid (1000) Figure 11 The grid (1100) and Figure 12 The blocks in the grid (1200) have the same highlighting pattern, which represents the same relative physical area.

[0114] However, in Figure 13 In the image, the camera point has been zoomed in so close to the reference point (402) that the camera point has entered the grid (1300). Therefore, the entire rendered grid (1300) is shown without highlighting. In fact, in... Figure 13In the example, the entire grid is shown as being within a sub-region, thus avoiding highlighting. Nevertheless, highlight bars such as highlight bars (1304) can be rendered close to the lines and vertices (1306) to visually indicate the highest intensity weather type associated with a given block. Note that the highlighted area (1308) represents the flight path of the reference point (402) and occupies more area on the screen because the camera point is magnified on the reference point (402).

[0115] Now, let's turn our attention to... Figure 14 .exist Figure 14 In the meantime, reference point (402) remains at 19,000 feet. However, the selected altitude zone (408) is now 23,000 feet (i.e., above reference point (402)). Additionally, the camera point has moved below reference point (402) and relative to... Figure 13 The view shown has been zoomed out.

[0116] Therefore, the grid (1400) is shown above the reference point (402). Figure 14 In the example, there are no unhighlighted sub-regions because the reference point (402) is not hidden by the highlighting of the grid (1400) blocks. Again, the type of highlighting indicates the type and relative intensity of the highest intensity weather event within any given block. Figure 14 In the example, once again, the icing condition dominates across the entire block in the grid (1400). However, different highlighting indicates that the icing condition is more severe in some blocks than in others.

[0117] Other information is shown. For example, the highlighted plane (1402) indicates the flight path of reference point (402). Waypoints (1404) along the flight path are also shown.

[0118] Now, let's turn our attention to... Figure 15 .exist Figure 15 In the example, reference point (402) is at 6,004 feet and is descending as shown in flight path (1500). The selected altitude band (408) is 6,000 feet, which is the altitude band selected for the current altitude of reference point (402).

[0119] Figure 15 It shows that multiple grids can be displayed, especially when the reference point (402) is rising or falling. Figures 4 to 14 The example shows a reference point (402) on the cruise flight path.

[0120] Therefore, as Figure 15As shown, the grid (1502) does not need to be entirely displayed at the selected altitude zone (408). Instead, each grid row can show the most severe weather conditions at subsequent or previous grid points relative to the flight path (1500) from the reference point (402). The result is a stepped grid, which helps the pilot understand the most severe weather type they have just flown over and should consider it in advance when following the flight path (1500). In this example, the highlight reflects the turbulence conditions during ascent. By viewing... Figure 15 With the GUI, the pilot can easily understand that the turbulence conditions are relatively constant, and therefore, the conditions during ascent should be similar to those the pilot has already flown.

[0121] To render the grid (1502), the rendering engine forms a series of grids at different altitudes centered on the selected altitude band (408). Thus, for example, for each altitude band behind and in front of the selected altitude band (408) relative to the flight path (1500), a 1x9 (1*9) grid is formed. The highlighting of each block reflects the most severe weather condition type within that particular block. Because any given block is for a given altitude, the steps in the grid (1502) indicate the most severe weather types expected as the reference point (402) descends through multiple altitude bands.

[0122] Again, because highlighting in at least some blocks would hide the reference point (402), a sub-region (1504) is drawn around the reference point (402). Highlighting is avoided in blocks within the sub-region (1504) to more clearly show the reference point (402) and the flight path (1500). Additionally, the underlying terrain (1506) can also be seen within the sub-region (1504). In this example, since the aircraft is approaching the landing runway from over adjacent water, the underlying terrain (1506) is water.

[0123] Other variations are possible. Therefore, the one or more embodiments described are not subject to Figures 4 to 15 The example GUI screenshot shown has limitations. Other variations are possible, including sub-regions of different sizes, and grids that step downwards during descent (instead of...). Figure 15 Examples include grids that step upwards during an ascent, multiple highlighting options within a single block, and so on. In another variation, the user can input which type of weather event they wish to see highlighted in the grid. Thus, for example, the user doesn't need to view only the most intense weather type in the block, but can see the intensity variations of the user-selected weather type (e.g., icing conditions). Many other variations are possible.

[0124] Figure 16A and Figure 16BExamples of computing systems and networks according to one or more embodiments are provided. Embodiments can be implemented on computing systems specifically designed to achieve improved technical results. When implemented in a computing system, the features and elements of this disclosure provide significant technical advancements compared to computing systems that do not implement the features and elements of this disclosure. Any combination of mobile devices, desktops, servers, routers, switches, embedded devices, or other types of hardware can be improved by including the features and elements described in this disclosure. For example, such as Figure 16A As shown, the computing system (1600) may include one or more computer processors (1602), non-persistent storage devices (1604) (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage devices (1606) (e.g., hard disk, optical drive such as optical disc (CD) drive or digital versatile disc (DVD) drive, flash memory, etc.), communication interfaces (1608) (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), and many other components and functions that implement the features and elements of this disclosure.

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

[0126] The communication interface (1608) may include an integrated circuit that connects 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 another device (such as another computing device).

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

[0128] Software instructions in the form of computer-readable program code, used to perform implementation methods, 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, floppy disk, magnetic tape, flash memory, physical memory, or any other computer-readable storage medium. Specifically, the software instructions may correspond to computer-readable program code that, when executed by a processor, is configured to perform one or more implementation methods.

[0129] Can Figure 16A The computing system (1600) is connected to the network or is part of the network. For example, such as Figure 16B As shown, 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...). Figure 16A The computing system shown (1600), or a combination of nodes, can correspond to Figure 16A The computing system (1600) shown is illustrated. For example, the implementation can be carried out on nodes of a distributed system connected to other nodes. As another example, the implementation can be carried out on a distributed computing system with multiple nodes, wherein the various components can be located on different nodes within the distributed computing system. Furthermore, one or more components of the aforementioned computing system (1600) can be located in remote locations and connected to other components via a network.

[0130] although Figure 16B Not shown, but the node can correspond to a single-board computer (blade) in a server chassis that connects to other nodes via a backplane. For example, the node can correspond to a server in a data center. For another example, the node can correspond to a computer processor or a microkernel of a computer processor with shared memory and / or resources.

[0131] Nodes in the network (1620) (e.g., node X (1622), node Y (1624)) can 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 the functions of receiving requests from client devices (1626) and sending responses to client devices (1626). The client device (1626) may be a computing system, such as... Figure 16A The computing system (1600) shown. Furthermore, the client device (1626) may include and / or execute all or part of one or more implementation methods.

[0132] Figure 16A and Figure 16BThe computing system (1600) or group of computing systems described herein may include functionality that performs the 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 can facilitate data exchange between processes on the same device. Examples representing such inter-process communication include, but are not limited to, file implementations, signals, sockets, message queues, pipelines, semaphores, shared memory, message passing, and memory-mapped files. Further details relating to several examples of these non-limiting examples are provided below.

[0133] Based on the client-server networking model, sockets can be used as interfaces or communication channel endpoints, enabling bidirectional data transfer between processes on the same device. First, following the client-server networking model, a server process (e.g., a data-providing process) creates a first socket object. Next, the server process binds the first socket object, associating it with a unique name and / or address. After creating and binding the first socket object, the server process then waits and listens for incoming connection requests from one or more client processes (e.g., data-seeking processes). When a client process wants to obtain data from the server process, it begins by creating a second socket object. The client process then continues generating connection requests, which include 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 may accept the connection request, establish a communication channel with the client process, or, if busy with other operations, queue the connection request in a buffer until it is ready. The established connection notifies the client process that communication can begin. In response, the client processing can generate a data request specifying the data the client processing wishes to receive. The data request is then sent to the server processing. Upon receiving the data request, the server processing analyzes the request and collects the requested data. Finally, the server processing generates a response that includes at least the requested data and sends this response to the client processing. This data can be transmitted, more commonly as a datagram or a character stream (e.g., bytes).

[0134] Shared memory refers to the allocation of virtual memory space to enable mechanisms for materializing data to be transferred and / or accessed by multiple processes. In implementing shared memory, an initialization process first creates a shareable segment in persistent or non-persistent storage. After creation, the initialization process then mounts the shareable segment and subsequently maps it to the address space associated with the initialization process. After mounting, the initialization process continues to identify and grant access permissions to one or more authorized processes, which can also write and read data from the shareable segment. Changes made by one process to data in the shareable segment can immediately affect other processes also linked to the shareable segment. Furthermore, when one of the authorized processes accesses the shareable segment, the shareable segment is mapped to that authorized process's address space. Typically, at any given time, only one authorized process, besides the initialization process, can mount a shareable segment.

[0135] Without departing from the scope described herein, other techniques may be used to share data between processes, such as the various types of data described herein. These processes may be part of the same or different applications and may be executed on the same or different computing systems.

[0136] In addition to sharing data between processes, or in other ways besides sharing data between processes, a computing system implementing one or more implementations may also include the ability to receive data from a user. For example, in one or more implementations, a user may submit data via a graphical user interface (GUI) on a user device. Data may be submitted via the GUI by the user selecting one or more GUI widgets or by inserting text and other data into the GUI widgets using a touchpad, keyboard, mouse, or any other input device. In response to the selection of a specific item, the computer processor may obtain information about that specific item from persistent or non-persistent storage. When the user selects the item, the obtained data about that specific item may be displayed on the user device in response to the user's selection.

[0137] For example, a request for data about a specific item can be sent to a server operatively connected to the user's device via a network. For instance, a user can select a Uniform Resource Locator (URL) link within the user's web client, initiating a Hypertext Transfer Protocol (HTTP) request or another protocol request sent to the network host associated with that URL. In response to this request, the server can retrieve data about the specific selected item and send that data to the device that initiated the request. Once the user's device has received the data about the specific item, it can display the received data about that specific item on the user's device in response to the user's selection. In addition to the above examples, after selecting a URL link, the data received from the server can provide a webpage written in Hypertext Markup Language (HTML), which can be rendered and displayed on the user's device by the web client.

[0138] Once data is acquired (e.g., by using the techniques described above or obtaining the data from a storage device), the computing system can extract one or more data items from the acquired data while executing one or more implementations. For example, extraction can be performed by... Figure 16A The computational system (1600) performs as follows. First, an organizational schema (e.g., syntax, schema, layout) is determined, which can be based on one or more of the following: position (e.g., bit or column position, the Nth token in the data stream, etc.), attribute (where the attribute is associated with one or more values), or hierarchy / tree structure (composed of layers of nodes at different levels of detail, such as nested data headers or nested document sections). Then, in the context of the organizational schema, the raw, unprocessed stream of data symbols is parsed into a stream of tokens (or a hierarchical structure) (where each token may have an associated token "type").

[0139] Next, extraction criteria are used to extract one or more data items from the token stream or token structure. These criteria are processed according to an organizational schema to extract one or more tokens (or nodes from a hierarchical structure). For location-based data, tokens at locations identified by the extraction criteria are extracted. For attribute / value-based data, tokens and / or nodes associated with attributes that satisfy the extraction criteria are extracted. For hierarchical / layered data, tokens associated with nodes that match the extraction criteria are extracted. The extraction criteria can be as simple as an identifier string or can be a query presented to a structured data store (where the data store is organized according to a database schema or data format such as Extensible Markup Language (XML)).

[0140] The extracted data can be used for further processing by a computing system. For example, Figure 16A The computing system (1600) can perform data comparison when 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 an operation related to the comparison to an arithmetic logic unit (ALU) (i.e., a circuit that performs arithmetic and / or bitwise logical 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 positive, negative, zero, etc. By selecting an appropriate opcode and then reading the numerical result and / or status flags, the comparison can be performed. For example, to determine whether A > B, B can be subtracted from A (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 can be regarded as a threshold, and A is considered to meet the threshold if A = B or if A > B, as determined using the ALU. In one or more embodiments, A and B can be vectors, and comparing A with B requires comparing the first element of vector A with the first element of vector B, comparing the second element of vector A with the second element of vector B, and so on. In one or more embodiments, if A and B are strings, the binary values of the strings can be compared.

[0141] Figure 16A The computing system (1600) can 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 data retrieval, modification, reorganization, and deletion. A database management system (DBMS: Database Management System) is a software application that provides an interface for users to define, create, query, update, or manage a database.

[0142] Users or software applications can submit statements or queries to the DBMS. The DBMS then interprets the statement. This statement can be a select statement, update statement, create statement, delete statement, etc., requesting information. Furthermore, the statement can include parameters specifying data, data containers (databases, tables, records, columns, views, etc.), identifiers, conditions (comparison operators), functions (e.g., join, full merge, count, average, etc.), categories (e.g., ascending, descending), or others. The DBMS can execute the statement. For example, the DBMS can access memory buffers, references, or indexed files to read, write, delete, or any combination of these in response to the statement. The DBMS can load data from persistent or non-persistent storage and perform calculations in response to the query. The DBMS can then return the results to the user or software application.

[0143] Figure 16A The computing system (1600) may include the ability to present raw and / or processed data, such as presenting the results of comparisons and other processing. For example, data can be presented using various presentation methods. Specifically, data can be presented through a user interface provided by the computing device. The user interface may include a GUI (User-Guided Interface) on a display device such as a computer monitor or a touchscreen on a handheld computer device. The GUI may include various GUI widgets that organize what data is shown and how it is presented to the user. Furthermore, the GUI may present data directly to the user (e.g., data presented as text as actual data values) or translate the data into a visual representation of the data by the computing device, such as through a visualized data model.

[0144] For example, a GUI might first receive a notification from a software application requesting the rendering of a specific data object within the GUI. Next, the GUI can determine the data object type associated with the specific data object, for example, by obtaining data from data attributes within the data object that identify its type. Then, the GUI can determine any rules specified for displaying that data object type, such as rules specified by the software framework for the data object class or rules based on any local parameters defined by the GUI for rendering that data object type. Finally, the GUI can retrieve data values ​​from the specific data object and render a visual representation of those values ​​within a display device according to the rules specified for that data object type.

[0145] Data can also be presented using various audio methods. In particular, data can be translated into audio formats and presented as sound through one or more speakers operatively connected to a computing device.

[0146] Data can also be presented to users through tactile methods. For example, tactile methods can include vibrations or other physical signals generated by a computing system. For instance, data can be presented to users using vibrations with a predefined duration and intensity generated by a handheld computer device to transmit data.

[0147] The above functional description only presents the features provided by [the platform / organization]. Figure 16A The computing system (1600) and Figure 16B Several examples of the functions performed by the nodes (e.g., node X (1622), node Y (1624)) and / or client device (1626). Other functions may be performed using one or more implementations.

[0148] Further illustrative and non-exclusive examples according to this disclosure are described in the following paragraphs:

[0149] In an example according to this disclosure, a method for presenting weather data on a graphical user interface (GUI) is provided, the method comprising the following steps:

[0150] Assigning corresponding intensity levels to each of a plurality of weather events, wherein the plurality of weather events are based on the weather data, and wherein at least one of the plurality of weather events exists in at least one of a plurality of altitude bands defined for a physical area centered on a reference point;

[0151] Each of the multiple height bands is divided into a corresponding grid defined for the physical region, and each corresponding grid includes a corresponding block defined by a corresponding line and vertex.

[0152] Assign the existing highest intensity weather event in the corresponding block to each corresponding block in the multiple altitude zones;

[0153] Receive a selection of a selected altitude band from the plurality of altitude bands;

[0154] A rendered image is generated by rendering the corresponding grid of the selected height band; and

[0155] The rendered image is displayed on the GUI.

[0156] Optionally, in the method based on the earlier paragraph, the rendering step further includes:

[0157] Render the corresponding lines and vertices of the selected height band; and

[0158] Rendering the corresponding blocks of the selected altitude zone includes: highlighting each corresponding block in the corresponding block according to the existing highest intensity weather events in each block of the selected altitude zone.

[0159] Optionally, in the method according to the earlier paragraph, the method further includes the following steps:

[0160] Before generating the corresponding block of the selected height band, the position of the camera point relative to the reference point is determined, wherein the camera point is a virtual point selected in one of the multiple height bands in the physical region;

[0161] Determine whether the viewpoint of the corresponding grid from the camera point toward the reference point will be blocked by the highlighted block in the corresponding area;

[0162] In response to determining that the viewpoint will be obscured due to highlighting, a sub-region is defined in the corresponding grid; and

[0163] As part of rendering the corresponding blocks, blocks within the sub-regions of the corresponding grid in each of these corresponding blocks are avoided from being highlighted.

[0164] Optionally, in the method according to the earlier paragraph, the method further includes the following steps:

[0165] Before displaying the rendered image on the GUI, the following additional information is rendered within the sub-region of the corresponding grid: the additional information is related to the aircraft located at a position that can be determined relative to the rendered image.

[0166] Optionally, in the method according to the earlier paragraph, the additional information is selected from the group consisting of: the icon of the reference point, the icon of the aircraft, the flight path of the aircraft, the altitude of the aircraft, the speed of the aircraft, waypoints along the expected flight path of the aircraft, the destination of the aircraft, landmarks on the ground below the reference point, and combinations thereof.

[0167] Alternatively, in the method according to the earlier paragraph, the camera point is located in a different altitude band than the selected altitude band.

[0168] Optionally, in the method according to the earlier paragraph, the method further includes the following steps:

[0169] Receive new camera points after display;

[0170] Determine whether the new viewpoint of the corresponding grid, from the new camera point toward the reference point, will be obscured by different highlighted blocks in the corresponding block;

[0171] In response to determining that the new viewpoint will be obscured by highlighting, a new sub-region is defined in the corresponding grid; and

[0172] As part of rendering the corresponding blocks, blocks within the new sub-regions of the corresponding grid in each of these corresponding blocks are avoided from being highlighted.

[0173] Alternatively, in the method according to the earlier paragraph, the sub-region includes a circle or a sphere.

[0174] Optionally, in the method according to the earlier paragraph, the method further includes the following steps:

[0175] Only the corresponding grid in the sub-region is rendered.

[0176] Optionally, in the method according to the earlier paragraph, the method further includes the following steps:

[0177] When the camera point is behind hidden weather within the sub-region, render the edges of the sub-region with a soft gradient; and

[0178] When the reference point is inside the hidden weather within the sub-region, the edge of the sub-region is rendered as a solid line.

[0179] Optionally, in the method according to the earlier paragraph, the method further includes the following steps:

[0180] Before the rendered image is displayed on the GUI, additional information related to the reference point is overlaid on the corresponding grid.

[0181] Alternatively, in the method according to the earlier paragraph, the highlight is shown in color, and at least two different blocks in the corresponding blocks have at least two different colors to indicate different highest intensity levels in the at least two different blocks.

[0182] Optionally, in the method according to the earlier paragraph, the method further includes the following steps:

[0183] The corresponding block is also rendered based on the weather type in the corresponding block.

[0184] Alternatively, in the method according to the earlier paragraph, the weather type is rendered as the highlight changes.

[0185] Optionally, in the method according to the earlier paragraph, the highlight is shown in color, and at least two different blocks in the corresponding blocks have at least two different colors to indicate different highest intensity levels in the at least two different blocks, and the method further includes the following step:

[0186] The corresponding block is also rendered based on the weather type in the corresponding block, wherein the weather type is rendered by changing the intensity, transparency, or hue of the at least two different colors in accordance with the change in the highlight.

[0187] Alternatively, in the method according to the earlier paragraph, the corresponding lines and vertices form one of the following: square grid, hexagonal grid, triangular grid, radial grid, unstructured mesh grid, and curved grid.

[0188] Optionally, in the method according to the earlier paragraph, the rendered image includes a first rendered image, and the method further includes the following steps:

[0189] Receive a second selection for the new selected altitude band;

[0190] After receiving the new selected height band, a new rendered image is generated by rendering the corresponding grid of the new selected height band. The rendering step further includes:

[0191] Render the corresponding lines and vertices of the new selected height band; and

[0192] Rendering the corresponding blocks of the new selected altitude zone includes: highlighting each corresponding block in the corresponding block according to the existing corresponding highest intensity weather events in each block of the new selected altitude zone;

[0193] Stop displaying the first rendered image; and

[0194] The new rendered image is displayed on the GUI.

[0195] Alternatively, in the method according to the earlier paragraph, the weather events among the plurality of weather events are selected from the group consisting of: clear weather, icing conditions, turbulence, crosswinds, clouds, cloud base, temperature, wind speed, and combinations thereof.

[0196] In an example according to this disclosure, a system is provided, the system comprising:

[0197] processor;

[0198] A communication device, the communication device being connected to the processor;

[0199] A non-transitory computer-readable storage medium, connected to the processor and storing the following:

[0200] Weather data, wherein the weather data represents multiple weather events existing in at least one of multiple altitude zones within a physical area centered on a reference point.

[0201] A corresponding intensity level is assigned to each of the plurality of weather events.

[0202] A corresponding mesh, defined for each of the plurality of height bands in the physical region, comprises corresponding blocks defined by corresponding lines and vertices.

[0203] The highest intensity weather events currently existing in each of these corresponding blocks.

[0204] Selected altitude band among the plurality of altitude bands, and

[0205] The rendered image includes a corresponding grid of the selected altitude zone, the corresponding grid of the selected altitude zone including: corresponding lines and vertices, and corresponding blocks highlighted according to the existing corresponding highest intensity weather events in each of these corresponding blocks of the selected altitude zone;

[0206] The preprocessor, which can be executed by the processor, performs the following operations:

[0207] Receive the weather data from the communication device.

[0208] The corresponding intensity level is assigned to each of the multiple weather events.

[0209] Each of the multiple height bands is divided into the corresponding grid.

[0210] Assign the existing highest intensity weather data of the corresponding category to each block in these corresponding blocks of the multiple altitude bands, and

[0211] Receive selection of the selected height band; and

[0212] A rendering engine, executable by the processor, generates the rendered image by being configured to perform the following:

[0213] The corresponding mesh for the selected height band is rendered by rendering the corresponding lines and vertices of the selected height band.

[0214] The corresponding blocks of the selected altitude zone are rendered by highlighting the corresponding highest-intensity weather events existing in each of the corresponding blocks within the selected altitude zone; and

[0215] A display device is connected to the processor and configured to display the rendered image.

[0216] In an example according to this disclosure, a non-transitory computer-readable storage medium is provided for 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 the following steps:

[0217] Receive the weather data, wherein the weather data represents multiple weather events, and wherein at least one of the multiple weather events exists in at least one of multiple altitude zones in a physical area centered on a reference point;

[0218] Assign corresponding intensity levels to each of the multiple weather events;

[0219] Each of the multiple height bands is divided into a corresponding grid defined for the physical region, and each corresponding grid includes a corresponding block defined by a corresponding line and vertex.

[0220] Assign the existing highest intensity weather event in the corresponding block to each corresponding block in the multiple altitude zones;

[0221] Receive a selection of a selected altitude band from the plurality of altitude bands;

[0222] A rendered image is generated by rendering the corresponding grid of the selected height band; and

[0223] The rendered image is displayed on the GUI.

[0224] While embodiments have been described with reference to a limited number of implementations, those skilled in the art who benefit from this disclosure will recognize that other embodiments can be devised without departing from the scope disclosed herein. Therefore, the scope should be limited only by the appended claims.

Claims

1. A method for presenting weather data on a graphical user interface (GUI), the method comprising the following steps: Assign corresponding intensity levels to each of a plurality of weather events, wherein the plurality of weather events are based on the weather data, and wherein at least one of the plurality of weather events exists in at least one of a plurality of altitude bands defined for a physical area centered on a reference point (202). Each of the multiple height bands is divided into a corresponding grid defined for the physical region, and each corresponding grid includes a corresponding block (204) defined by the corresponding line and vertex. Assign the highest intensity weather event among the existing multiple weather events in the corresponding blocks of the multiple altitude zones (206). Receive selection of a selected altitude band among the plurality of altitude bands (208); A rendered image (210) is generated by rendering the corresponding grid of the selected height band, wherein the rendering step further includes: Render the corresponding lines and vertices (200B) of the selected height band; and Rendering the corresponding blocks of the selected altitude band includes: highlighting each corresponding block in the corresponding block based on the existing highest intensity weather events in each block of the selected altitude band (202B); and The rendered image (212) is displayed on the GUI.

2. The method according to claim 1, further comprising the following steps: Before generating the corresponding block of the selected height band, the position of the camera point relative to the reference point is determined, wherein the camera point is a virtual point (200C) selected in one of the multiple height bands in the physical area. Determine whether the viewpoint of the corresponding grid from the camera point toward the reference point will be blocked by the highlighted block in the corresponding block (202C). In response to determining that the viewpoint will be obscured due to highlighting, a sub-region (204C) is defined in the corresponding grid; and As part of rendering the corresponding block, blocks within the sub-regions of the corresponding grid are avoided from being highlighted (206C).

3. The method according to claim 2, further comprising the following steps: Before displaying the rendered image on the GUI, the following additional information is rendered within the sub-region of the corresponding grid: the additional information is related to the aircraft located at a position that can be determined relative to the rendered image (208C).

4. The method according to claim 3, wherein, The additional information is selected from the group consisting of: the icon of the reference point, the icon of the aircraft, the flight path of the aircraft, the altitude of the aircraft, the speed of the aircraft, waypoints along the expected flight path of the aircraft, the destination of the aircraft, landmarks on the ground below the reference point, and combinations thereof.

5. The method according to claim 2, wherein, The camera point is located in a different altitude band than the selected altitude band; and the method further includes the following steps: After display, receive the new camera point (200D); Determine whether the new viewpoint of the corresponding grid from the new camera point toward the reference point will be blocked by different highlighted blocks in the corresponding block (202D). In response to determining that the new viewpoint would be obscured by the highlight, a new sub-region (204D) is defined in the corresponding grid; and As part of rendering the corresponding block, blocks (206D) within the new sub-region of the corresponding grid in each block of the corresponding block are avoided from being highlighted.

6. The method according to claim 2, wherein, The sub-region includes a circle or a sphere, and the method further includes the following steps: Only the corresponding mesh in the sub-region is rendered; When the camera point is behind hidden weather within the sub-region, render the edges of the sub-region with a soft gradient (200E); and When the reference point is inside the hidden weather within the sub-region, the edge of the sub-region is rendered as a solid line (202E).

7. The method according to claim 1, further comprising the following steps: Before the rendered image is displayed on the GUI, additional information related to the reference point is overlaid on the corresponding grid during rendering; The highlighting is indicated by color, and at least two different blocks within the corresponding blocks have at least two different colors to indicate different highest intensity levels within the at least two different blocks; and the method further includes the following steps: The corresponding block is also rendered based on the weather type in the corresponding block.

8. The method according to claim 7, wherein, The weather type is rendered as the highlighted information changes.

9. The method according to claim 1, wherein, The highlighting is shown in color, and wherein at least two different blocks in the corresponding blocks have at least two different colors to indicate different highest intensity levels in the at least two different blocks, and wherein the method further includes the following steps: The corresponding block is also rendered based on the weather type in the corresponding block, wherein the weather type is rendered by changing the intensity, transparency, or hue of the at least two different colors in accordance with the change in the highlight.

10. The method according to claim 1, wherein, The corresponding lines and vertices form one of the following: square grid, hexagonal grid, triangular grid, radial grid, unstructured mesh grid, and curved grid.

11. The method according to claim 1, wherein, The rendered image includes a first rendered image, and the method further includes the following steps: Receive a second selection (200F) for the new selected altitude band; After receiving the new selected height band, a new rendered image (202F) is generated by rendering the corresponding mesh of the new selected height band. The rendering step further includes: Render the corresponding lines and vertices (204F) of the new selected height band; and Rendering the corresponding blocks of the new selected altitude zone includes: highlighting each corresponding block in the corresponding block according to the existing highest intensity weather events in each block of the new selected altitude zone; Stop displaying the first rendered image; and The new rendered image is displayed on the GUI.

12. The method according to any one of the preceding claims, wherein, The weather events in the plurality of weather events are selected from the group consisting of: clear weather, icing conditions, turbulence, crosswinds, clouds, cloud base, temperature, wind speed, and combinations thereof.

13. A system comprising: processor; A communication device, the communication device being connected to the processor; A non-transitory computer-readable storage medium, connected to the processor and storing the following: Weather data (102), the weather data (102) representing multiple weather events (104, 106) existing in at least one of multiple altitude zones (108) in a physical area centered on a reference point. The corresponding intensity levels (114, 116) are assigned to each of the multiple weather events (104, 106). The corresponding mesh is defined for each of the multiple height bands (108, 110, 112) in the physical region, and the corresponding mesh includes corresponding blocks defined by corresponding lines and vertices. The highest intensity weather event (128, 130) among the existing multiple weather events in each of the corresponding blocks. The selected altitude band (132) among the plurality of altitude bands (108, 110, 112), and The rendered image includes a corresponding grid of the selected altitude band (132), the corresponding grid of the selected altitude band (132) including: corresponding lines and vertices, and corresponding blocks (206F) highlighted according to the existing corresponding highest intensity level weather events in each block of the corresponding block of the selected altitude band. A preprocessor, which can be executed by the processor, to perform the following: Receive the weather data from the communication device (158). The corresponding intensity levels (114, 116) are assigned to each of the multiple weather events (104, 106). Each of the multiple height bands (108, 110, 112) is divided into the corresponding grid (118). Assign the existing highest intensity level (114, 116) weather data from the corresponding blocks (124, 126, 136, 140, 144) in the corresponding blocks of the multiple altitude bands (108, 110, 112) to each block, and Receive selection of the selected height band (132); and A rendering engine executable by the processor, the rendering engine being configured to generate the rendered image (134) by performing the following: Render the corresponding mesh (200B) of the selected height band by rendering the corresponding lines and vertices of the selected height band, and The corresponding block (202B) of the selected altitude zone is rendered by highlighting the corresponding blocks within each block based on the existing highest-intensity weather events in the corresponding blocks of the selected altitude zone; and A display device is connected to the processor and configured to display the rendered image (160).

Citation Information

Patent Citations

  • Distribution data display device, method, and program

    JP2014215731A