Patent Description:
In recent years, it is possible to three-dimensionally observe a condition of a cumulonimbus by a weather data processing apparatus which employs a phased array weather radar (PAWR). For example, by using a volume rendering technique, an observation result of a cumulonimbus can be three-dimensionally displayed on a screen of a computer.

Here, in the observation of the cumulonimbus, it is important to observe a central part of the cumulonimbus, which is called a core (mass of raindrops) that has a highest density. By observing the condition of generation of the core, the occurrence of torrential rain, for instance, can be predicted.

In a conventional weather data processing apparatus, the weather data collected by the PAWR is processed, and the observed cumulonimbus can be displayed as a three-dimensional (3D) image on the screen of the computer. Here, in the observation of the cumulonimbus, it is preferable that not only the 3D image of the entirety of the cumulonimbus, but also the observation result of the core of the cumulonimbus can be displayed. However, it is not easy to exactly detect the core of the cumulonimbus, without requiring complex weather data processing, and to display the image of the core of the cumulonimbus, together with the 3D image of the entirety of the cumulonimbus.

This being the case, there is a demand for realizing a weather data processing apparatus which can exactly detect the core of the cumulonimbus by relatively simple weather data processing, and can display the image of the core together with the 3D image of the entirety of the cumulonimbus.

Document <NPL>, describes a methodology for the real-time automated identification, tracking, and short-term forecasting of thunderstorms based on volume-scan weather radar data.

Document <NPL> discloses that electronic beam steering enables multimission phased array radar to rapidly and adaptively survey the atmosphere while detecting the tracking aircraft.

Patent document <CIT> describes systems and methods for creating and distributing programming content carried by a digital streaming media to be a plurality of remote nodes located over a large geographic area to create customized broadcast quality programming at the remote nodes.

The present invention provides a weather data processing apparatus, in accordance with claim <NUM>.

The present invention also provides a system, in accordance with claim <NUM>.

The present invention also provides a method of processing weather data observed by a weather radar, in accordance with claim <NUM>.

The present invention also provides a computer-readable storage medium storing a computer program, in accordance with claim <NUM>.

In general, according to one embodiment, a weather data processing apparatus includes a storage configured to store weather data observed by a weather radar, and a processor. The processor is configured to acquire three-dimensional data of a cumulonimbus from the weather data; to detect a core of the cumulonimbus by using a principal component analysis process of the three-dimensional data; to calculate core detection data for displaying the core; and to execute a display process for effecting three-dimensional display of the cumulonimbus, and display of the core, based on the three-dimensional data of the cumulonimbus and the core detection data.

Various embodiments will be described hereinafter with reference to the accompanying drawings.

<FIG> is a view illustrating the configuration of a system according to an embodiment. As illustrated in <FIG>, this system <NUM> is configured to include a weather data processing apparatus, a phased array weather radar (hereinafter referred to as "PAW radar") <NUM>, a network <NUM>, and a client computer <NUM>.

The PAW radar <NUM> is a weather radar which can three-dimensionally observe a weather phenomenon such as a cumulonimbus. The weather data processing apparatus includes a server <NUM>, a weather data storage <NUM>, and a core information storage <NUM>. The server <NUM> is composed of a processor and software. The processor executes various processes by software, and, as will be described later, the processor executes a core detection process of detecting a core of a cumulonimbus, a three-dimensional (3D) display process of a cumulonimbus, and a display process of a core.

The weather data storage <NUM> stores weather data (three-dimensional (3D) data) of an observation target (a cumulonimbus in this embodiment) which is observed by the PAW radar <NUM>. The weather data storage <NUM> stores map information including the position of the observation target, as well as the weather data that is the 3D data. The core information storage <NUM> stores core information including core detection data which is calculated by the core detection process of the cumulonimbus that is executed by the server <NUM>.

The server <NUM> is connected to the client computer <NUM> via the network <NUM> such as the Internet. The client computer <NUM> can request, via the network <NUM>, the server <NUM> to provide weather information of a cumulonimbus, etc. Responding to the request from the client computer <NUM>, the server <NUM> transmits display information for displaying a 3D image of the cumulonimbus and an image of the core on a screen <NUM> of the client computer <NUM>. The request from the client computer <NUM> includes information relating to a position and time of the cumulonimbus which occurred as a weather phenomenon.

<FIG> is a flowchart describing the operation of the system of the embodiment. As illustrated in <FIG>, the system <NUM> acquires, from the PAW radar <NUM>, weather data (3D data) indicative of an observation result of the cumulonimbus that occurred (step S1). The weather data acquired from the PAW radar <NUM> is stored in the weather data storage <NUM> (step S2).

The server <NUM> acquires 3D data, which is the weather data of the cumulonimbus, from the weather data storage <NUM>, and executes a core detection process of detecting the core of the cumulonimbus, by using the 3D data (step S3). The server <NUM> stores core information, which includes core detection data calculated by the core detection process, in the core information storage <NUM> (step S4).

Next, the server <NUM> determines whether the provision of weather information (the condition of the cumulonimbus in this example) was requested from the client computer <NUM> via the network <NUM> (step S5). If there is no request from the client computer <NUM>, the server <NUM> stores the core information in the core information storage <NUM>, and terminates the process (NO in step S5).

On the other hand, if there is the request from the client computer <NUM> (YES in step S5), the server <NUM> generates image data of the cumulonimbus and core (step S6). Here, the server <NUM> acquires the 3D data of the cumulonimbus from the weather data storage <NUM>, and acquires the core detection data from the core information storage <NUM>. The server <NUM> generates display information for displaying the 3D image of the cumulonimbus and the image of the core.

The server <NUM> transmits the generated display information to the client computer <NUM> via the network <NUM> (step S7). Based on the display information, the client computer <NUM> executes an application, and can thereby display the 3D image of the cumulonimbus and the image of the core (3D image and two-dimensional (2D) image) on the screen <NUM> (see <FIG>).

In the above operation of the system, the procedure of the core detection process (step S3), which the server <NUM> executes, will be described with reference to a flowchart of <FIG>. Here, in the present embodiment, the server <NUM> calculates the core detection data in which the core is described as, for example, an ellipsoidal image, by using a well-known principal component analysis (PCA) process as the core detection process. In this embodiment, the server <NUM> calculates, by the PCA process, a principal component (axis of principal component), based on the correlation between [x, y, z] variables at many three-dimensional (3D) vertices.

The server <NUM> acquires 3D data of the cumulonimbus, which is observed by the PAW radar <NUM>, from the weather data storage <NUM>. Specifically, the server <NUM> inputs data ([x, y, z, intensity],. ] indicative of an arrangement of 3D vertices with density information, which indicates the density of raindrops of the cumulonimbus (step S10). Here, the [x, y, z] is a parameter indicative of the 3D vertex, and [intensity] is a parameter indicative of the density. A part with the highest density indicates the core of the cumulonimbus.

The server <NUM> executes a selection process of selecting, from the input data, core vertices from the arrangement of 3D vertices, based on each of reference parameters of the lowest density of the core part and the lowest altitude of the vertex (step S11). The lowest density of the core part is a density which is used as a reference for detecting a detection target as the core. In addition, the lowest altitude of the vertex is an altitude which is used as a reference for eliminating the influence of a mountain or the like from the observation result of the cumulonimbus which is observed by the PAW radar <NUM>.

Next, the server <NUM> executes a group distinction process of grouping core vertices, which were selected by the selection process of step S11, by using the radius of a sphere as a parameter (step S12). The server <NUM> discards a group, which is excessively smaller than a reference among the respective groups, by using the minimum size (core vertex number) of the group as a parameter (step S13). Here, on the assumption that the center of the core has a highest density (core vertex number) of vertices, the radius of the sphere becomes longer in an order beginning with the vertex with a highest density.

The server <NUM> executes the PCA process, and calculates (detects) the center point and axis of each of groups (e.g. two groups) created by the group distinction process (step S14). Here, the axis is a principal component calculated by the PCA, and is an axial line of an inclination, which passes through the center point. Specifically, the server <NUM> outputs core detection data ([{center: [x, y, z], axis: [[x1, y1, z1], [x2, y2, z2], [x3, y3, z3],]},. ]) which indicates an arrangement of an object (an image of a core) describing, for example, an ellipsoid (step S15).

<FIG> is a view illustrating an example of the present object (the image of the core). Here, "center: [x, y, z]" corresponds to a center point <NUM> in <FIG>. The server <NUM> stores in the core information storage <NUM> the core information including the core detection data calculated by the PCA process. The core information includes the 3D data of the cumulonimbus stored in the weather data storage <NUM>, and information which is linked to map information.

Next, referring to a flowchart of <FIG>, the procedure of the group distinction process (step S12), which the server <NUM> executes, will be described.

As illustrated in <FIG>, on the assumption that the center of the core has a highest density of vertices (core vertex number), the server <NUM> generates a list of spheres including core vertices in an order beginning with the lowest density (step S20). The server <NUM> searches mutually intersecting spheres from the generated list (step S21). Moreover, the server <NUM> generates a group (i.e. a core) of vertices including the mutually intersecting spheres (step S22).

<FIG> are views illustrating examples of images corresponding to a series of processes of steps S20, S21 and S22. Here, <FIG> is a view illustrating an example of the image of mutually intersecting spheres. <FIG> is a view illustrating an example of generation of a group G1 and a group G2 including mutually intersecting spheres.

Here, as the radius of the sphere becomes greater, the group distinction process can be executed at a higher speed. However, as illustrated in <FIG>, if the radius of the sphere is too large, it is possible that two discrete cores are recognized as one core. Thus, on the assumption that the density of the vertex is highest at the center of the core, the server <NUM> calculates the radius of the sphere by the calculation formula "radius = density × α". Here, "α" is a parameter of the group distinction process. Accordingly, as illustrated in <FIG>, the server <NUM> can recognize a group including intersecting spheres, by distinguishing this group from between the two discrete groups.

Next, referring to flowcharts of <FIG> and <FIG>, a concrete description will be given of the generation process of the list of spheres (step S20) and the process (step S21) of searching intersecting spheres, these processes being included in the group distinction process.

As illustrated in <FIG>, the server <NUM> first sorts vertices in the order beginning with the lowest density (step S30). The server <NUM> determines whether the number of vertices of a predetermined core is <NUM> or not (step S31). If the determination result is greater than <NUM> (Yes in step S31), the server <NUM> executes a process of extracting a vertex with a highest density (step S32). The server <NUM> sets in the list a sphere having this vertex as its center (step S33).

Furthermore, the server <NUM> executes a process of extracting, from the list, the vertex included in the sphere (step S34). The server <NUM> repeats the process of step S32 to step S34, until the number of vertices of the predetermined core becomes <NUM>. If the number of vertices of the predetermined core becomes <NUM> (NO in step S31), the server <NUM> outputs the list of generated spheres (step S35).

Moreover, as illustrated in <FIG>, the server <NUM> prepares a list of spheres, which was generated in the initial stage, and a list of groups, which is empty (step S40). The server <NUM> determines whether the number of vertices of a predetermined core is <NUM> or not (step S41). If the determination result is greater than <NUM> (Yes in step S41), the server <NUM> executes a process of extracting a sphere (A) from the list of spheres (step S42). Next, the server <NUM> searches all groups including spheres which intersect with the sphere (A) (step S43).

The server <NUM> determines whether there is a group or not (step S44). In the initial stage, since there is no group (NO in step S44), the server <NUM> newly creates a group including the sphere (A) (step S46).

On the other hand, if there is a group including a sphere intersecting with the sphere (A) (YES in step S44), the server <NUM> executes a process of adding the sphere (A) by integrating this group (step S45). If the number of vertices of the predetermined core becomes <NUM> (NO in step S41), the server <NUM> outputs the list of groups of vertices including mutually intersecting spheres (step S47).

Next, referring to a flowchart of <FIG>, and <FIG>, a concrete description will be given of the core detection process (step S14) of detecting cores of each of groups (e.g. two groups).

To start with, the server <NUM> executes the PCA process of each group, and calculates a center point <NUM> (center: [x, y, z]) of each group (step S50). Further, the server <NUM> calculates a first axis (first principal component) which passes through the calculated center point <NUM> (step S51). As illustrated in <FIG>, this first axis is a straight line which passes through the center point <NUM> of each group.

Next, the server <NUM> executes a process of projecting the vertices of the group onto a normal plane to the calculated first axis (step S52). <FIG> is a view illustrating an example of the projection process. Further, the server <NUM> executes a PCA process on the result of the projection process, thereby calculating a second axis (second principal component) which is perpendicular to the calculated first axis (step S53). The server <NUM> calculates a third axis (axis <NUM>) by a cross product process from the calculated first axis (axis <NUM>) and second axis (axis <NUM>) (step S54). <FIG> is a view illustrating an example of the calculation result of the third axis (axis <NUM>).

Next, the server <NUM> converts the vertices to a coordinate system which is composed of the three axes, namely the first axis, second axis and third axis (step S55). The server <NUM> calculates a size of a core, based on the minimum value and maximum value of the converted coordinate system (step S56). Specifically, as illustrated in <FIG>, it is possible to calculate an image (see <FIG>) of the core which is formed of the shape of an ellipsoid, which agrees with a frame indicated by a broken line.

As described above, according to the present embodiment, the server <NUM> of the weather data processing apparatus acquires the 3D data of a cumulonimbus, which is observed by the PAW radar <NUM>, from the weather data storage <NUM>, and executes the core detection process which detects the core of the cumulonimbus by using the 3D data. Here, by using the well-known PCA process, the server <NUM> executes the core detection process which calculates the principal component (axis), based on the correlation between [x, y, z] variables at the 3D vertices of the core, and calculates the core detection data in which the core is described as, for example, an ellipsoidal image.

Furthermore, the server <NUM> stores in the core information storage <NUM> the core information including the core detection data calculated by the core detection process. This core information includes the 3D data of the cumulonimbus stored in the weather data storage <NUM>, and information which is linked to map information. Therefore, according to the present embodiment, a plurality of cores of the cumulonimbus can exactly be detected by the relatively simple data process which utilizes the well-known PCA process.

Moreover, in response to a request from the client computer <NUM> (including information relating to the position and time of the cumulonimbus that occurred), the server <NUM> acquires the 3D data of the cumulonimbus, and the core detection data from the core information storage <NUM>, and generates the display information for displaying the 3D image of the cumulonimbus and the image of the core. The server <NUM> transmits the generated display information to the client computer <NUM> via the network <NUM>.

The client computer <NUM> executes the application, based on the display information provided from the server <NUM>, thereby being able to display the 3D image of the cumulonimbus and the image of the core on the screen <NUM>. Specifically, in a display mode as illustrated in <FIG>, on the screen <NUM>, a 3D image <NUM> of the cumulonimbus is displayed on the map, and, for example, ellipsoidal images <NUM> and <NUM> (see <FIG>) of two cores, which are detected, are additionally displayed. Accordingly, on the screen <NUM> of the client computer <NUM>, the shape of the entirety of the cumulonimbus can be visualized by the 3D display <NUM>, and the positions and sizes of the plural cores can be understood at the same time.

In addition, a display mode as illustrated in <FIG> may be adopted. In this display mode, on the screen <NUM>, the 3D image <NUM> of the cumulonimbus is displayed on the map, and, for example, two-dimensional images <NUM> and <NUM> of ellipsoids of two cores, which are detected, are displayed. In the case of this display mode, it is possible to effectively display the cores in such a degree that the positions and sizes of the cores can be recognized, without hindering visualization of the entirety of the cumulonimbus by the 3D display. Besides, by making use of the core detection data, advection display (animation display) of the plural cores can be performed at the same time as the 3D display of the entirety of the cumulonimbus.

Claim 1:
A weather data processing apparatus comprising:
a storage (<NUM>) configured to store three-dimensional data of a cumulonimbus, the three-dimensional data including data of a density of raindrops, observed by a weather radar (<NUM>); and
a processor (<NUM>) configured to execute a display process for effecting three-dimensional image display of the cumulonimbus,
wherein the processor (<NUM>) is configured to:
acquire the three-dimensional data from the storage (<NUM>);
detect a core of the cumulonimbus, the core being a mass of raindrops with the highest density, by using a principal component analysis process to calculate a principal component based on a correlation between x, y, z variables at three-dimensional vertices of the three-dimensional data;
calculate core detection data for effecting three-dimensional image display of the core; and
execute a display process for effecting the three-dimensional display of the cumulonimbus and the three-dimensional image display of the core, based on the three-dimensional data of the cumulonimbus and the core detection data,
wherein the processor (<NUM>) is configured to:
generate, as the display process, display information for effecting the three-dimensional display of the cumulonimbus and the three-dimensional image display of the core, based on the three-dimensional data of the cumulonimbus and the core detection data, in response to a request from a computer (<NUM>) via a network (<NUM>); and
transmit the display information to the computer (<NUM>) via the network (<NUM>).