This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-159476, filed on Aug. 12, 2015, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a path graph generation method, a path graph generation device, and a storage medium.
In analyzing locus data of a moving body, which has been collected by a sensor, such as a Global Positioning System (GPS) device, or the like, techniques for creating a path graph from the locus data are disclosed. For example, a technique has been proposed for creating a path graph by integrating a plurality of locus data that are close in distance with each other. It is possible to analyze, for example, a flow rate, or the like of a moving body for each path using the created path graph. As the related art, for example, Japanese Laid-open Patent Publication No. 2015-76069, and the like are disclosed.
However, for example, for certain two moving bodies, even if the distance between the moving bodies, which is indicated by respective locus data, is short, there are cases where the moving bodies exist in physically or conceptually different areas. In this case, it may not be possible to make an analysis in consideration of the difference in physically or conceptually different areas using a path graph created by integrating the locus data of the two moving bodies into the same path. Accordingly, it is desirable to create a path graph in consideration of the difference in the areas.
According to an aspect of the invention, a path graph generation method executed by a processor included in a path graph generation device, the method includes acquiring a plurality of pieces of locus information regarding a plurality of moving bodies, the locus information including each information on a plurality of positions acquired at predetermined time intervals, each of the plurality of positions being associated with a label indicating a belonging area; determining, for each of the plurality of pieces of locus information, whether to integrate two or more positions having an each other's distance less than or equal to a predetermined distance among the plurality of positions into one position, based on the label associated with each of the two or more positions; and setting the one position to a node position and thereby generating the path graph, when it is determined to integrate the two or more positions into the one position.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
First, a description will be given of problems in the case of generating a path graph without considering the difference in areas at the time of generating a path graph before giving a detailed description of the embodiments.
Here, as illustrated on the left side of
Thus, in the following embodiments, a path graph is generated in consideration of the difference in areas.
In the following, a detailed description will be given of an example of the embodiments of the present disclosure with reference to the drawings. In the present embodiment, as an example of the difference in areas, a description will be given of the case of generating a path graph in consideration of the difference between an area inside the ticket gates of a station and an area outside the ticket gates in the same manner as the example in
As illustrated in
The locus data set 21 is a set of locus data 22 representing loci schematically illustrated in
The observation data includes a sensor ID for identifying a sensor, position data (x-coordinate and y-coordinate) indicated by a latitude and a longitude for each observed position (observation point 23, x mark in
Further, the locus data 22 in the present embodiment is provided with a label indicating whether the position denoted by the observation point 23 is inside the ticket gates or outside the ticket gates for each observation point 23. In the example in
For example, it is assumed that the observation points 23 included in the locus data ti are Pi1, Pi2, . . . , Pij, . . . , PiJ (J is the number of observation points 23 included in the locus data ti). In this case, it is possible to express the locus data ti as ti={Pi1, Pi2, . . . , Pij, . . . , Pik}. The observation data indicating each of the observation points 23 includes a locus ID of the locus data 22 including the observation point 23, an observation point ID, which is the identification information of the observation points 23, position data (x-coordinate and y-coordinate), observation time, and label information. For example, it is possible to express the observation data of the observation point Pij included in the locus data ti as Pij={ti, Pij, (xij, yij), sij, 0}. The coordinates (x, yu) are the position data of the observation point Pij, and sij is the observation time of the observation point Pij. In this example, the label indicating whether the position indicated by the observation point 23 is inside the ticket gates or outside the ticket gates is defined as “0=inside the ticket gates” and “1=outside the ticket gates”. In the following, the observation point having the observation point ID of Pij is also expressed as an “observation point Pij”. It is possible to express the locus data set 21 as illustrated in
As described later, the path graph 24 is generated by integrating a plurality of locus data 22. As illustrated in
As illustrated in
The path graph generation device 10 functionally includes a reception unit 11, an integration unit 12, a generation unit 13, and an output unit 14.
The reception unit 11 passes each of the locus data 22 included in the locus data set 21 that was input into the path graph generation device 10 to the integration unit 12.
The integration unit 12 determines whether or not each of the observation points 23 included in each of locus data 22 satisfies a proximity distance criterion with the observation points 23 included in the other locus data 22. Satisfying the proximity distance criterion is referred to as the case where the distance between the observation points 23 is less than or equal to a predetermined distance E. If the labels given to the respective observation points 23 that satisfy the proximity distance criterion are the same, that is to say, if the positions indicated by the observation points 23 belong to the same area (inside the ticket gates or outside the ticket gates), the integration unit 12 integrates the plurality of observation points 23 into the same node 25.
In the present embodiment, locus data is integrated into a path graph 24 generated at the current stage one by one, and at the stage when all the locus data 22 included in the locus data set 21 has been completed in integration, the path graph 24 is output as a final path graph 24. Accordingly, “integrating a plurality of observation points 23 into the same node 25” described above corresponds to the fact that the observation points 23 satisfying the proximity distance criterion and having the same label are integrated into the node 25 in the present embodiment.
If there are no nodes 25 that satisfy the proximity distance criterion with each of the observation points 23 included in each of the locus data 22, or if there is a node 25 that satisfies the proximity distance criterion, but does not have the same label, the integration unit 12 generates a new node 25 corresponding to the observation point 23. The integration unit 12 gives the same label as that of the corresponding observation point 23 to the generated node 25. The integration unit 12 adds node information indicating the generated node 25 to the data structure of the path graph 24 as illustrated in
If a node 25 is generated by the integration unit 12, the generation unit 13 connects the node 25 with an edge 26 to generate a path graph 24. Specifically, the generation unit 13 connects the node 25 that is newly generated by the integration unit 12 to a node 25 corresponding to the observation point 23 immediately before the observation point 23 corresponding to that node 25 with an edge 26. At this time, if the newly generated node 25 and the node 25 corresponding to the immediately before observation point 23 have the same given labels, the generation unit 13 connects the nodes 25 with a normal edge 26A node 25. On the other hand, if the newly generated node 25 and the node 25 corresponding to the immediately before observation point 23 have different labels, the generation unit 13 connects the nodes 25 with a cross-type edge 26B.
The integration unit 12 adds the edge information indicating the edge 26 that has connected the nodes 25 to the data structure of the path graph 24 as illustrated in
Thereby, a segment of the locus data 22, which is constituted by the observation points 23 that belong to the inside of the ticket gates, is associated with a part representing a path inside the ticket gates among the path graph 24. The segment of the locus data 22, which is constituted by the observation points 23 that belongs to the outside the ticket gates, is associated with a part representing a path outside the ticket gates among the path graph 24. That is to say, in the path graph 24, it is possible to distinguish a path inside the ticket gates from a path outside the ticket gates. Even if the locus data 22 crosses inside and outside the ticket gates, it is possible to consecutively associate a path inside the ticket gates and a path outside the ticket gates with the graph 24 without stopping association on the way. Accordingly, it is possible to generate a path graph 24 in which a path inside the ticket gates and a path outside the ticket gates are connected.
The output unit 14 outputs a finally generated path graph 24.
It is possible to actualize the path graph generation device 10 by a computer 40 illustrated in
It is possible to actualize the storage unit 43 by a hard disk drive (HDD), a solid state drive (SSD), a flash memory, or the like. The storage unit 43 as a storage medium stores a path graph generation program 50 for causing the computer 40 to execute as the path graph generation device 10. The storage unit 43 includes a path graph information storage area 60 in which information of the path graph 24 including the node information and the edge information as illustrated in
The CPU 41 reads the path graph generation program 50 from the storage unit 43 and loads the program into the memory 42. The CPU 41 then executes the processes possessed by the path graph generation program 50 in sequence. The CPU 41 reads the node information and the edge information from the path graph information storage area 60, and expands the path graph 24 in the memory 42.
The path graph generation program 50 includes a reception process 51, an integration process 52, a generation process 53, and an output process 54. The CPU 41 executes the reception process 51 so as to operate as the reception unit 11 illustrated in
It is possible to perform the functions that are achieved by the path graph generation program 50 by a semiconductor integrated circuit, more specifically, by an application specific integrated circuit (ASIC), or the like, for example.
Next, a description will be given of the operation of the path graph generation device 10 according to the present embodiment. When the locus data set 21 is input into the path graph generation device 10, the path graph generation processing illustrated in
In the path graph generation processing of S10 illustrated in
Next, in S20, the reception unit 11 determines whether processing for integrating into the path graph G have been completed for all the locus data ti included in the input locus data set 21. If there is unprocessed locus data ti, the processing proceeds to S30. In S30, the reception unit 11 selects one unprocessed locus data ti from the locus data set 21 and passes the data to the integration unit 12. In the next S40, the path graph update processing, the details of which are illustrated in
In the path graph update processing of S41 illustrated in
Next, in S42, the integration unit 12 determines whether or not Lc and Lp are equal, that is to say, determines whether or not the observation point n to be processed and the observation point 23 (in the following, denoted as “observation point n′”) processed immediately before have the same label. If determined that Lc=Lp, the processing proceeds to S43. If determined that Lc≠Lp, the processing proceeds to S48.
In S43, the integration unit 12 determines whether there are nodes 25 having a label of Lc within a distance E from the observation point n or not. If determined that there is a node 25, the processing proceeds to S44. On the other hand, if determined that there are no nodes 25, the processing proceeds to S47.
In S44, the generation unit 13 sets a node 25 that is nearest to the observation point n among the nodes 25 having the label Lc, which have been determined to be existent in the above-described S43, to the node N. The generation unit 13 sets a node 25 corresponding to the observation point n′ that has been processed immediately before to the node N′.
Next, in S45, the generation unit 13 determines whether the node N and the node N′ are not identical, and there are no edges 26 that connect the node N and the node N′. If determined to be No (N), the processing proceeds to S46, and the generation unit 13 connects the node N and the node N′ by a normal edge 26A. On the other hand, if the node N is equal to the node N′, or if the node N and the node N′ are already connected by the edge 26, the nodes do not have to be further connected by an edge, and thus the processing of S46 is skipped.
In S47, the generation unit 13 newly creates a node N having the label Lc at the position indicated by the position data included in the observation data indicating the observation point n. The generation unit 13 sets the node 25 corresponding to the observation point n′ processed immediately before to a node N′. The processing then proceeds to S46, and the generation unit 13 connects the node N and the node N′ by a normal edge 26A.
On the other hand, if determined that Lc≠Lp and the processing proceeds to S48, the integration unit 12 determines whether there are nodes 25 having the label of Lc within a distance of E from the observation point n in the same manner as the above-described S43. If determined that there is a node 25 having the label of Lc, the processing proceeds to S49. On the other hand, if determined that there are no nodes 25, the processing proceeds to S52.
In S49, the generation unit 13 sets a node 25 that is the nearest to the observation point n to the node N in the same manner as the above-described S44. The generation unit 13 then sets a node 25 corresponding to the observation point n′ processed immediately before to the node N′.
Next, in S50, the generation unit 13 determines whether there are no edges 26 connecting the node N and the node N′ or not. If determined that there are no edges, the processing proceeds to S51. The generation unit 13 then connects the node N and the node N′ by a cross-type edge 268. On the other hand, if the node N and the node N′ are already connected by an edge 26, the processing of S51 is skipped.
In S52, the generation unit 13 newly creates a node N having a label of Lc at the position of the observation point n in the same manner as above-described S47, and sets a node 25 corresponding to the observation point n′ processed immediately before to the node N′. The processing then proceeds to S51. The generation unit 13 then connects the node N and the node N′ by a cross-type edge 268.
Next, in S53, the integration unit 12 determines whether or not the above-described processing has been completed for all the observation points included in the locus data ti. If determined that there is an unprocessed observation point, the processing proceeds to S54. In S54, the integration unit 12 sets the label, which is currently set to Lc, to Lp, sets n to the observation point Pu of the next observation time in the locus data ti, and sets Lc to the label of the observation point n. The processing then returns to S42.
If determined that the above-described processing has been completed for all the observation points included in the locus data ti, the path graph update processing is terminated, and the processing returns to the path graph generation processing (
Returning to the path graph generation processing of S20 illustrated in
Here, a description will be specifically given of the case where the locus data set 21 including the locus data ti (i=1, 2, . . . , 6) as illustrated in
t1={P11, P12, P13, P14}
t2={P21, P22, P23, P24, P25, P26}
t3={P31, P32, P33, P34}
t4={P41, P42, P43, P44}
t5={P51, P52, P53, P54, P55, P56}
t6={P61, P62, P63, P64}
At a stage of integrating the locus data t1 into the path graph G, the path graph G is an empty graph. Accordingly, as illustrated in
Next, as illustrated in
Next, as illustrated in
Next, as illustrated in
Next, as illustrated in
Next, as illustrated in
As described above, with the path graph generation device according to the present embodiment, each of the observation points included in the locus data is provided with a label in accordance with an area to which the position indicated by the observation point belongs. Next, at the time of integrating the locus data into the path graph, each of the observation points is integrated into a node with which the observation point satisfies the proximity distance criterion and has the same label. The node is provided with the same label as the label that has been given to the observation point integrated to that node. Thereby, it is possible to generate a path graph in consideration of the difference in areas.
Between the nodes to which different labels are given, an edge different from the edge that connects the nodes having the same label is used for connection, and thus it is possible to associate locus data that crosses different areas with a path graph without stopping association.
By matching the locus data with the generated path graph and making an analysis as described above, it is possible to analyze a flow of people passing in each of the areas inside and outside the ticket gates, and people passing through the ticket gates, a flow rate, and the like. It is also possible to analyze a detailed flow of people before and after passing a ticket gate, for example among people who have passed the leftmost ticket gate, the larger number of people turn left than the number of people who go straight, or the like. The locus data to be used for matching may be the locus data used for generating a path graph, or may be the other locus data. The matching of the locus data with the path graph means that each of the observation points included in the locus data is associated with any one of the nodes in a path graph based on the proximity of the distance, and the locus indicated by the locus data is associated with any one of paths included in a path graph.
When a flow rate of a moving body is obtained using a path graph, the flow rate ought to be obtained based on the number of observation points associated with each of the nodes of the path graph at the time of matching the locus data with the path graph.
At the time of generating a path graph, the number of observation points integrated into each node may be held as information on a flow rate. Further, at the time of displaying a path graph on a screen, or the like, the width, the color, the type of line of an edge between the nodes, or the like may be changed in accordance with information on the flow rate held by the nodes on both ends of the edge.
In the above-described embodiment, a description has been given of the case where an area is distinguished by the difference in an area inside the ticket gates and an area outside the ticket gates. However, the present disclosure is not limited to this. For example, each booth in an exhibition hall, each store at a department store, or the like may be used as a respective area.
Further, the difference in areas is not limited to the difference in physical (on a two-dimensional plane) areas. The difference in areas may be the difference in conceptual areas, for example, the difference in areas may be distinguished by whether inside an area, such as in a vehicle, on a train, or the like or outside the area. In this case, for example, a label indicating moving on foot, or moving in a car, or the like ought to be given to each of the observation points of the locus data. For a method of giving a label, for example, it is possible to obtain a speed of a moving body for each observation point from the distance between the individual observation points among the locus data and the observation time, to determine whether on foot or travel by car from the moving average of the speed at a predetermined number of observation points, or the like in order to give the label. If a person rides in a taxi, or the like, the locus data observed by a GPS device mounted on a mobile terminal held by the person substantially matches the locus data observed by a GPS device mounted on a car navigation system of the taxi in which the person rode. Using such information, it is possible to give a label indicating the difference between on foot and travel by car to the locus data of that person. A sensor, such as a GPS device, or the like ought to be set so as to make it possible to give information on transportation measures to the observation data.
When a path graph is generated in consideration of the difference in conceptual areas like this, it is possible to make a detailed path analysis in consideration of changing transportation measures. For example, it is possible to analyze a movement path of a person up to the point in time of riding in a taxi, a movement path of a person after riding in a taxi, or the like.
For the information for distinguishing by a label, in addition to an area, or a transportation device, a period of time to which the observation time of each observation point belongs, an attribute (gender in the case of a person, a vehicle type, or the like in the case of a vehicle) of a moving body, or the like may be applied.
In the above, a description has been given of the mode in which the path graph generation program 50 is stored (installed) in the storage unit 43 in advance. However, the present disclosure is not limited to this. It is possible to provide a program according to the disclosed technique in the mode of being recorded on a recording medium, such as a CD-ROM, a DVD-ROM, a USB memory, or the like.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2015-159476 | Aug 2015 | JP | national |