A method for route searching based on an indoor planar map

By uploading an indoor layout map to a webpage and constructing a navigation network, and using the A* algorithm to calculate the optimal path, the problem of inaccurate indoor navigation in existing technologies is solved, and a low-cost, updatable indoor navigation solution is achieved.

CN116465403BActive Publication Date: 2026-01-06FAST MEDIA DIGITAL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210028338.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-11
Publication Date
2026-01-06
Estimated Expiration
2042-01-11

AI Technical Summary

Technical Problem

Existing navigation software cannot provide accurate route navigation in indoor environments, and the development of dedicated indoor navigation models is costly and difficult to iterate.

Method used

The system uploads an indoor layout map via a browser webpage, constructs a navigation network and stores it in a structured manner, and uses the A* algorithm to calculate the optimal path to achieve indoor map navigation.

Benefits of technology

No specialized modeling is required; non-professionals can easily build navigation information through browser operations. The landmark and route information is accurate and can be adjusted and updated at any time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116465403B_ABST
    Figure CN116465403B_ABST
Patent Text Reader

Abstract

The application discloses a method for route searching based on indoor plane map, uploads single-layer single indoor layout map or multi-layer multiple indoor layout maps to a server, enters landmark information according to the layout map through a browser webpage, generates corresponding coordinates during the entering, and finally connects the landmarks and auxiliary points to form a path; in the server, the generated data is stored and cached in a structured manner, two landmarks are selected as a starting point and an ending point in the client, a route searching request is sent to the server, the server calculates an optimal path and responds to the client for optimal path rendering. The indoor plane map route searching technology disclosed by the application does not need special modeling, and non-professionals only need to perform simple operations through the browser webpage to complete the construction of landmark information, path information and other elements in the navigation information. The landmark information and the path information in the navigation information are accurate, and the navigation information can be adjusted and updated at any time through the browser webpage.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of navigation, and more particularly to a method for route finding based on an indoor floor plan map. Background Technology

[0002] With the deepening of urbanization and the rise of smart cities and new infrastructure, large-scale commercial centers, trade centers, medical institutions, mixed-use buildings, parking garages, airports, and other buildings are becoming increasingly larger and more complex. Faced with these large, complex indoor spaces, people often waste a lot of time due to a lack of route guidance. Therefore, the demand for precise indoor positioning and navigation is growing stronger.

[0003] Currently, mainstream navigation software includes Gaode Maps and Baidu Maps. These navigation software can provide good navigation and positioning effects outdoors, but when used indoors, they can only provide direction guidance and distance information, and cannot be used for precise route navigation indoors.

[0004] Nowadays, there are also many customized indoor navigation solutions. Taking an online mall as an example, building a dedicated navigation model for its indoor environment layout is too costly, and every time a store changes, the dedicated navigation model needs to be updated, resulting in excessive iteration costs. Summary of the Invention

[0005] The purpose of this invention is to provide a method for route finding based on an indoor floor plan map, so as to solve the above-mentioned technical problems.

[0006] To achieve the above objectives, the present invention adopts the following technical solution:

[0007] A method for pathfinding based on an indoor floor plan map includes the following steps:

[0008] Step 1: Upload the interior layout plan;

[0009] Upload a single-story interior layout plan or multiple-story interior layout plans to the server via a web browser.

[0010] Step 2: Construct the navigation road network;

[0011] Using a browser webpage, according to the layout map, enter the landmark information, and enter the auxiliary point information at intersections and bends. During the entry process, the corresponding coordinates will be generated. Finally, connect the landmarks and auxiliary points to form a path. When connecting to form a path, the path information can be entered, but is not limited to whether the path is a one-way street, path priority, and estimated travel time.

[0012] Step 3: Structure and cache navigation data;

[0013] In the server, the data generated in step 2 is stored in a structured manner. Landmark information and auxiliary points are treated as vertices in a directed graph and stored in a vertex table. A directed graph is a concept in graph theory, defined as follows:

[0014] Let V be a non-empty set, and A be a multiset consisting of ordered pairs of elements from V, where D = ...<V,A> A graph is called a directed graph, where V is called the vertex set, and the elements in it are called vertices or points; A is called the directed edge set, and the elements in it are directed edges, also called arcs. The starting point of a directed edge is called the tail of the arc, and the ending point of a directed edge is called the head of the arc.

[0015] Paths with direction between adjacent landmarks, auxiliary points, or landmarks and auxiliary points are all considered as edges in the directed graph and stored in the edge table.

[0016] Construct a hash table containing vertex identifiers and vertex information for caching, and construct a hash table containing vertex identifiers and edge sets with the vertex as the tail for caching.

[0017] The vertices mentioned below refer to landmarks or auxiliary points in navigation information.

[0018] The edges mentioned below refer to directional paths between landmarks, auxiliary points, or landmarks and auxiliary points;

[0019] Step 4: Calculate the optimal path;

[0020] The client selects two landmarks as the start and end points respectively, sends a pathfinding request to the server, and the server calculates the optimal path and responds to the client for optimal path rendering.

[0021] Using the cached data from step 3, along with the identifiers of the starting point S and the destination E submitted by the client, as input to the algorithm, the optimal path is calculated using the A* algorithm. The detailed calculation process of the A* algorithm is as follows:

[0022] (1) Prepare a set L, named the set of vertices to be searched, to store vertices that have not yet been searched, and put the starting point S into the set L;

[0023] (2) Prepare another hash table H to store vertex identifiers and specific vertices. The specific vertices are those that have been added to set L in the past.

[0024] A hash table is defined as a data structure that allows direct access based on a key value. It accesses records by mapping the key value to a location in the table, thereby speeding up the search process.

[0025] Hash table H is used to replace the traversal operation in the standard A* algorithm that determines whether the arc head vertex is in the set to be searched. If the arc head vertex is not in hash table H, it is definitely not in set L. Directly determine whether the arc head vertex is in hash table H, thereby improving the search speed.

[0026] (3) Retrieval refers to taking a specific vertex A from set L, deleting vertex A from set L, and then marking vertex A as retrieved;

[0027] A specific vertex A must satisfy the condition that the total path from the starting point S through vertex A to the ending point E has the shortest estimated value.

[0028] The vertex A is marked as retrieved, which replaces the operation in the standard A* algorithm that uses a set to store retrieved vertices to determine whether the arc head vertex has been retrieved, thus improving the retrieval speed.

[0029] Next, the following conditional judgment is made for vertex A:

[0030] If vertex A is the destination E, then return the path found so far;

[0031] If vertex A is not the endpoint E, continue the calculation. Using vertex A as the tail of the arc, traverse all the head vertices of the arc. Let the currently traversed head vertex be vertex T. It is necessary to determine whether the current head vertex T is in the hash table H.

[0032] If vertex T is not in hash table H, then vertex T is initialized. Initialization means estimating the path value from the starting point S through vertex T to the ending point E based on the known path value of vertex T, that is, the sum of the known path value of vertex A and the edge weight from vertex A to vertex T, and setting the previous vertex from the starting point S to vertex T as vertex A. Then vertex T is put into hash table H and set L respectively, waiting for retrieval later.

[0033] If vertex T is in hash table H and has not been searched, and the path from start S through vertex A to vertex T is shorter than the old path from start S to vertex T, then update the known path of vertex T to the shorter path obtained by comparison, and set the previous vertex passed from start S to vertex T to vertex A.

[0034] (4) As long as there are still elements in set L, repeat the search action until the endpoint E is found or set L has no elements. Prepare a set P to store the vertices on the optimal path. Then, starting from the endpoint E, traverse the linear list formed by the vertices and the previous vertex set on the vertex, and put the vertices visited during the traversal into set P.

[0035] A linear list is defined as a finite sequence of n (n>=0) data elements of the same data type, where n is the length of the list. When n=0, the linear list is empty. If a linear list is named LN, its general representation is as follows:

[0036] LN=(a1,a2,a3,…,a(i),a(i+1),…,a(n));

[0037] Among them, a1 is the unique "first" data element, also known as the header element; a(n) is the unique "last" data element, also known as the tail element.

[0038] Except for the first element, each element has one and only one direct predecessor;

[0039] Except for the last element, each element has one and only one direct successor;

[0040] Step 5: Complete path rendering;

[0041] The data from collection P is sent back to the client, and the client completes the path rendering.

[0042] Compared with existing technologies, this invention has the following advantages: The indoor planar map navigation technology disclosed in this invention does not require specialized modeling; non-professionals can construct elements such as landmark information and path information in navigation information simply by performing simple operations through a web browser. The landmark information and path information in the navigation information are accurate, and the navigation information can be adjusted and updated at any time through a web browser. Attached Figure Description

[0043] Figure 1 This is a flowchart of the indoor planar map wayfinding system method of the present invention. Detailed Implementation

[0044] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments.

[0045] like Figure 1 As shown, a method for pathfinding based on an indoor floor plan includes the following steps: Step 1: Upload the indoor layout map;

[0046] Upload a single-story interior layout plan or multiple-story interior layout plans to the server via a web browser.

[0047] Step 2: Construct the navigation road network;

[0048] Using a browser webpage, according to the layout map, enter the landmark information, and enter the auxiliary point information at intersections and bends. During the entry process, the corresponding coordinates will be generated. Finally, connect the landmarks and auxiliary points to form a path. When connecting to form a path, the path information can be entered, but is not limited to whether the path is a one-way street, path priority, and estimated travel time.

[0049] Step 3: Structure and cache navigation data;

[0050] In the server, the data generated in step 2 is stored in a structured format, where landmark information and auxiliary points are treated as vertices in a directed graph and stored in a vertex table.

[0051] Paths with direction between adjacent landmarks, auxiliary points, or landmarks and auxiliary points are all considered as edges in the directed graph and stored in the edge table.

[0052] Construct a hash table containing vertex identifiers and vertex information for caching, and construct a hash table containing vertex identifiers and edge sets with the vertex as the tail for caching.

[0053] The vertices mentioned below refer to landmarks or auxiliary points in navigation information.

[0054] The edges mentioned below refer to directional paths between landmarks, auxiliary points, or landmarks and auxiliary points;

[0055] Step 4: Calculate the optimal path;

[0056] The client selects two landmarks as the start and end points respectively, sends a pathfinding request to the server, and the server calculates the optimal path and responds to the client for optimal path rendering.

[0057] Using the cached data from step 3, along with the identifiers of the starting point S and the destination E submitted by the client, as input to the algorithm, the optimal path is calculated using the A* algorithm. The detailed calculation process of the A* algorithm is as follows:

[0058] (1) Prepare a set L, named the set of vertices to be searched, to store vertices that have not yet been searched, and put the starting point S into the set L;

[0059] (2) Prepare another hash table H to store vertex identifiers and specific vertices. The specific vertices are those that have been added to set L in the past.

[0060] A hash table is defined as a data structure that allows direct access based on a key value. It accesses records by mapping the key value to a location in the table, thereby speeding up the search process.

[0061] Hash table H is used to replace the traversal operation in the standard A* algorithm that determines whether the arc head vertex is in the set to be searched. If the arc head vertex is not in hash table H, it is definitely not in set L. Directly determine whether the arc head vertex is in hash table H, thereby improving the search speed.

[0062] (3) Retrieval refers to taking a specific vertex A from set L, deleting vertex A from set L, and then marking vertex A as retrieved;

[0063] A specific vertex A must satisfy the condition that the total path from the starting point S through vertex A to the ending point E has the shortest estimated value.

[0064] The vertex A is marked as retrieved, which replaces the operation in the standard A* algorithm that uses a set to store retrieved vertices to determine whether the arc head vertex has been retrieved, thus improving the retrieval speed.

[0065] Next, the following conditional judgment is made for vertex A:

[0066] If vertex A is the destination E, then return the path found so far;

[0067] If vertex A is not the endpoint E, continue the calculation. Using vertex A as the tail of the arc, traverse all the head vertices of the arc. Let the currently traversed head vertex be vertex T. It is necessary to determine whether the current head vertex T is in the hash table H.

[0068] If vertex T is not in hash table H, then vertex T is initialized. Initialization means estimating the path value from the starting point S through vertex T to the ending point E based on the known path value of vertex T, that is, the sum of the known path value of vertex A and the edge weight from vertex A to vertex T, and setting the previous vertex from the starting point S to vertex T as vertex A. Then vertex T is put into hash table H and set L respectively, waiting for retrieval later.

[0069] If vertex T is in hash table H and has not been searched, and the path from start S through vertex A to vertex T is shorter than the old path from start S to vertex T, then update the known path of vertex T to the shorter path obtained by comparison, and set the previous vertex passed from start S to vertex T to vertex A.

[0070] (4) As long as there are still elements in set L, repeat the search action until the endpoint E is found or set L has no elements. Prepare a set P to store the vertices on the optimal path. Then, starting from the endpoint E, traverse the linear list formed by the vertices and the previous vertex set on the vertex, and put the vertices visited during the traversal into set P.

[0071] A linear list is defined as a finite sequence of n (n>=0) data elements of the same data type, where n is the length of the list. When n=0, the linear list is empty. If a linear list is named LN, its general representation is as follows:

[0072] LN=(a1,a2,a3,…,a(i),a(i+1),…,a(n));

[0073] Among them, a1 is the unique "first" data element, also known as the header element; a(n) is the unique "last" data element, also known as the tail element.

[0074] Except for the first element, each element has one and only one direct predecessor;

[0075] Except for the last element, each element has one and only one direct successor;

[0076] Step 5: Complete path rendering;

[0077] The data from collection P is sent back to the client, and the client completes the path rendering.

[0078] The above description represents a preferred embodiment of the present invention. For those skilled in the art, any changes, modifications, substitutions, and variations made to the implementation methods without departing from the principles and spirit of the present invention, based on the teachings of the present invention, still fall within the protection scope of the present invention.

Claims

1. A method for route guidance based on an indoor floor plan, characterized by, Comprising the following steps: Step 1, upload indoor layout map; Through the browser webpage, upload single-layer single indoor layout map, or multi-layer multi indoor layout map to the server; Step 2, build navigation network; According to the layout map, enter the landmark information through the browser webpage, and enter the auxiliary point information at the intersection and bending place. The corresponding coordinates will be generated during the input. Finally, the landmarks and auxiliary points are connected to form paths. When connecting to form paths, path information can be entered but is not limited to whether the path is a single lane, path priority, and estimated travel time; Step 3, structured storage of navigation data and caching; In the server, the data generated in step 2 is stored in a structured manner. The landmark information and auxiliary points are stored in the vertex table as vertices in the directed graph, The adjacent landmarks, landmarks, auxiliary points, or landmarks and auxiliary points between the directional paths are stored in the edge table as edges in the directed graph; Construct a hash table of vertex identifiers and vertex information for caching, and a hash table of vertex identifiers and edge sets with the vertex as the tail of the arc for caching; The vertices mentioned below are the landmark information or auxiliary points in the navigation information, The edges mentioned below refer to the directional paths between landmarks and landmarks, auxiliary points and auxiliary points, or landmarks and auxiliary points; Step 4, calculate the optimal path; Select two landmarks as the starting point and the end point on the client side, send a route request to the server, and the server calculates the optimal path and responds to the client for optimal path rendering; Use the cache data in step 3 and the identifiers of the starting point S and the end point E submitted by the client as algorithm inputs to calculate the optimal path using the A* algorithm. The detailed calculation process of the A* algorithm is as follows: (1) Prepare a set L, named as the set of vertices to be retrieved, to store vertices that have not been retrieved, and put the starting point S into the set L; (2) Prepare a hash table H to store vertex identifiers and specific vertices. The specific vertices are those that have been added to the set L in the past; The hash table is a data structure that directly accesses according to the key value. It accesses the record by mapping the key value to a position in the table to speed up the search; The hash table H is used to replace the traversal operation in the standard A* algorithm to determine whether the arc head vertex is in the set to be retrieved. If the arc head vertex is not in the hash table H, it is definitely not in the set L. Directly determine whether the arc head vertex is in the hash table H to improve the retrieval speed; (3) Retrieval refers to taking a specific vertex A from the set L and deleting the vertex A from the set L, and then marking the vertex A as retrieved; The specific vertex A needs to meet the condition that the total path estimate from the starting point S to the end point E through the vertex A is the shortest; Marking the vertex A as retrieved is used to replace the operation in the standard A* algorithm that uses a set to store the retrieved vertices to determine whether the arc head vertex has been retrieved, which improves the retrieval speed; Then, the following conditions are judged for the vertex A: If the vertex A is the end point E, return the path found so far; If the vertex A is not the end point E, continue to calculate, take vertex A as the tail of the arc, traverse all the head vertices of the arc, and set the currently traversed head vertex of the arc as vertex T. It is needed to judge whether the current head vertex T of the arc is in the hash table H; If the vertex T is not in the hash table H, the vertex T is initialized, which means that the path value from the start point S to the end point E through the vertex T is estimated based on the known path value of the vertex T, that is, the sum of the known path value of the vertex A and the edge weight value from the vertex A to the vertex T, and the last vertex through which the start point S passes to the vertex T is set as the vertex A. Then the vertex T is put into the hash table H and the set L for later retrieval; If the vertex T is in the hash table H and has not been retrieved, and the path from the start point S to the vertex T through the vertex A is shorter than the old path from the start point S to the vertex T, the known path of the vertex T is updated to the shorter path obtained by comparison, and the last vertex through which the start point S passes to the vertex T is set as the vertex A; (4) As long as the set L still has elements, the retrieval action is repeated until the end point E is found or the set L has no elements. A set P is prepared to store the vertices on the optimal path, and then the linear table composed of the vertices and the last vertices set on the vertices is traversed from the end point E. The vertices accessed in the traversal are put into the set P; Wherein the linear table is defined as, the linear table is a finite sequence of n(n>=0) data elements with the same data type, wherein n is the length of the table, when n=0, the linear table is an empty table, if the linear table is named as LN, it is generally represented as follows: LN=(a1,a2,a3,…,a(i),a(i+1),…,a(n)); Wherein, a1 is the only "first" data element, also known as the head element; a(n) is the only "last" data element, also known as the tail element; Except for the first element, each element has and only has one direct predecessor; Except for the last element, each element has and only has one direct successor; Step 5, complete path rendering; The data of the set P is responded to the client, and the client completes path rendering.

Citation Information

Patent Citations

  • Scenic spot path planning method and device based on improved A* algorithm

    CN112985413A

  • Landmark-fused AR indoor map navigation method

    CN113340294A