Path calculation method and device in building, program product and readable storage medium

By generating the connectivity diagram of the building and the apex of the apex weight, the apex is used to solve the complex and time -consuming and time -consuming problems of the internal path of the building, and the rapid and accurate traffic path acquisition is achieved.

CN119334359APending Publication Date: 2025-01-21BWTON TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202411900774.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

The calculation logic of the internal path of a building is complex and time-consuming, making it difficult to quickly find the path of a designated area in large buildings or subway stations.

Method used

By generating the line diagram of the building and converting it into a connecting diagram, positioning the starting point and end point, the apex is available to select the vertex to form the possible path, and the pass path is obtained through the back of the end point of the vertex.

Benefits of technology

The logic and time efficiency of the internal path calculation of the building can be achieved, and the pass path from the starting point to the finish line can be quickly and accurately obtained.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119334359A_ABST
    Figure CN119334359A_ABST
Patent Text Reader

Abstract

The invention discloses a path calculation method and device in a building, a program product and a readable storage medium, and the method can achieve the calculation of a path in the building, and can achieve the obtaining of all possible paths based on the vertex weight between vertexes through a line network graph in the building. According to the method, the implementation logic is simple, the time cost is low, and the consumed time is short.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of building information application, and in particular to a path calculation method in a building, a computer device, a computer program product and a computer-readable storage medium. Background Art

[0002] There are many areas in buildings, especially various large buildings, such as multi-story or even super-high-rise buildings, and large subway stations. The traffic in each area is often complicated. If you need to reach a specified area, you often have to rely on blindly moving and searching to each area, and you cannot get the current path to the specified area.

[0003] Therefore, it is urgent to realize path calculation in buildings to provide a passage path for internal traffic of buildings. The path calculation implemented inside buildings is mostly realized by performing simulation calculations of traffic in various areas inside the building through digital twin technology. For example, the simulation calculation continuously simulates manual travel and search. The entire execution process is logically complex and time-consuming.

[0004] Based on this, for passage inside buildings, there is a dilemma that the implementation logic of path calculation is complex and time-consuming. Summary of the invention

[0005] In order to solve the technical problem in the related art that the path calculation inside a building is logically complex and time-consuming, the present invention provides a path calculation method in a building, a computer device, a computer program product and a computer-readable storage medium.

[0006] According to one embodiment of the present application, a path calculation method in a building is disclosed, the method comprising: Generating a connectivity graph for a wire-net graph of a building, wherein the wire-net graph covers a traversable area within the building; Locating a starting point and an end point of the path calculation performed on the connected graph, wherein the located starting point and end point both correspond to vertices on the connected graph; Taking the vertices in the connected graph as candidate objects, iteratively selecting vertices between the starting point and the end point according to the vertex weights calculated for the candidate objects, the selected vertices constitute all possible paths from the starting point to the end point; The vertices on all possible paths are back-traced according to the vertex weights corresponding to the end point to obtain a pass path from the start point to the end point.

[0007] According to another embodiment of the present application, the network diagram includes several traffic routes within the building, and several road sections distributed in the passable area within the building are connected end to end to form the traffic routes, and the road sections can be closed to adapt to the building components within the building.

[0008] According to another embodiment of the present application, the vertices in the connected graph are taken as candidate objects, and the vertices between the starting point and the end point are selected iteratively according to the vertex weights calculated by the candidate objects, and the selected vertices constitute all possible paths from the starting point to the end point, including: The vertex corresponding to the starting point is taken according to the configured vertex weight and saved into a set, where the set is the set of vertices for which the path calculation has been completed; Relative to the vertex currently saved in the set, other vertices directly connected to the vertex in the connectivity graph are taken as candidate objects, the vertex weight of the vertex and the edge weight corresponding to the directly connected edge are adapted to update the vertex weight of the candidate object, and when the update is completed, vertices of the candidate object are selected to the set according to the vertex weight until the vertex corresponding to the end point is selected and saved in the set, and the vertices in the set constitute all possible paths from the starting point to the end point.

[0009] According to another embodiment of the present application, taking the vertex corresponding to the starting point according to the configured vertex weight and saving it to the set includes: Initializing the vertex weights of each vertex in the connected graph so that the vertex corresponding to the starting point is smaller than the vertex weights of other vertices; The vertex corresponding to the minimum vertex weight is selected and saved into the set.

[0010] According to another embodiment of the present application, relative to the vertex currently saved in the set, other vertices directly connected to the vertex in the connectivity graph are used as candidate objects, the vertex weight of the vertex and the edge weight corresponding to the directly connected edge thereof are adapted to update the vertex weight of the candidate object, and when the update is completed, vertices of the candidate object are selected to the set according to the vertex weight, including: According to the vertex currently saved in the set, other vertices directly connected to the vertex in the connectivity graph are taken as candidate objects; Recalculating the vertex weight of the candidate object according to the vertex weight of the vertex and the edge weight of the direct edge from the vertex to the candidate object; The weight of the candidate object is updated according to the size relationship between the recalculated vertex weight and the original vertex weight of the candidate object.

[0011] According to another embodiment of the present application, relative to the vertex currently saved in the set, other vertices directly connected to the vertex in the connectivity graph are used as candidate objects, the vertex weight of the vertex and the edge weight corresponding to the directly connected edge thereof are adapted to update the vertex weight of the candidate object, and when the update is completed, vertices of the candidate object are selected to the set according to the vertex weight, including: When the vertex weights of the candidate objects are updated, the vertex with the smallest vertex weight is selected from the candidate objects and saved in the set. The saving of the vertex in the set will trigger the vertex directly connected to it to be added as a candidate object.

[0012] According to another embodiment of the present application, the step of backtracking vertices on all possible paths according to the vertex weights corresponding to the end point to obtain a pass path from the start point to the end point includes: According to the vertex weight corresponding to the end point, iteratively trace back from the vertex corresponding to the end point to the previous vertex corresponding to the minimum vertex weight until it traces back to the vertex corresponding to the starting point; The vertex sequence obtained by backtracking is reversed to obtain a pass path from the starting point to the end point.

[0013] According to another embodiment of the present application, a computer device is disclosed, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method.

[0014] According to another embodiment of the present application, a computer program product is disclosed, including a computer program, wherein the computer program implements the steps of the above-mentioned method when executed by a processor.

[0015] According to another embodiment of the present application, a computer-readable storage medium is disclosed, on which a computer program is stored. When the program is executed by a processor, the steps of the method described above are implemented.

[0016] The technical solution provided by the embodiments of the present invention may have the following beneficial effects: For buildings that are deployed to implement internal path calculation, a connectivity graph will first be generated for their wire network graph, which covers all passable areas within the building. Then, the starting point and end point of the path calculation will be located in the connectivity graph. The located starting point and end point correspond to the vertices on the connectivity graph. The vertices in the connectivity graph are then used as candidate objects. The vertices between the starting point and the end point are iteratively selected based on the vertex weights calculated for the candidate objects. The selected vertices constitute all possible paths from the starting point to the end point. Finally, the vertices on all possible paths are backtracked based on the vertex weights corresponding to the end point to obtain the passable path from the starting point to the end point. Therefore, with the help of the wire network graph inside the building, all possible paths can be obtained based on the vertex weights between the vertices, and the passable path can be determined therefrom. The implementation logic is simple, with low time cost and short time consumption.

[0017] It is to be understood that the foregoing general description and the following detailed description are exemplary only and are not restrictive of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0019] Figure 1 It is a flowchart of a path calculation method in a building provided according to an embodiment of the present application.

[0020] Figure 2 The diagram is a distribution diagram of some vertices and direct edges in a connected graph according to an embodiment.

[0021] Figure 3 is based on Figure 1 The corresponding embodiment shows a method flow chart describing the steps of taking vertices in a connected graph as candidate objects, iteratively selecting vertices between a starting point and an end point according to vertex weights calculated for the candidate objects, and the selected vertices constituting all possible paths from the starting point to the end point.

[0022] Figure 4 is based on Figure 3 A flowchart of a method for describing the step of saving the vertices corresponding to the starting point according to the configured vertex weights into a set is shown in the corresponding embodiment.

[0023] Figure 5 is based on Figure 3The corresponding embodiment shows a method flow chart describing the steps of updating the vertex weights of the candidate objects by adapting the vertex weights and the edge weights corresponding to the direct connections thereof to the vertices currently saved in the set, taking other vertices directly connected to the vertices in the connectivity graph as candidate objects, and selecting vertices from the candidate objects to the set according to the vertex weights when the update is completed, until the vertex corresponding to the end point is selected and saved in the set, and the vertices in the set constitute all possible paths from the start point to the end point.

[0024] Figure 6 is based on Figure 1 The corresponding embodiment shows a method flow chart describing the steps of backtracking vertices on all possible paths according to the vertex weights corresponding to the end point to obtain a pass path from the start point to the end point.

[0025] Figure 7 is based on Figure 2 Schematic diagram of edge weights marked for calculating edge weights of direct edges between vertices according to the corresponding embodiment.

[0026] Figure 8 is based on Figure 7 A schematic diagram of vertex weight markings of some vertices shown in the corresponding embodiment.

[0027] Fig. 9 is based on Figure 8 A schematic diagram of vertex weight marking according to the corresponding embodiment.

[0028] Fig.10 is based on Fig. 9 A schematic diagram of iterative path calculation according to the embodiment.

[0029] Fig.11 is based on Fig.10 A schematic diagram of iterative path calculation according to the embodiment.

[0030] Fig.12 is based on Fig.11 A schematic diagram of vertex distribution is shown in the corresponding implementation.

[0031] Fig.13 is based on Fig.12 Schematic diagram of the changes of vertex V2 and vertex V6 after closing in the corresponding embodiment.

[0032] Fig.14 The figure is a schematic diagram of an evacuation route in a subway tunnel according to an exemplary embodiment. DETAILED DESCRIPTION

[0033] Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.

[0034] The embodiment of the present application provides a path calculation implementation for internal passage of a building, so that the calculated passage path can be used to accurately and quickly travel from the current starting point to the end point, eliminating the need to blindly travel and search inside the building to reach a location.

[0035] Therefore, through the embodiment of the present application, a person can be located inside a building and quickly and accurately obtain a passage path to a destination based on the current starting point.

[0036] See also Figure 1 , Figure 1 1 is a flow chart of a path calculation method in a building provided in an embodiment of the present application. A path calculation method in a building provided in an embodiment of the present application includes: Step S110, generating a connectivity graph for the line network graph of the building, where the line network graph covers the passable area in the building; Step S120, locating the starting point and the end point of the path calculation in the connected graph, wherein the located starting point and the end point both correspond to vertices on the connected graph; Step S130, taking the vertices in the connected graph as candidate objects, iteratively selecting vertices between the starting point and the end point according to the vertex weights calculated for the candidate objects, and the selected vertices constitute all possible paths from the starting point to the end point; Step S140, backtracking the vertices on all possible paths according to the vertex weights corresponding to the end point to obtain a pass path from the start point to the end point.

[0037] These steps are described in detail below.

[0038] In step S110, it should be noted that there are many passable areas distributed inside the building. In other words, the passable areas are connected to each other to form the passable range inside the building. Each passable area has its road section, and several road sections are connected end to end to form the passable route of the passable range inside the building. The formed passable route is not unique.

[0039] Based on this, a connectivity graph is generated for the line network diagram that marks each passable area and the routes between each passable area. In other words, the path calculation inside the building is implemented by using the line network diagram that marks the road sections inside the building and the routes formed by the road sections as input.

[0040] Most of the navigable routes in a building are straight lines from door to door, door to stairs, and door to elevator. The routes are not too complicated, making it possible to generate a line network map that marks the internal sections of the building and the navigable routes, thereby lowering the threshold for path calculation in the building and providing a data source for the implemented path calculation.

[0041] And thanks to the simple and accurate route marking and representation in the network diagram, the path calculation logic based on this is simple, and the time consumption and complexity are low.

[0042] During the execution of step S110, for each building deployed to implement internal path calculation, its internal wire network diagram is loaded, and a connectivity diagram is generated for the loaded wire network diagram.

[0043] It should be understood that the loaded wire mesh diagram corresponds to the generated connectivity diagram, that is, the road sections distributed in each traversable area on the wire mesh diagram and the traversable routes obtained by connecting each traversable area correspond to the connectivity paths formed by the vertices and edges between the vertices in the connectivity diagram.

[0044] By converting the wire network graph into a connected graph, the searchable vertices for generating paths are provided for the calculation of internal paths in buildings, which efficiently and simply ensures the generation of the final access route, as well as the connectivity and reliability of the generated access route.

[0045] Thus, a connected graph can be generated through step S110, and each point is distributed on the connected graph corresponding to the passable area marked in the wire mesh graph. In other words, the vertices on the connected graph belong to the passable area distributed on the wire mesh graph. Specifically, the vertices on the connected graph correspond to the points on the passable area of ​​the wire mesh graph, and the edges between the vertices are used to characterize the connectivity between the vertices on the connected graph, and then the paths on the connected graph are characterized by analogy. The paths on the connected graph, that is, the aforementioned connected paths, correspond to the passable routes distributed on the wire mesh graph.

[0046] At this point, it should be supplemented that the traffic route formed by connecting the road sections distributed in the passable area end to end will be adapted to the building components inside the building and there will be closable sections, that is, the building components inside the building will be adapted to make specific sections closable.

[0047] Exemplarily, the building component is an element that blocks the connected path inside the building, such as a door, staircase, and elevator, which are not limited here. The distribution of the building component on the connected path will cause the connectivity between the corresponding vertices to be cut off. Therefore, as the building component is closed to the section where it is located, the corresponding connectivity, that is, the combination of vertices and edges is also closed and will no longer be used for path calculation, or this vertex and edge combination is closed in all possible paths obtained by path calculation, thereby enabling the path calculation to dynamically adapt to the temporary changes of the building components in the building, thereby enhancing the accuracy and reliability of the path calculation.

[0048] For at least one building component such as doors, stairs and elevators distributed on a specific passage route in the network diagram, when specifying to close some doors, stairs and / or elevators and other building components, the executed path calculation will be immediately affected, thereby changing the calculated passage path, and the calculated passage path will be blocked.

[0049] After the connectivity graph inside the building is generated in step S110, the starting point and the end point of the path calculation are located on the connectivity graph in step S120, and the path calculation is then performed based on the vertices on the connectivity graph corresponding to the starting point and the end point, respectively.

[0050] The starting point and the end point located on the connected graph may be located on a vertex and / or may not overlap with a vertex. Exemplarily, the starting point and the end point located on the connected graph are both located at a vertex on the connected graph. In addition, the starting point may be located on a vertex and overlap with the vertex, while the end point may not overlap with a vertex on the connected graph, for example, it may be located around one or some vertices. There may also be a situation where the starting point does not overlap with any vertex on the connected graph, and only the end point is located on a vertex and overlaps with the vertex. There may even be a situation where neither the starting point nor the end point overlaps with a vertex. In any case, it is necessary to determine the vertices corresponding to the starting point and the end point located on the connected graph, so that path calculation can be performed on the vertices corresponding to the starting point and the end point in the execution of subsequent steps.

[0051] To further illustrate, in a connected graph, the corresponding vertices are determined according to the positions of the starting point and the end point. For example, if there is a vertex at the position, then the vertex is the corresponding vertex, and there is a corresponding relationship between the vertex and the starting point or the end point at the position.

[0052] If there is no vertex at the location, it is necessary to determine the corresponding vertex for the starting point or end point at the location. The execution process of determining the corresponding vertex for the starting point or end point at the location can be achieved by determining the vertex corresponding to the shortest distance relative to the location, so as to accurately locate the current vertex and ensure that the path calculation based on the vertex can be as close to the end point as possible, thereby enhancing the indoor path planning capability of the building.

[0053] The selection and positioning of the starting point and the end point on the connectivity graph can be achieved by selecting the location of the initiated path calculation. Of course, the selection of the starting point can also be achieved by positioning the current indoor position of the building in various ways, which are not listed or limited here.

[0054] Regardless of whether the selected starting point and end point overlap with the vertices on the connected graph, the vertices corresponding to each of them will be determined in step S120, and then all possible paths from the starting point to the end point can be obtained by performing path calculation through the execution of step S130 based on this.

[0055] In step S130, facing the numerous vertices distributed in the connected graph, the vertex weights are used to select the vertices along the possible path between the starting point and the end point, and in the continuous selection of vertices for the possible path, other vertices directly connected to the selected vertices are used as candidates for the next vertex selection.

[0056] At this point, it should be clear that the selection of vertices on the possible path and the addition of other vertices directly connected to the vertex as candidate objects are two linked execution processes. In other words, the selection of new vertices on the possible path also means the addition of new candidate vertices, that is, the increase of candidate objects, thereby broadening the scope of path calculation and ensuring the comprehensiveness of path calculation.

[0057] Vertex selection for candidate objects is based on vertex weights. Weight configuration is performed on the connected graph so that each vertex and edge has its weight. Corresponding to the vertex and edge, the weight includes vertex weight and edge weight. Among them, vertex weight is used to characterize the total weight from the vertex corresponding to the starting point to the corresponding vertex. Vertex weight is relative to the vertex, and edge weight is relative to the direct edge between vertices. Regardless of vertex weight or edge weight, it measures the possibility of the corresponding vertex and direct edge being included in the calculated possible path.

[0058] Exemplarily, vertex weights and edge weights can be measured by distance, so that the path calculation based on vertex weights and edge weights is an execution process of finding the shortest path between the starting point and the end point, that is, iteratively selecting vertices between the starting point and the end point according to the minimum vertex weight.

[0059] For a vertex, it is connected to the previous vertex through a direct edge. The previous vertex has its vertex weight, and correspondingly, the connected direct edge also has its edge weight. Therefore, the vertex weight of the current vertex can be obtained through the vertex weight of the previous vertex and the edge weight of the direct edge, that is, the sum of the vertex weight of the previous vertex and the edge weight of the direct edge can be used as the vertex weight of the current vertex. As the vertex weight is updated, the weight of the corresponding vertex can be recalculated.

[0060] In an exemplary embodiment, in the path calculation performed, the vertex weights of all vertices are first initialized, and the vertex weight initialization is performed so that the vertex corresponding to the starting point is smaller than other vertices in vertex weight; when the vertex corresponding to the starting point is initialized to the minimum vertex weight, based on the principle of selecting the vertex with the minimum vertex weight to construct the path, the vertex corresponding to the starting point is selected to construct the path.

[0061] Exemplarily, the selected vertices are saved in a set, and as the vertex selection is iterated, several vertices are sequentially added to the set to form all possible paths from the start point to the end point.

[0062] As vertices are selected and added to the set, other vertices directly connected to the vertex are also considered as candidates, and the vertex weights of other vertices currently added as candidates are updated based on the weights corresponding to the vertex currently selected and added to the set and the directly connected edges.

[0063] On the one hand, a priority queue can be configured, and the configured priority queue is used to store candidate objects. As vertex selection continues, other vertices directly connected to the selected vertex are added to the priority queue as candidate objects, so that the vertex selection will be performed in the priority queue, such as selecting the vertex corresponding to the minimum vertex weight in the priority queue and adding it to the set.

[0064] On the other hand, after the vertex is configured as a candidate and added to the priority queue, the vertex weight will be recalculated. As mentioned above, the addition of vertices to the set and the addition of vertices to the priority queue are linked. When a vertex added to the set has a directly connected subsequent vertex, the addition of the vertex to the set will cause the directly connected subsequent vertex to be added to the priority queue.

[0065] It should be understood that, relative to the vertex selected to be added, all directly connected vertices are added to the priority queue as candidate objects for selection. For example, if the vertex is directly connected to several vertices, the directly connected vertices are configured as candidate objects and added to the priority queue.

[0066] As the vertex is configured as a candidate and added to the priority queue, the vertex weight recalculation of the vertex will be triggered. The vertex weight recalculation performed is limited to the vertex currently selected to be added to the set and the directly connected edges.

[0067] For examples, see also Figure 2 , Figure 2 It is a distribution diagram of some vertices and directly connected edges in a connected graph according to an embodiment. When all edges are connected, vertex V1 is the vertex corresponding to the starting point, and vertex V5 and vertex V6 are the vertices corresponding to the end point. In the path calculation performed, vertex V1 corresponding to the starting point is selected and added to the set according to the vertex weight. At this time, vertex V2, vertex V3 and vertex V4 directly connected to vertex V1 are configured as candidates and added to the priority queue. At this time, vertex V2, vertex V3 and vertex V4 added to the priority queue will trigger their own vertex weight recalculation.

[0068] The vertex weight recalculation of vertex V2, vertex V3 and vertex V4 is based on the vertex weight of vertex V1 and the edge weight of the direct edge to which it belongs, that is, the sum of the vertex weight of vertex V1 and the edge weight of the direct edge to which it belongs. After the vertex weight recalculation is completed, the next round of vertex selection and addition can be carried out, and so on, until the vertex corresponding to the end point is calculated, the priority queue is empty, and all possible paths from the starting point to the end point are obtained.

[0069] See also Figure 3 , Figure 3 is based on Figure 1 The corresponding embodiment shows a method flow chart describing the steps of taking vertices in a connected graph as candidate objects, iteratively selecting vertices between a starting point and an end point according to vertex weights calculated for the candidate objects, and the selected vertices constituting all possible paths from the starting point to the end point.

[0070] The embodiment of the present application provides a step S130 of selecting vertices between a starting point and an end point by iteratively taking vertices in a connected graph as candidate objects according to vertex weights calculated for the candidate objects, and the selected vertices constitute all possible paths from the starting point to the end point, including: Step S131, taking the vertex corresponding to the starting point according to the configured vertex weight and saving it into a set, where the set is the set of vertices for which the path calculation has been completed; Step S132, relative to the vertex currently saved in the set, take other vertices directly connected to the vertex in the connected graph as candidate objects, adapt the vertex weight of the vertex and the edge weight corresponding to its own directly connected edge to update the vertex weight of the candidate object, and when the update is completed, select vertices from the candidate objects to the set according to the vertex weight until the vertex corresponding to the end point is selected and saved in the set. The vertices in the set constitute all possible paths from the starting point to the end point.

[0071] These two steps are explained below.

[0072] In step S131, for the vertices distributed in the connected graph, the vertex weights of each vertex are configured based on the starting point and the end point of the path calculation currently required, so that the vertex corresponding to the starting point is selected under the control of the configured vertex weight and added to the set.

[0073] It should be understood that as the path calculation is iterated, at least one vertex will complete the path calculation after each iteration, and the vertex that completes the path calculation is selected and saved in the set. In other words, the set is used to save all the vertices that have completed the path calculation, and the vertices obtained by the path calculation can constitute all possible paths from the starting point to the end point.

[0074] Exemplarily, the selection and addition of the vertices corresponding to the starting point to the set performed in step S131 is a process of initializing the vertex weights in the connected graph and selecting and adding the vertices corresponding to the starting point with the minimum vertex weight to the set.

[0075] See also Figure 4 , Figure 4 is based on Figure 3 A flowchart of a method for describing the step of saving the vertices corresponding to the starting point according to the configured vertex weights into a set is shown in the corresponding embodiment.

[0076] The step S131 of taking the vertex corresponding to the starting point and saving it to a set according to the configured vertex weight provided in the embodiment of the present application includes: Step S1311, initializing the vertex weights of each vertex in the connected graph so that the vertex corresponding to the starting point is smaller than the vertex weights of other vertices; Step S1312, selecting the vertex corresponding to the minimum vertex weight and saving it to the set.

[0077] The following describes these two steps in detail.

[0078] In step S1311, the vertex weights are marked for all vertices, and among the marked vertex weights, the vertex weight of the vertex corresponding to the starting point is greater than the vertex weights of other vertices. Exemplarily, the vertex weight corresponding to the starting point can be marked as 0, and the vertex weights of other vertices can be marked as infinity. At this time, it can be easily ensured that the vertex weight corresponding to the starting point is necessarily smaller than other vertices, thereby ensuring that the path calculation is performed iteratively starting from the starting point, and also ensuring the orderly control of the path calculation.

[0079] With the completion of the vertex weight initialization in step S1311, the vertex with the minimum vertex weight is directly selected and added to the set through the execution of step S1212. The vertex with the minimum vertex weight is the vertex corresponding to the starting point.

[0080] In step S1312, the vertex corresponding to the minimum vertex weight is selected and added to the set, so that the vertex corresponding to the starting point is placed in the set.

[0081] It should be understood that the execution process of initializing the configuration weights is limited to vertices. It is a vertex weight initialization configuration process based on the starting point. The configured vertex weight size only needs to ensure that the vertex weight corresponding to the starting point is greater than that of other vertices. The calculation of edge weights will be performed in the subsequent iterative path calculations.

[0082] In step S131, the vertex weight initialization configuration of the vertices distributed in the connected graph and the selection of the vertex corresponding to the starting point are realized. The vertex corresponding to the starting point is added to the set to ensure that the path calculated starts from the vertex corresponding to the starting point.

[0083] With the execution of step S131, the initialization selection of the vertex corresponding to the starting point in the path calculation is solved, so that the subsequent path calculation, that is, the execution process of step S122 is started with the vertex corresponding to the starting point, thereby realizing multi-channel path planning of the starting point and providing connected multi-channels from the starting point to the end point.

[0084] In step S132, it should be noted that each iteration of the path calculation will select at least one vertex into the set based on the vertex weight until there are no candidates, that is, the path calculation ends when the priority queue is empty as mentioned above.

[0085] Each iteration in the path calculation ends the current iteration by saving at least one vertex to the set. Therefore, for the vertex currently saved to the set, at least one point directly connected to the vertex is used as a candidate object, and the vertex weight corresponding to the candidate is updated according to the vertex weight and the edge weight of the directly connected edge. It should be clearly pointed out that the edge weight used to update the vertex weight refers to the directly connected edge of the candidate object of the updated vertex weight.

[0086] And exemplarily, the operation of taking at least one vertex directly connected to the vertex as a candidate object includes selecting the vertex directly connected to the vertex and adding the selected vertex to the priority queue.

[0087] It should be further explained that edge weight is used to measure the distance of direct edges, and vertex weight is used to measure the distance between two vertices. For edge weight, the smaller the distance of direct edges, the smaller the edge weight; for vertex weight, the smaller the distance between two vertices, the smaller the vertex weight. Therefore, under the control of vertex weight and edge weight, the selection of the nearest vertex in each iterative calculation can be realized. By analogy, the iterative path calculation is a process of continuously searching for the shortest path, and then the passing path among all possible paths obtained in the set is the shortest path.

[0088] In this process, all possible paths are obtained and the passable paths obtained thereby provide multiple passable channels for the starting point, and then the shortest path from the starting point to the end point is determined by the multiple channels.

[0089] As a further explanation, relative to the vertex currently saved in the set, its directly connected vertex may have been configured as a candidate object, that is, the directly connected vertex is an existing candidate object. At this time, this vertex will still be used as a candidate object, and its vertex weight will be updated, and it will be added to the vertex selection when the update is completed.

[0090] In summary, when a vertex is selected, the path calculation on it is completed. As the path calculation for the vertex is completed, the next round of path calculation will begin, that is, path calculation will be performed on the vertices that are candidate objects.

[0091] The process of a round of path calculation includes but is not limited to updating the vertex weights of the newly added candidate objects and selecting the vertices after completion. This process is iterative, and the path calculation of the vertices is continuously performed from the starting point to the end point to obtain all possible paths composed of the vertices obtained by the completed path calculation.

[0092] Please also refer to Figure 5 , Figure 5 is based on Figure 3 The corresponding embodiment shows a method flow chart describing the steps of updating the vertex weights of the candidate objects by adapting the vertex weights and the edge weights corresponding to the direct connections thereof to the vertices currently saved in the set, taking other vertices directly connected to the vertices in the connectivity graph as candidate objects, and selecting vertices from the candidate objects to the set according to the vertex weights when the update is completed, until the vertex corresponding to the end point is selected and saved in the set, and the vertices in the set constitute all possible paths from the start point to the end point.

[0093] The embodiment of the present application provides a step S132 in which, relative to the vertex currently saved in the set, other vertices directly connected to the vertex in the connected graph are used as candidate objects, the vertex weight of the vertex and the edge weight corresponding to the direct connection of the vertex are adapted to update the vertex weight of the candidate object, and when the update is completed, vertices are selected from the candidate objects to the set according to the vertex weight until the vertex corresponding to the end point is selected and saved in the set, and the vertices in the set constitute all possible paths from the start point to the end point, including: Step S1321, based on the vertex currently saved in the set, other vertices directly connected to the vertex in the connectivity graph are taken as candidate objects; Step S1322, recalculate the vertex weight of the candidate object based on the vertex weight of the vertex and the edge weight of the direct edge from the vertex to the candidate object; Step S1323, updating the weight of the candidate object according to the size relationship between the recalculated vertex weight and the original vertex weight of the candidate object.

[0094] This step is described in detail below.

[0095] First, it should be noted that steps S1321 to S1323 correspond to the execution process of updating the weight of the candidate object vertices in step S132. As mentioned above, when a vertex is directly connected to the previous vertex selected as the vertex on the path from the starting point to the end point, the update of the vertex weight is triggered for the vertex.

[0096] After the candidate object, that is, the vertex newly added as the candidate object completes the update of its own vertex weight, the vertex with the smallest vertex weight is selected from all candidate objects and saved to the set. At this time, the other vertices directly connected to the vertex are configured as candidate objects under the action of step S1321 for vertex selection in the next iteration.

[0097] As indicated in step S1322, the vertex weight of the candidate object is recalculated by the vertex weight of the previous vertex directly connected to it and the edge weight of the direct edge between the two vertices. Thus, the vertex weight obtained can measure the distance from the starting point to the current vertex, that is, the larger the vertex weight, the farther the distance from the starting point to the vertex, and vice versa, the smaller the vertex weight, the closer the distance from the starting point to the vertex.

[0098] Based on the vertices selected for the possible path iteration, other directly connected vertices are expanded as candidates for the selection of vertices in the next iteration. For the implemented path calculation, the vertex selection range is accurately expanded. For the vertices newly added as candidates, the vertex weights are recalculated based on the currently selected vertices, which is an important step in finding the shortest path between the starting point and the end point.

[0099] It should be understood that as a vertex is selected to form a possible path in an iteration, the vertex it is directly connected to is recalculated to find that the distance between the directly connected vertex and the currently selected vertex is the shortest, and these two vertices can form a possible path. Under the action of vertex weights, the next vertex to which a point points can be accurately determined, thereby continuously completing the search for the shortest path.

[0100] After completing the recalculation of the vertex weights in step S1322, it is determined in step S1323 whether the recalculated vertex weights are updated for the vertices.

[0101] With the execution of step S1322, the vertex of the candidate object has the original vertex weight on the one hand, and the vertex weight obtained by recalculation on the other hand. Based on this, the original vertex weight and the recalculated vertex weight of the vertex will be compared in step S1323 to determine whether to update the vertex to the recalculated vertex weight.

[0102] In step S1323, it is determined whether the recalculated vertex weight is less than the original vertex weight. If so, the weight of the candidate object is updated, that is, the original vertex weight of the vertex is updated to the recalculated vertex weight. If the recalculated vertex weight is not less than the original vertex weight, the weight of the candidate object will not be updated and the original vertex weight will be retained.

[0103] It should be understood that when the recalculated vertex weight is not less than the original vertex weight, especially when the recalculated vertex weight is greater than the original vertex weight, it means that the previous vertex directly connected to this candidate object, that is, the vertex currently selected to be added to the set is not the shortest path of the candidate object, and the other vertex indicated by the original vertex weight is retained as the previous vertex of the shortest path of the candidate object.

[0104] In summary, as the vertex weights are recalculated, it is constantly confirmed whether the path constructed by the selected vertices is the shortest path for the candidate object, so as to finally obtain the shortest path from the starting point to the end point.

[0105] In addition to updating the vertex weights, step S132, in another exemplary embodiment, further includes: When the vertex weights of the candidate objects are updated, the vertex with the smallest vertex weight is selected from the candidate objects and saved to the set. The saving of the vertex in the set will trigger the vertices directly connected to it to be added as candidate objects.

[0106] This is an iterative execution process of selecting vertices on the constructed path and expanding the configuration of candidate objects caused by the selected vertices.

[0107] In the iterative path calculation, the minimum vertex weight is determined from the vertex weights of several candidate objects. The vertex corresponding to this minimum vertex weight is the vertex currently selected and saved in the set. As the set saves the vertex, other vertices directly connected to the vertex are added as candidate objects, thereby triggering the execution of steps S1321 to S1323 as described above, completing an iterative calculation, and so on, until there are no more candidate objects.

[0108] To sum up, in the path calculation implementation of step S130, a set of several vertices sequentially saved starting from the vertex corresponding to the starting point is obtained, and the vertices in the set constitute all possible paths from the starting point to the end point. At this point, the vertex weight corresponding to the vertex corresponding to the end point is the minimum vertex weight. By tracing back to the previous vertex through this minimum vertex weight through step S140, the shortest path from the starting point to the end point can be obtained, that is, the pass path that needs to be calculated.

[0109] In step S140 , as described above, as the path calculation proceeds, the vertex corresponding to the end point is also saved in the set, and the corresponding vertex weight is the minimum vertex weight that can be obtained among the directly connected vertices.

[0110] Based on this, we will backtrack the vertices on all possible paths according to the vertex weights corresponding to the end point, and obtain several vertices that meet the corresponding vertex weights, until we backtrack to the vertex corresponding to the starting point, and obtain a series of vertices from the vertex corresponding to the end point to the vertex corresponding to the starting point. Then, we can reverse the obtained vertex sequence to obtain the pass path from the starting point to the end point.

[0111] See also Figure 6 , Figure 6 is based on Figure 1 The corresponding embodiment shows a method flow chart describing the steps of backtracking vertices on all possible paths according to the vertex weights corresponding to the end point to obtain a pass path from the start point to the end point.

[0112] The step S140 of backtracking vertices on all possible paths according to the vertex weights corresponding to the end point to obtain a pass path from the start point to the end point provided in the embodiment of the present application includes: Step S141, according to the vertex weight corresponding to the end point, iteratively trace back from the vertex corresponding to the end point to the previous vertex corresponding to the minimum vertex weight until tracing back to the vertex corresponding to the starting point; Step S142, reverse the vertex sequence obtained by backtracking to obtain a pass path from the start point to the end point.

[0113] The following describes these two steps in detail.

[0114] The several vertices obtained by backtracking constitute a vertex sequence, and the sum of the vertex weights corresponding to several vertices in the vertex sequence is consistent with the vertex weight of the end point.

[0115] The vertex sequence includes several vertices from the vertex corresponding to the end point to the vertex corresponding to the starting point. Based on this, the passing path from the starting point to the end point can be obtained by reversing the vertices in the vertex sequence.

[0116] In another exemplary embodiment, the edges constituting the path, i.e., the direct edges between two vertices, include closable edges and / or vertices, and thus, it can be understood that the path where the edge and / or vertex is located in an open state is passable, and the path where the edge and / or vertex is located is impassable in a closed state. For example, if a door is distributed on an edge, then when the door is closed, the edge is closed and impassable, and conversely, when the door is opened, the edge is open and passable.

[0117] When the obtained pass path has edges and / or vertices that can be closed, it will sense whether the edge and / or vertex is in a closed state. If the edge and / or vertex is in a closed state, the edge and / or vertex will be shielded and the vertex weight of the next directly connected vertex will be recalculated. It should be understood that in the actual execution process, the path calculation will eventually obtain a set of vertices that have completed the path calculation, and these vertices will constitute all possible paths from the starting point to the end point. Based on this, if an item point or an edge is closed, the vertex weight of the vertex will no longer affect the vertex weight of subsequent vertices, or the closed edge can no longer affect the vertex weight of subsequent vertices. Therefore, it is necessary to recalculate the vertex weights of vertices affected by the vertex weight or edge weight.

[0118] The vertices affected by the closure of vertices and / or edges are directly connected to the closed vertices and / or edges. Therefore, their vertex weights will be recalculated, and when the calculated vertex weights change, the vertex weights of subsequent vertices will be iteratively calculated until the calculation reaches the end point. The obtained vertex sequence can be back-transformed to obtain a pass path suitable for the closed state, and finally the pass paths are merged to obtain all pass paths.

[0119] As a result, the path calculation in the building can be accurately adapted to the closing and opening of each channel in the building, as well as the closing and opening of each channel on each path, which greatly enhances the ability and reliability of the path calculation in the building. Figure 2 Examples are provided for illustration.

[0120] Figure 2The distribution of some vertices and direct edges in a connected graph is shown. It should be noted that all edges are connected and can provide multiple channels to reach a vertex. With vertex V1 as the vertex corresponding to the starting point, and vertex V5 and vertex V6 as the vertices corresponding to the two end points, the method of the present application is used to implement the shortest path planning of multiple end points and multiple channels in a building, in order to obtain the shortest path from the starting point to the end point.

[0121] For Figure 2 The vertex distribution shown first marks the vertex weights of all vertices, that is, initializes the configuration of the vertex weights. It should be further clarified that the vertex weight is used to represent the total weight from the starting point to the current vertex.

[0122] Through the initial configuration of vertex weights, the vertex V1 corresponding to the starting point is marked as 0, and other vertices are marked as infinity.

[0123] At this time, the vertex corresponding to the minimum weight, that is, the vertex V1 with a vertex weight marked as 0, is saved to the set, vertex V1 completes the path calculation, and then the vertices V2, V3 and V4 directly connected to vertex V1 are configured as candidate objects and added to the priority queue, and the vertex weights of vertices V2, V3 and V4 are recalculated based on the vertex weight of vertex V1 and the edge weight of the directly connected edge.

[0124] See also Figure 7 , Figure 7 is based on Figure 2 Schematic diagram of edge weights marked for calculating edge weights of direct edges between vertices according to the corresponding embodiment.

[0125] Specifically, according to Figure 7 As shown in the edge weights, for vertex V2, the vertex weight of the directly connected previous vertex V1 is 0, and the edge weight of the directly connected edge is 6. The vertex weight obtained by recalculating the vertex weight is 6, which is greater than the original vertex weight of infinity. Therefore, the original vertex weight will no longer be retained, but will be updated to the recalculated vertex weight of 6.

[0126] For vertex V3, the vertex weight of the directly connected previous vertex V1 is 0, and the edge weight of the directly connected edge is 3. The vertex weight obtained by recalculating the vertex weight is 3, which is greater than the original vertex weight of infinity. Therefore, the original vertex weight will no longer be retained, but will be updated to the recalculated vertex weight of 3.

[0127] For vertex V4, the vertex weight of the directly connected previous vertex V1 is 0, and the edge weight of the directly connected edge is 4. The vertex weight obtained by recalculating the vertex weight is 4, which is greater than the original vertex weight of infinity. Therefore, the original vertex weight will no longer be retained, but will be updated to the recalculated vertex weight of 4.

[0128] Thus, we obtain a connected graph with vertex weights marked at vertices V1, V2, V3, and V4, as shown in Figure 8 As shown, Figure 8 is based on Figure 7 A schematic diagram of vertex weight markings of some vertices shown in the corresponding embodiment.

[0129] At this time, vertices V2, V3, and V4 are placed in the priority queue as candidate objects, and the vertex V3 with the smallest vertex weight is selected, that is, the vertex V3 corresponding to the vertex weight of 3 is selected and added to the set, and the directly connected vertex V5 is added as a candidate object to the priority queue, and the directly connected vertex V5 is recalculated, that is, Fig. 9 As shown, vertex V5 is marked with a vertex weight of 9, which is the sum of the vertex weight 3 of vertex V3 and the edge weight 6.

[0130] At this time, in the iterative path calculation, the vertex corresponding to the minimum vertex weight, that is, vertex V4 with a vertex weight of 4, is selected from vertices V2, V4, and V5 in the priority queue, and its directly connected vertex V6 is added to the priority queue as a candidate object, and the vertex weight of vertex V6 is recalculated to 9, that is, Fig.10 As shown, Fig.10 is based on Fig. 9 A schematic diagram of iterative path calculation according to the corresponding embodiment.

[0131] The priority queue containing vertices V2, V5, and V6 is obtained. The vertex corresponding to the minimum weight, that is, the vertex V2 with a vertex weight of 6 is still taken and saved to the set. At this time, the vertices V5 and V6 directly connected to it have been saved in the priority queue as candidates. Therefore, the vertex V6 directly connected to vertex V2 is recalculated to obtain a new vertex weight of 7. The vertex weight 7 is less than the original vertex weight 9, so the vertex weight of vertex V6 is updated to 7, that is, Fig.11 As shown, Fig.11 is based on Fig.10 A schematic diagram of iterative path calculation according to the corresponding embodiment.

[0132] In the queue containing vertex V5 and vertex V6, the vertex weights of vertex V5 and vertex V6 are both 7, so they are both selected and added to the set. At this time, vertex V5 and vertex V6 corresponding to the end point have been placed in the set, and the priority queue is empty.

[0133] See also Fig.12 , Fig.12 is based on Fig.11The corresponding implementation shows a schematic diagram of vertex distribution. So far, vertex V5 and vertex V6 have been selected into the set, the priority queue is empty, and the pass path can be obtained by back-tracing through the minimum vertex weights corresponding to vertex V5 and vertex V6. Specifically, for vertex V1 to vertex V5, a pass path corresponding to the minimum vertex weight, that is, a vertex weight of 7 is obtained: vertex V1→vertex V4→vertex V5; a pass path corresponding to the minimum weight, that is, a vertex weight of 7 is obtained between vertex V1 and vertex V6: vertex V1→vertex V2→vertex V6.

[0134] At this time, after closing vertices V2 and V6, the calculation result is as follows Fig.13 As shown, Fig.13 is based on Fig.12 Schematic diagram of the changes after vertices V2 and V6 are closed in the corresponding embodiment. After vertices V2 and V6 are closed, the vertex weight of vertex V2 no longer acts on subsequent vertices, thereby initiating the recalculation of the vertex weight of vertex V6 directly connected to vertex V2, so that vertex V6 recalculates its own vertex weight according to its previous vertices, namely, vertex V4 and vertex V5, respectively, to obtain vertex weight 9 and vertex weight 8, and takes the minimum value, that is, vertex weight 8 is updated to the vertex weight of vertex V6, thereby, a pass path with a vertex weight of 8 can be obtained, namely, vertex V1→vertex V4→vertex V5→vertex V6, and all pass paths are merged. After merging, vertex V5 has only one pass path, namely, vertex V1→vertex V4→vertex V5; vertex V6 has two pass paths, namely, vertex V1→vertex V2→vertex V6 and vertex V1→vertex V4→vertex V5→vertex V6.

[0135] After merging, two pass paths are obtained with vertex V6 as the end point, namely, vertex V1→vertex V2→vertex V6 and vertex V1→vertex V4→vertex V5→vertex V6; there is only one pass path with vertex V5 as the end point, namely, vertex V1→vertex V4→vertex V5.

[0136] As a further example, in a subway tunnel, a building, accurate and real-time path calculation is performed to provide an evacuation path to assist in the rapid evacuation of people in the subway tunnel.

[0137] See also Fig.14 , Fig.14 The figure is a schematic diagram of an evacuation route in a subway tunnel according to an exemplary embodiment.

[0138] There are two parallel channels in the subway tunnel, and there are one or two connecting channels between the parallel channels, such as connecting channel 1 and connecting channel 2. In this regard, the subway tunnel obtains a connected graph with vertices and edges distributed in each parallel channel and connecting channel by loading the corresponding wire network graph.

[0139] It should be understood that, on the obtained connectivity graph, each vertex corresponds to the parallel channel and the connecting channel distribution, and is connected to each other by edges, so as to characterize the road sections and areas that are passable for the path planning.

[0140] Based on this, the starting point can be calculated by the path provided by the embodiment of the present application to obtain the pass path, that is, Fig.14 The six passage paths shown are passage 1, passage 2, passage 3, passage 4, passage 5 and passage 6. People currently in the subway tunnel can quickly evacuate the subway tunnel according to these six passage paths.

[0141] In an exemplary embodiment, the present application further provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method described above.

[0142] In an exemplary embodiment, the present application further provides a computer program product, including a computer program, wherein the computer program implements the steps of the above-mentioned method when executed by a processor.

[0143] In an exemplary embodiment, the present application further provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of the method described above are implemented.

[0144] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software, or by combining software with necessary hardware. Therefore, the technical solution according to the implementation method of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation method of the present application.

[0145] In an exemplary embodiment of the present application, a computer program medium is further provided, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer is enabled to execute the method described in the above method embodiment.

[0146] According to one embodiment of the present application, a program product for implementing the method in the above method embodiment is also provided, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited to this. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.

[0147] The program product may be any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0148] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0149] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.

[0150] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0151] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units. In addition, although the steps of the method in the present application are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.

[0152] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software, or by combining software with necessary hardware. Therefore, the technical solution according to the implementation method of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation method of the present application.

[0153] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the appended claims.

Claims

1. A path calculation method in a building, characterized in that: The method comprises: Generating a connectivity graph for a wire-net graph of a building, wherein the wire-net graph covers a traversable area within the building; Locating a starting point and an end point of the path calculation performed on the connected graph, wherein the located starting point and end point both correspond to vertices on the connected graph; Taking the vertices in the connected graph as candidate objects, iteratively selecting vertices between the starting point and the end point according to the vertex weights calculated for the candidate objects, the selected vertices constitute all possible paths from the starting point to the end point; The vertices on all possible paths are back-traced according to the vertex weights corresponding to the end point to obtain a pass path from the start point to the end point.

2. The method according to claim 1, characterized in that The line network diagram includes a plurality of traffic routes in the building. A plurality of road sections distributed in the passable area in the building are connected end to end to form the traffic routes, and the road sections can be closed according to the construction components in the building.

3. The method according to claim 1, characterized in that The method of taking the vertices in the connected graph as candidate objects and iteratively selecting the vertices between the starting point and the end point according to the vertex weights calculated by the candidate objects, wherein the selected vertices constitute all possible paths from the starting point to the end point, includes: The vertex corresponding to the starting point is taken according to the configured vertex weight and saved into a set, where the set is the set of vertices for which the path calculation has been completed; Relative to the vertex currently saved in the set, other vertices directly connected to the vertex in the connectivity graph are taken as candidate objects, the vertex weight of the vertex and the edge weight corresponding to the directly connected edge are adapted to update the vertex weight of the candidate object, and when the update is completed, vertices of the candidate object are selected to the set according to the vertex weight until the vertex corresponding to the end point is selected and saved in the set, and the vertices in the set constitute all possible paths from the starting point to the end point.

4. The method according to claim 3, characterized in that The step of taking the vertex corresponding to the starting point according to the configured vertex weight and saving it to the set includes: Initializing the vertex weights of each vertex in the connected graph so that the vertex corresponding to the starting point is smaller than the vertex weights of other vertices; The vertex corresponding to the minimum vertex weight is selected and saved into the set.

5. The method according to claim 3, characterized in that: The method of updating the vertex weights of the candidate objects by adapting the vertex weights and the edge weights corresponding to the directly connected edges thereof to the vertex directly connected to the vertex in the connected graph relative to the vertex currently stored in the set, and selecting vertices from the candidate objects to the set according to the vertex weights when the updating is completed, comprises: According to the vertex currently saved in the set, other vertices directly connected to the vertex in the connectivity graph are taken as candidate objects; Recalculating the vertex weight of the candidate object according to the vertex weight of the vertex and the edge weight of the direct edge from the vertex to the candidate object; The weight of the candidate object is updated according to the size relationship between the recalculated vertex weight and the original vertex weight of the candidate object.

6. The method according to claim 3, characterized in that The method of updating the vertex weights of the candidate objects by adapting the vertex weights and the edge weights corresponding to the directly connected edges thereof to the vertex directly connected to the vertex in the connected graph relative to the vertex currently stored in the set, and selecting vertices from the candidate objects to the set according to the vertex weights when the updating is completed, comprises: When the vertex weights of the candidate objects are updated, the vertex with the smallest vertex weight is selected from the candidate objects and saved in the set. The saving of the vertex in the set will trigger the vertex directly connected to it to be added as a candidate object.

7. The method according to claim 1, characterized in that The step of backtracking vertices on all possible paths according to the vertex weights corresponding to the end point to obtain a pass path from the start point to the end point includes: According to the vertex weight corresponding to the end point, iteratively trace back from the vertex corresponding to the end point to the previous vertex corresponding to the minimum vertex weight until it traces back to the vertex corresponding to the starting point; The vertex sequence obtained by backtracking is reversed to obtain a pass path from the starting point to the end point.

8. A computer device comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 7.

9. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • BIM indoor space connected graph construction method based on building element topological relation

    CN109815604A

  • Path searching method, terminal and computer readable storage medium

    CN112807682A

  • In-building path finding method, device and equipment and storage medium

    CN113256029A

  • Safe evacuation distance calculation method and system, readable storage medium and electronic equipment

    CN114282297A

  • Calculation method and device of shortest safe evacuation distance, equipment and storage medium

    CN114299531A