Method and apparatus for positioning processing in building, and computer device, storage medium and computer program product
By identifying and marking wireless network signals at points of stay and effective stay time periods within buildings, the problem of positioning accuracy attenuation caused by changes in access point signals is solved, achieving more reliable positioning processing within buildings.
Patent Information
- Application Number
- PCT/CN2025/100858
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-02
- Filing Date
- 2025-06-13
- Publication Date
- 2026-02-05
AI Technical Summary
Existing building positioning processing technologies suffer from reduced positioning accuracy due to changes in the signal field at the access point, thus affecting the performance of building positioning processing.
By acquiring the historical movement trajectory of the object being located, identifying the stopping point, and determining the effective stopping time period based on the wireless network signal and satellite positioning signal within the stopping time period, wireless network signals with a signal strength greater than a preset strength are marked as marked wireless network signals for building positioning determination.
It improves the accuracy of positioning processing within buildings, avoids signal problems caused by changes in the wireless network signal field, and ensures the reliability of positioning judgment.
Smart Images

Figure CN2025100858_05022026_PF_FP_ABST
Abstract
Description
Methods, devices, computer equipment, storage media, and computer program products for location processing within buildings
[0001] Related applications
[0002] This application claims priority to Chinese patent application filed on August 2, 2024, application number 2024110598585, entitled "Method, apparatus, computer equipment, storage medium and computer program product for location processing in a building", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of positioning technology, and in particular to a method, apparatus, computer equipment, and storage medium for positioning processing within a building. Background Technology
[0004] The development of positioning technology and the increase in applications based on positioning functionality have made positioning play an increasingly important role in people's lives. Providing reliable location coordinates in both indoor and outdoor environments can bring a better user experience. Outdoor positioning and location-based services are relatively mature, such as GPS-based and map-based location services, which are widely used. However, in indoor environments, specialized building-based positioning processing technologies are needed to achieve indoor location accuracy.
[0005] Currently, the commonly used building location processing technology solution is based on wireless network communication (Wi-Fi). This solution requires pre-collecting signal fingerprints from the access points installed within the building. When a target is located within the building, the signal from these access points needs to be scanned to determine the target's location based on the scan results and the collected signal fingerprints. However, over time, the signal field of the access points within the building continuously changes. This change leads to a gradual decline in the performance of the building's location processing, thus affecting its accuracy. Summary of the Invention
[0006] This application provides a method, apparatus, computer equipment, storage medium, and computer program product for location processing within a building.
[0007] Firstly, this application provides a method for location processing within a building. The method includes:
[0008] Obtain the historical movement trajectory of the located object, and identify the stopping point from each trajectory point contained in the historical movement trajectory;
[0009] Based on the location of each stop point, locate the building where the object being located is located;
[0010] Based on the dwell time periods represented by each stop point, and according to the wireless network signals scanned and the satellite positioning signals received within the dwell time periods, the effective dwell time period of the located object indoors is determined; and
[0011] Wireless network signals with a signal strength greater than a preset strength during the effective dwell time period are marked as building-specific wireless network signals. The scanning results of these marked wireless network signals are used as location determination information for entering the building.
[0012] Secondly, this application provides a method for location processing within a building. The method includes:
[0013] Obtain the positioning signal information of the object to be located for object positioning;
[0014] In the case where the positioning signal information is a wireless network signal, a marked wireless network signal matching the object to be located is determined; the marked wireless network signal is determined by the building positioning processing method of the first aspect.
[0015] Target buildings are identified by marking wireless network signals; and
[0016] The target building is identified as the building where the object to be located is located.
[0017] Thirdly, this application also provides a positioning processing device for use within a building. The device includes:
[0018] The dwell point identification module is used to acquire the historical movement trajectory of the object being located and identify dwell points from the trajectory points contained in the historical movement trajectory.
[0019] The building positioning module is used to locate the building where the object being located is located based on the location of each stop point;
[0020] The indoor time period determination module is used to determine the effective indoor time period of the located object based on the time period represented by each stop point, and according to the wireless network signals scanned and the satellite positioning signals received within the time period; and
[0021] The building signal marking module is used to mark wireless network signals with a signal strength greater than a preset strength within the effective dwell time period as building-marked wireless network signals. The scanning results of the marked wireless network signals are used as location determination information for entering the building.
[0022] Fourthly, this application also provides a positioning processing device within a building. The device includes:
[0023] The positioning signal acquisition module is used to acquire positioning signal information of the object to be located for object positioning.
[0024] A wireless network signal determination module is used to determine a marked wireless network signal that matches the object to be located when the positioning signal information is a wireless network signal; the marked wireless network signal is determined by a positioning processing device in a building by a third party.
[0025] Building identification module, used to identify target buildings by tagged wireless network signals; and
[0026] The positioning processing module is used to determine the target building as the building where the object to be located is located.
[0027] Fifthly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the building positioning processing method of any embodiment.
[0028] Sixthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the building positioning processing method of any embodiment.
[0029] Seventhly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the building positioning processing method of any embodiment.
[0030] Details of one or more embodiments of this application are set forth in the following drawings and description. Other features, objects, and advantages of this application will become apparent from the specification, drawings, and claims. Attached Figure Description
[0031] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the published drawings without creative effort.
[0032] Figure 1 is an application environment diagram of a positioning processing method in a building in one embodiment;
[0033] Figure 2 is a simplified flowchart of binding and marking wireless network signals with buildings in one embodiment;
[0034] Figure 3 is a flowchart illustrating a method for location processing within a building in one embodiment;
[0035] Figure 4 is a schematic diagram of the dwell time period in one embodiment;
[0036] Figure 5 is a schematic diagram of the location signal source and time information in one embodiment;
[0037] Figure 6 is a schematic diagram of the first and second stopping points in one embodiment;
[0038] Figure 7 is a flowchart illustrating the method for determining the second type of dwell point in one embodiment;
[0039] Figure 8 is a flowchart illustrating a method for location processing within a building in another embodiment;
[0040] Figure 9 is a flowchart illustrating the method for location processing within a building in another embodiment;
[0041] Figure 10 is a schematic diagram of the building where the object to be located is located in one embodiment;
[0042] Figure 11 is a complete flowchart of a method for location processing within a building in one embodiment;
[0043] Figure 12 is a structural block diagram of a positioning processing device in a building according to one embodiment;
[0044] Figure 13 is a structural block diagram of a positioning processing device in a building in another embodiment;
[0045] Figure 14 is an internal structure diagram of a computer device in one embodiment;
[0046] Figure 15 is an internal structural diagram of a computer device in another embodiment. Detailed Implementation
[0047] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0048] The development of positioning technology and the increase in applications based on positioning functionality have made positioning play an increasingly important role in people's lives. Providing reliable location coordinates in both indoor and outdoor environments can bring a better user experience. Outdoor positioning and location-based services are relatively mature, such as GPS-based and map-based location services, which are widely used. However, in indoor environments, specialized building-based positioning processing technology is needed to achieve indoor location accuracy. Currently, samples with Global Positioning System (GPS) data can be used as ground truth for clustering. However, because GPS signals are more likely to be collected outdoors and GPS positioning accuracy is lower indoors, even if the user is indoors, the positioning result is likely to be biased towards the outdoor location, and the drift may deviate significantly from the true location. Therefore, a commonly used solution for building-based positioning processing technology is a Wi-Fi-based solution. In its implementation, this solution requires pre-collecting signal fingerprints from the access points installed within the building. When performing positioning processing within the building, the access point signals within the building need to be scanned to determine the location of the target based on the scan results and the collected signal fingerprints. However, over time, the signal field of the access point inside the building will continue to change. This change will cause the positioning processing performance inside the building to degrade continuously, thus affecting the accuracy of positioning processing inside the building.
[0049] Based on this, this application provides a method for in-building positioning processing that can improve the efficiency of positioning processing within buildings. The in-building positioning processing method provided in this application can be applied to the application environment shown in Figure 1. In this method, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104, or it can be located in the cloud or on other servers.
[0050] Specifically, taking server 104 as an example, server 104 acquires the historical movement trajectory of the object being located, identifies the stopping points from the trajectory points contained in the historical movement trajectory, and then locates the building where the object is staying based on the location of each stopping point. Based on the dwell time period represented by each stopping point, and according to the wireless network signals scanned and the received satellite positioning signals within the dwell time period, the effective dwell time period of the object indoors is determined. Finally, wireless network signals with signal strength greater than a preset strength within the effective dwell time period are marked as the building's marked wireless network signals. The scanning results of the marked wireless network signals are used as location determination information for entering the building. By associating the building where the object is staying with the marked wireless network signals within the building, and since the marked wireless network signals are identified based on signal strength, signal problems caused by changes in the signal field of the wireless network signals can be avoided, thus ensuring the reliability of the marking between the building and the wireless network signals. This allows location processing within the building to be directly determined through the scanning results of reliable wireless network signals, thereby improving the accuracy of location processing within the building.
[0051] Secondly, taking terminal 102 as an example, terminal 102 acquires the positioning signal information of the object to be located for object positioning. If the positioning signal information is a wireless network signal, it determines the tagged wireless network signal that matches the object to be located. Based on the building positioning processing method described above, the target building is determined through the tagged wireless network signal. Finally, the target building is identified as the building where the object to be located is located. Since the tagged wireless network signal is identified based on signal strength, signal problems caused by changes in the signal field of the wireless network signal can be avoided, thus ensuring the reliability of the marking between the building and the wireless network signal. Therefore, positioning discrimination based on reliable wireless network signal scanning results can ensure the accuracy of building positioning processing.
[0052] The terminal 102 can be, but is not limited to, various desktop computers, laptops, smartphones, tablets, IoT devices, portable wearable devices, smart voice interaction devices, smart home appliances, vehicle terminals, aircraft, etc. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart vehicle devices, etc. Portable wearable devices can include smartwatches, smart bracelets, head-mounted devices, etc. Server 104 can be implemented using a standalone server or a server cluster composed of multiple servers. The building positioning processing method provided in this embodiment can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, and assisted driving.
[0053] The following is a brief flowchart of how to analyze historical trajectories to bind and mark wireless network signals to buildings. As shown in Figure 2, the flowchart includes trajectory collection 201, stop point identification 202, stop point building binding 203, indoor time period identification 204, and wireless network signal association with buildings 205.
[0054] In the trajectory collection step 201, it is necessary to first collect the location data of each locatable object. A locatable object is an authorized entity capable of obtaining real-time location data, such as a food delivery rider or a courier. Therefore, the location data is information and data authorized by the object or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. Based on this, the historical movement trajectory within a historical period can be obtained through the location data of each locatable object. The historical movement trajectory is used to represent the movement path of the locatable object; that is, the historical movement trajectory consists of multiple consecutive trajectory points. Therefore, the historical movement trajectory includes the starting trajectory point, the ending trajectory point, and all trajectory points traversed.
[0055] Furthermore, the positioning data of the locatable object includes feature information corresponding to each trajectory point. This feature information includes at least one of the following: positioning signal source, location coordinates, time information, speed, direction, and positioning accuracy. The positioning signal source records the source information of the trajectory point's location coordinates. For example, if the trajectory point's location coordinates come from GPS, then the positioning signal source is a satellite positioning signal. Alternatively, if the trajectory point's location coordinates come from Wi-Fi, then the positioning signal source is a wireless network signal. The wireless network signal can also be a base station positioning signal, or a Bluetooth positioning signal, etc., which are not limited here. Similarly, the location coordinates are the core part of the feature information, representing the specific location of the locatable object on Earth. In this embodiment, the location coordinates are specifically longitude and latitude. The time information is the timestamp used to collect the location coordinates of the trajectory points.
[0056] Secondly, when the positioning signal source for the trajectory point is a satellite positioning signal, the GPS positioning results will carry information such as positioning accuracy, altitude, azimuth, and speed. Therefore, the feature information can also include speed, which is the moving speed of the locating object, usually measured in meters per second (m / s). This helps us understand the movement state of the locating object, such as whether it is walking, cycling, driving, or stationary. Similarly, the feature information can also include direction, which is the direction of movement of the locating object, usually measured in degrees. Finally, the positioning accuracy in the feature information specifically refers to the positioning accuracy value. The positioning accuracy value indicates the reliability of the trajectory point's position coordinates; the smaller the positioning accuracy value, the more accurate the trajectory point's position coordinates.
[0057] Therefore, when the location signal source of the trajectory point is a wireless network signal, and the wireless network signal is specifically Wi-Fi, the feature information can also include Wi-Fi information. The Wi-Fi information is the Media Access Control (MAC) and Received Signal Strength (RSS) corresponding to the Wi-Fi scanned by the trajectory point of the locatable object. For example, the Wi-Fi scanned for the locatable object is [mac1, rss1; mac2, rss2; mac3, rss3; ....,].
[0058] By collecting location data for each locatable object and cleaning the data (e.g., separating historical movement trajectories by distance thresholds or time thresholds), and storing the historical movement trajectories in a database that can communicate with a server, this database can be used for subsequent trajectory analysis and location positioning.
[0059] In the dwell point identification 202, the first step is to determine the dwell point, that is, to identify the dwell point from the various trajectory points contained in the historical movement trajectory. The second step is to determine the dwell time period of the locatable object indoors by using an up-and-down sliding window. It can be divided into the following two cases: (1) The dwell point identified from the various trajectory points contained in the historical movement trajectory is determined as the first type of dwell point. (2) Non-candidate dwell point: The non-candidate dwell point is the trajectory point whose feature information does not meet the dwell point determination condition. The up-and-down sliding window method is used to determine the second type of dwell point. At this time, the timestamp of the first type of dwell point and the timestamp of the second type of dwell point constitute the dwell time period.
[0060] In the building binding of the stop point 203, after the stop point identification 202 identifies the stop time period, it is necessary to calculate the coordinates of the stop point location and the building entrance location based on the location of each stop point, and verify whether the stop point location and the building entrance location coordinates are in the same building, thereby locating the building where the locator is staying. Based on this, in the indoor time period identification 204, it is necessary to determine the indoor time period in which the locator is staying based on the stay time period represented by each stop point, according to the wireless network signal scanned and the satellite positioning signal received within the stay time period.
[0061] Finally, the wireless network signal is associated with a building (205), which involves considering the results of the wireless network signal and building association tags obtained for each locatable object, filtering and determining the wireless network signals to identify the building to which each wireless network signal is ultimately associated. It is understood that the flowchart in Figure 2 is only for understanding how wireless network signals are bound to buildings and should not be construed as limiting the specific implementation of this application.
[0062] The following embodiments illustrate this method: In one embodiment, as shown in Figure 3, a method for location processing within a building is provided. Taking the application of this method to server 104 in Figure 1 as an example, it can be understood that this method can also be applied to terminal 102, and can also be applied to a system including terminal 102 and server 104, and is implemented through the interaction between terminal 102 and server 104. In this embodiment, the method includes the following steps:
[0063] Step 302: Obtain the historical movement trajectory of the object being located, and identify the stopping point from the trajectory points contained in the historical movement trajectory.
[0064] The historical movement trajectory consists of multiple trajectory points. Specifically, it represents the movement path of the located object within a historical period. Therefore, the historical movement trajectory includes the starting trajectory point, the ending trajectory point, and all trajectory points traversed by the located object within the historical period. These trajectory points are the points where location data is collected, and each trajectory point has corresponding feature information. Secondly, dwell points are trajectory points where the located object did not move within the historical movement trajectory, or trajectory points with small movement distances. For example, if the located object is a food delivery rider, the rider's lack of significant movement over a period of time might indicate that they are still at a delivery location; the trajectory points collected in this case are dwell points. In practical applications, dwell points can also be Points of Interest (POIs) at the locations where the located object is stationary.
[0065] Furthermore, as described above, the feature information is used to characterize the information when the trajectory point is located and collected. The feature information includes at least one of the following: the source of the positioning signal, the position coordinates, the time information, the speed, the direction, and the positioning accuracy.
[0066] Specifically, the server acquires the historical movement trajectory of the object being located. As described above, in trajectory collection 201, location data for each locatable object (an authorized object capable of acquiring location data in real time) is first collected. Then, the location data of the locatable objects is cleaned to obtain usable historical movement trajectories. These historical movement trajectories are then stored in a database that can communicate with the server. This database can be used for subsequent trajectory analysis and location positioning. Therefore, when trajectory analysis is required, the server can obtain the cleaned historical movement trajectories through the communication connection with the aforementioned database.
[0067] In some embodiments, the aforementioned data cleaning method can be to divide the movement trajectory to be processed according to a distance threshold, thereby obtaining historical movement trajectories. The distance threshold is a standard value used for data cleaning of historical movement trajectories. When dividing the movement trajectory to be processed according to distance, if the distance between two consecutive trajectory points is greater than the threshold, the movement trajectory to be processed is divided into two historical movement trajectories using these two trajectory points. The value can be chosen according to the actual situation, such as 1 kilometer (km) or 2 km. For example, if the distance between two consecutive trajectory points in the movement trajectory to be processed is greater than the distance threshold, the movement trajectory to be processed can be divided into two historical movement trajectories using the aforementioned two trajectory points. Therefore, it can be seen that the distance between two consecutive trajectory points in a historical movement trajectory should be less than the distance threshold.
[0068] Specifically, step one: set the distance threshold d. threshold For example, d threshold The distance can be 1 kilometer (km) or 2 km. Step 2: Traverse the continuous trajectory points in the movement trajectory to be processed, and calculate the distance d between two adjacent trajectory points. This can be done using a formula. The calculation is performed, where R is the Earth's radius (usually taken as R = 6371 × 10⁻⁶). 3 m), and These are the latitudes of the trajectory point and its adjacent trajectory points, respectively. Let λ1 and λ2 be the latitude difference, and λ1 and λ2 be the longitudes of the trajectory point and its adjacent trajectory point, respectively. Δλ = λ2 - λ1 is the longitude difference. Step 3: If the distance d between two adjacent trajectory points is greater than the distance threshold d... threshold Then, the movement trajectory to be processed is divided into two historical movement trajectories using these two trajectory points. Step 4: Repeat steps 2 and 3 until all trajectory points in the movement trajectory to be processed have been traversed, and finally multiple historical movement trajectories are obtained, and the distance between two consecutive trajectory points in each historical movement trajectory should be less than the distance threshold.
[0069] Alternatively, the aforementioned data cleaning method can also involve dividing the movement trajectory to be processed according to a time threshold to obtain historical movement trajectories. The time interval threshold is another standard value used for data cleaning of historical movement trajectories. When the time interval between two consecutive trajectory points in the movement trajectory to be processed is greater than this threshold, the movement trajectory to be processed is divided into two historical movement trajectories using these two trajectory points. The specific value can be determined based on the actual situation, such as 1 hour or 2 hours. For example, if the time interval between two consecutive trajectory points in the movement trajectory to be processed is greater than the time interval threshold, the movement trajectory to be processed can be divided into two historical movement trajectories using the aforementioned two trajectory points. Therefore, the time interval between the time information corresponding to two consecutive trajectory points in each of the divided historical movement trajectories should be less than the time interval threshold.
[0070] Specifically, step 1: Set the time interval threshold t threshold For example, t threshold The time interval can be 1 hour or 2 hours, etc. Step 2: Traverse the continuous trajectory points in the movement trajectory to be processed, obtain the time information t1 and t2 corresponding to two adjacent trajectory points, and calculate the time interval Δt = t2 - t1 between them. Step 3: If the time interval Δt between two adjacent trajectory points is greater than the time interval threshold t... threshold Then, the movement trajectory to be processed is divided into two historical movement trajectories using these two trajectory points. Step 4: Repeat steps 2 and 3 until all trajectory points in the movement trajectory to be processed have been traversed, and finally multiple historical movement trajectories are obtained. The time interval between the time information corresponding to two consecutive trajectory points in each historical movement trajectory should be less than the time interval threshold.
[0071] Furthermore, the server identifies the stopping point from each trajectory point contained in the historical movement trajectory. As mentioned above, each trajectory point contained in the historical movement trajectory has its own characteristic information. At this time, the characteristic information of each trajectory point can be considered to determine whether the object being located is in a stopping state when it is at that trajectory point. That is, the stopping point is identified from each trajectory point through the characteristic information of each trajectory point.
[0072] Based on this, in one specific embodiment, identifying the stop point from each trajectory point included in the historical movement trajectory includes: extracting the feature information of each trajectory point included in the historical movement trajectory; and identifying the stop point from each trajectory point based on the feature information of each trajectory point.
[0073] The feature information includes at least one of the following: the source of the positioning signal, location coordinates, time information, speed, direction, and positioning accuracy. The source of the positioning signal is used to record the source information of the location coordinates of the trajectory point. For example, if the location coordinates of the trajectory point come from GPS, then the positioning signal source of the trajectory point is a satellite positioning signal. Alternatively, if the location coordinates of the trajectory point come from Wi-Fi, then the positioning signal source of the trajectory point is a wireless network signal. The wireless network signal can also be a base station positioning signal, Bluetooth positioning signal, etc., which are not limited here.
[0074] The location coordinates are specifically longitude and latitude, and the time information is the timestamp of the collected location coordinates. When the location signal for the trajectory point comes from satellite positioning, the speed is the moving speed of the object being located, usually measured in m / s. This helps us understand the movement state of the object, such as whether it is walking, cycling, driving, or stationary. The direction is the direction of movement of the object. Finally, the positioning accuracy is the accuracy value, which represents the reliability of the location coordinates of the trajectory point. The smaller the accuracy value, the more accurate the location coordinates of the trajectory point.
[0075] Specifically, during trajectory collection, location data of the object being located is collected. After trajectory generation and data cleaning using this location data, a historical movement trajectory consisting of multiple consecutive trajectory points can be obtained. At this point, each trajectory point group carries the feature information collected during the location acquisition. Therefore, based on the feature information of each trajectory point, stop points are selected. That is, the stop points are identified by determining whether the object being located stops at each trajectory point using the feature information of each trajectory point.
[0076] Since the feature information includes information in multiple dimensions, the following describes how to identify the stop point from each trajectory point for different dimensions of information. It can be understood that the method of identifying the stop point can be performed using at least one of the following embodiments.
[0077] In one optional embodiment, the feature information includes at least the location signal source of the trajectory point. The location signal source is used to record the source information of the location coordinates of the trajectory point. For example, if the location coordinates of the trajectory point come from GPS, then the location signal source of the trajectory point is a satellite positioning signal. Alternatively, if the location coordinates of the trajectory point come from Wi-Fi, then the location signal source of the trajectory point is a wireless network signal. The wireless network signal can also be a base station positioning signal, or a Bluetooth positioning signal, etc., which are not limited here.
[0078] Based on the characteristic information of each trajectory point, stop points are identified from each trajectory point, including at least one of the following methods: taking trajectory points in the historical movement trajectory whose positioning signal source does not belong to satellite positioning signals as stop points; taking trajectory points in the historical movement trajectory whose positioning signal source belongs to satellite positioning signals and whose positioning accuracy is greater than the positioning accuracy threshold as stop points.
[0079] The positioning accuracy threshold is the minimum value representing inaccurate positioning coordinates. When determining whether a trajectory point is a resting point, if the positioning signal of the trajectory point originates from a satellite positioning signal and its positioning accuracy is greater than the threshold, then the trajectory point may be a resting point of the object being located. The value can be flexibly determined according to the actual situation; in this embodiment, it is 50m.
[0080] Specifically, satellite signals need to pass through the atmosphere to travel from transmission to reception by positioning equipment. The ionosphere is relatively thick, and while the air within it is very thin, it contains a large number of ionized electrons. These electrons reduce the speed of electromagnetic waves, thus causing a delay. Furthermore, near the Earth's surface, various buildings, mountains, and water surfaces can cause satellite signals to be reflected or refracted (multipath effect), resulting in further delays. Therefore, satellite positioning signals are prone to drift in indoor environments.
[0081] Based on this, the server needs to determine whether the location signal source in the historical movement trajectory belongs to satellite positioning signal, that is, whether the location coordinates of the trajectory point come from GPS. If not, it means that the location signal source does not belong to satellite positioning signal, that is, the location signal source can be any of the wireless network signals of Wi-Fi positioning signal, base station positioning signal, and Bluetooth positioning signal. Since wireless network signals are usually set indoors, it can be determined that the target may be in an indoor environment or an environment with poor GPS positioning signal. Therefore, the trajectory point whose location signal source does not belong to satellite positioning signal may be the location where the target is staying. Thus, the trajectory point whose location signal source does not belong to satellite positioning signal is identified as the staying point.
[0082] Conversely, if so, it indicates that the positioning signal source is a satellite positioning signal, specifically a GPS positioning signal. As mentioned earlier, when the positioning signal source of the trajectory point is a satellite positioning signal, the positioning accuracy in the feature information is specifically the positioning accuracy value. The positioning accuracy value is used to represent the reliability of the trajectory point's position coordinates. The smaller the positioning accuracy value, the more accurate the trajectory point's position coordinates; conversely, the larger the positioning accuracy value, the less accurate the trajectory point's position coordinates. Indoor stops only occur when the target being located is in an indoor environment or an environment with poor GPS positioning signals. Therefore, a larger positioning accuracy value indicates that the target being located may be in an indoor environment or an environment with poor GPS positioning signals. Thus, it is necessary to determine whether the positioning accuracy is greater than the positioning accuracy threshold. If so, that is, a trajectory point with a positioning accuracy greater than the positioning accuracy threshold, it indicates that the GPS positioning signal is poor, meaning the trajectory point may have been collected from an area with unstable GPS positioning signals. Such a trajectory point may also be a stop point for the target being located. Therefore, trajectory points with positioning accuracy greater than the positioning accuracy threshold are considered stop points.
[0083] In one optional embodiment, the feature information includes at least the location coordinates and time information of the trajectory points. Specifically, the location coordinates are longitude and latitude, and the time information is the timestamp used to collect the location coordinates of the trajectory points.
[0084] Based on the feature information of each trajectory point, the stopping point is identified from each trajectory point, including: for each trajectory point, the object moving speed between the trajectory point and the adjacent trajectory points is determined by the position coordinates and time information of the trajectory point and the position coordinates and time information of the adjacent trajectory points; the object moving speed less than the speed threshold is determined as the stopping speed of the object being located, and the trajectory point that matches the stopping speed of the object being located is taken as the stopping point.
[0085] In this context, adjacent trajectory points can be either the preceding trajectory point or the following trajectory point. For example, a historical movement trajectory includes consecutive trajectory points A1, A2, A3, and so on up to trajectory point A10. For trajectory point A2, adjacent trajectory points include trajectory points A1 and A3. Trajectory point A1 is the preceding trajectory point adjacent to trajectory point A2, while trajectory point A3 is the following trajectory point adjacent to trajectory point A2.
[0086] Based on this, the object movement speed is specifically the speed at which the located object moves from one trajectory point to another. That is, the object movement speed can be: the speed at which the preceding trajectory point moves to the current trajectory point at the current trajectory point's timestamp; or the speed at which the trajectory point moves to the next adjacent trajectory point at the current trajectory point's timestamp. The speed threshold is the minimum value representing the location of the located object at its stationary or moving speed. After determining the object movement speed between the current trajectory point and its adjacent trajectory points using the position coordinates and time information of the trajectory points, if the object movement speed is less than this threshold, it is determined as the stationary speed of the located object. The trajectory point matching this stationary speed is designated as the stationary point. Its value can be flexibly determined according to the actual situation; in this embodiment, it is 0.001.
[0087] Specifically, the server processes each trajectory point in the historical movement trajectory as follows: extracts the position coordinates and time information from the feature information of the trajectory point, determines the adjacent trajectory points adjacent to the trajectory point, and extracts the position coordinates and time information from the feature information of the adjacent trajectory points. Thus, by using the position coordinates and time information of the trajectory point and the position coordinates and time information of the adjacent trajectory points, the object movement speed of the located object between the trajectory point and the adjacent trajectory points is determined.
[0088] In one embodiment, the server calculates the position coordinate difference between the position coordinates of the trajectory point and the position coordinates of adjacent trajectory points, and calculates the time information difference between the time information of the trajectory point and the time information of adjacent trajectory points. Then, the object's movement speed is obtained by dividing the position coordinate difference by the time information difference.
[0089] In one embodiment, the server first calculates the actual distance d between two points using the following formula, based on the longitude and latitude of the trajectory point and its adjacent trajectory points: Where R is the Earth's radius (usually taken as R = 6371 × 10⁻⁶). 3 m), and These are the latitudes of the trajectory point and its adjacent trajectory points, respectively. Let λ1 and λ2 be the latitude difference, and λ2 be the longitude of the trajectory point and its adjacent trajectory point, respectively. Δλ = λ2 - λ1 is the longitude difference. Then, calculate the time information difference Δt between the trajectory point and its adjacent trajectory points. Dividing the actual distance d by the time information difference Δt yields the object's movement speed.
[0090] If the adjacent trajectory point is the preceding trajectory point adjacent to the current trajectory point, then the object's movement speed is specifically the speed of the object at the timestamp of the current trajectory point. If the adjacent trajectory point is the following trajectory point adjacent to the current trajectory point, then the object's movement speed is specifically the speed of the object at the timestamp of the following trajectory point.
[0091] For ease of understanding, taking the adjacent trajectory point as the previous trajectory point adjacent to the current trajectory point as an example, the following formula (1) is used for explanation:
[0092] Wherein, V represents the object's movement speed from the previous trajectory point to the current trajectory point, P2 represents the position coordinates of the trajectory point, P1 represents the position coordinates of the previous trajectory point, T2 represents the time information of the trajectory point, and T1 represents the time information of the previous trajectory point.
[0093] Furthermore, the moving speed of an object below a speed threshold is determined as the stationary speed of the located object. In other words, an object moving at a speed below the threshold indicates that it may be stationary or has moved a short distance. Therefore, the server uses the trajectory point matching the stationary speed of the located object as the stationary point. Specifically, the trajectory point matching the stationary speed of the located object is the trajectory point corresponding to the timestamp represented by the object's moving speed. That is, the trajectory point corresponding to the timestamp represented by the object's moving speed is the stationary point.
[0094] To facilitate understanding, let's take a speed threshold of 0.001 as an example. If the object's movement speed B1 from trajectory point A1 to trajectory point A2 is 0.005, then B1 specifically represents the speed of the object at the timestamp of trajectory point A2. Similarly, if the object's movement speed B2 from trajectory point A2 to trajectory point A3 is 0.0005, then B2 specifically represents the speed of the object at the timestamp of trajectory point A3. Therefore, since B2 is less than the speed threshold, it can be determined as the stationary speed. This stationary speed specifically represents the speed of the object at the timestamp of trajectory point A3. The trajectory point matching this stationary speed is trajectory point A3, which is then designated as the stationary point.
[0095] In an optional embodiment, based on the feature information of each trajectory point, the stopping point is identified from each trajectory point, including: for each trajectory point, determining the object movement speed between the trajectory point and adjacent trajectory points by using the position coordinates and time information of the trajectory point and the position coordinates and time information of adjacent trajectory points; determining the rate of change of the object's speed at the trajectory point by using the object's movement speed and the satellite measurement speed; and identifying the trajectory points with a rate of change of speed greater than a rate of change threshold as stopping points.
[0096] The satellite-measured velocity is the speed of the object being located at the collected trajectory point, as measured by the satellite positioning device. For example, if trajectory point A1 is collected at time information T1, and the satellite positioning device measures the object's speed at time information T1 to be 2 m / s, then the satellite-measured velocity of trajectory point A1 is 2 m / s. Alternatively, if trajectory point A2 is collected at time information T2, and the satellite positioning device measures the object's speed at time information T2 to be 1 m / s, then the satellite-measured velocity of trajectory point A2 is 1 m / s. The satellite positioning device can be the satellite positioning module in the positioning terminal used by the object being located, which receives satellite signals and calculates the object's speed.
[0097] The rate of change threshold is a critical value used to determine whether a trajectory point is a stationary point. After determining the rate of change of the object's velocity at a trajectory point by comparing the object's moving speed with the satellite's measured velocity, if the rate of change exceeds this threshold, it usually indicates that the GPS velocity of the locatable object at that trajectory point is inaccurate, and the trajectory point may be a stationary point in an indoor scene. In this embodiment, it is set to 3.
[0098] Therefore, the rate of change of velocity is the average value of two velocities over a unit of time. The rate of change of velocity r is expressed by the formula... The calculation yields v1 as the object's moving speed, v2 as the satellite-measured speed, and ε as a minimum constant, which can be, for example, 0.00000000001. Secondly, the rate of change threshold is set to 3. A rate of change of 3 typically indicates that the GPS speed of the locating object at that trajectory point is inaccurate. The reason for this inaccurate GPS speed is a poor GPS signal, usually occurring in indoor scenes. Therefore, this trajectory point is the stopping point of the located object. The minimum constant is a constant approaching zero used in the formula for calculating the rate of change of speed. This is used to avoid a denominator of zero, ensuring the stability and accuracy of the calculation. Its specific value can be determined according to the actual situation; for example, in this application, it can be a very small positive value.
[0099] Specifically, the server determines the object's movement speed between the trajectory point and adjacent trajectory points by using the position coordinates and time information of the trajectory point and the position coordinates and time information of adjacent trajectory points for each trajectory point in a manner similar to that described in the foregoing embodiments. This will not be elaborated further here.
[0100] Secondly, the server determines the rate of change of the velocity of the located object at the trajectory point by comparing the object's moving speed with the satellite's measured speed. In other words, the server first calculates the absolute difference between the object's moving speed and the satellite's measured speed, then selects the speed with the smaller speed value from the object's moving speed and the satellite's measured speed as the denominator speed. Finally, the server adds a very small constant to the result obtained by dividing the absolute difference by the denominator speed (the speed with the smaller speed value selected from the object's moving speed and the satellite's measured speed) to obtain the rate of change of velocity.
[0101] To facilitate understanding, the following formula (2) will be used to explain in detail how to obtain the rate of change of velocity:
[0102] Where θ represents the rate of change of velocity, and V represents the velocity of the object being located from the previous trajectory point to the current trajectory point. w Characterizing the satellite's measurement velocity, Min(V, V) w The velocity with the smaller value is selected from the velocity measured by the satellite to represent the moving speed of the object. ε represents the minimum constant.
[0103] For example, if the object moving from the previous trajectory point to the current trajectory point has a speed of 10 m / s, and the satellite measurement speed corresponding to the trajectory point is 2 m / s, then the absolute difference between the object moving speed and the satellite measurement speed is 8 (10-2) m / s. If we choose the speed with the smaller value between the object moving speed and the satellite measurement speed, which is 2 m / s, then by adding a very small constant, the velocity change rate of the trajectory point is approximately 4 (8 / 2).
[0104] Furthermore, when the rate of change of velocity reaches a threshold, it usually indicates that the GPS velocity of the locating object at that trajectory point is inaccurate. The reason for this inaccurate GPS velocity is a poor GPS signal, typically occurring in indoor scenes. Therefore, this trajectory point is a stationary point for the located object. Thus, the server designates trajectory points with a rate of change of velocity greater than the threshold as stationary points. For example, with a threshold of 3, the aforementioned calculation shows that the rate of change of velocity at a trajectory point is approximately 4, which is greater than the threshold. Therefore, trajectory points with a rate of change of velocity of 4 can be identified as stationary points.
[0105] In one optional embodiment, based on the feature information of each trajectory point, the stopping point is identified from each trajectory point, including: taking the starting trajectory point or the ending trajectory point in the historical movement trajectory as the stopping point.
[0106] The starting trajectory point is the point where the historical movement trajectory begins, and similarly, the ending trajectory point is the point where the historical movement trajectory ends. For example, if the historical movement trajectory includes consecutive trajectory points A1, A2, A3, and so on up to trajectory point A10, then trajectory point A1 is the starting trajectory point, and trajectory point A10 is the ending trajectory point.
[0107] Specifically, since the starting and ending points of the historical movement trajectory could both be points where the located object stops—that is, the object starts moving from one location and stops moving at another—the starting point of the historical movement trajectory can be considered a stopping point, and the stopping point can also be considered a stopping point. Therefore, the starting point and the ending point of the historical movement trajectory are both designated as stopping points. For example, if trajectory point A1 is the starting point and trajectory point A10 is the ending point, then both trajectory points A1 and A10 can be designated as stopping points.
[0108] Step 304: Based on the location of each stop point, locate the building where the object being located is located.
[0109] As described above, feature information is used to characterize the information collected during the location tracking of trajectory points. This feature information includes the location coordinates of the trajectory points. Therefore, the location of the stop point identified from the trajectory points is the location coordinate of the trajectory point, specifically longitude and latitude. Specifically, the server locates the building where the object being tracked is located based on the location of each stop point. That is, the server determines the stop location coordinates through the location of each stop point and then filters and determines the building where the object being tracked is located from multiple actual buildings based on these stop location coordinates.
[0110] The following section details the method for determining the building where the target object is located:
[0111] In one optional embodiment, locating the building where the object being located is located based on the location of each stop point includes: averaging the position coordinates of multiple stop points and using the resulting average position coordinates as the stop position coordinates; finding a first candidate building with the smallest position distance to the stop position coordinates and determining a first position distance between the building position coordinates of the first candidate building and the stop position coordinates; and if the first position distance is less than a first distance threshold, determining the first candidate building as the building where the object being located is located.
[0112] The dwell position coordinates are used to characterize the dwell position of the located object, and are obtained by averaging the coordinates of multiple dwell points. The first position distance is the coordinate distance between the building position coordinates of the first candidate building and the dwell position coordinates. The first distance threshold is a distance standard used to determine whether the first candidate building is the building where the located object is dwelling. After calculating the first position distance between the building position coordinates of the first candidate building and the dwell position coordinates, if the first position distance is less than this threshold, the first candidate building is determined to be the building where the located object is dwelling. The value can be determined according to the actual application requirements. In this embodiment, it is 20 meters, but in actual applications, it can also be 30 meters or 40 meters, etc.
[0113] Specifically, the server averages the coordinates of multiple stop points and uses this average as the stop position coordinate. For example, if the coordinates of stop point C1 are (50, 50), stop point C2 are (51, 52), and stop point C3 is (49, 54), then averaging the coordinates of stop points C1, C2, and C3 yields (50, 52), thus determining the stop position coordinate as (50, 52).
[0114] In one embodiment, the server can convert the longitude and latitude of multiple stop points into three-dimensional Cartesian coordinates (x, y, z), using the following conversion formula: Where R is the Earth's radius (usually taken as R = 6371 × 10⁻⁶). 3 m), Let λ be the latitude and λ be the longitude. Then, the arithmetic mean of the three-dimensional Cartesian coordinates of the multiple rest points is calculated to obtain the average three-dimensional Cartesian coordinates. Finally, the average three-dimensional Cartesian coordinates are converted back to longitude and latitude using the following formula: λ = arctan2(y,x) is used as the coordinates of the stationary position.
[0115] Based on this, the server extracts the location coordinates of multiple actual buildings, calculates the distance between each building's location coordinates and the location of the stopped object, and selects the building with the smallest distance as the first candidate building. The server then defines the distance between the building's location coordinates and the location of the stopped object as the first location distance. Next, the server checks if the first location distance is less than a first distance threshold. If it is, the server identifies the first candidate building (where the distance is less than the first distance threshold) as the building where the located object is located. Conversely, if the first location distance is greater than the first distance threshold, the first candidate building is removed, meaning it is not marked with a wireless network signal on the historical movement trajectory.
[0116] Since the object being located may not have entered the building, but may be located at the building entrance or on the periphery, when determining the building where the object is located, the coordinates of the building entrance can also be considered for filtering. This will be explained in detail below:
[0117] In an optional embodiment, the method for determining the building where the located object is located further includes:
[0118] Based on the dwell time period, the first and second dwell trajectory points are determined from the trajectory points included in the historical movement trajectory. The first dwell trajectory point is the trajectory point preceding the starting dwell point in the dwell time period, and the second dwell trajectory point is the trajectory point following the ending dwell point in the dwell time period. The position coordinates of the first and second dwell trajectory points are averaged, and the average position coordinates are used as the building entrance position coordinates. The second and third candidate buildings with the closest position distance to the building entrance position coordinates are found, and the second position distance between the building position coordinates of the second candidate building and the building entrance position coordinates, and the third position distance between the building position coordinates of the third candidate building and the building entrance position coordinates are determined. If the second position distance is less than the third position distance, and the distance ratio between the second and third position distances is less than the distance ratio threshold, the second candidate building is determined as the building where the located object is dwelling.
[0119] The dwell time period is determined based on the time information represented by each dwell point. For example, there are dwell points C1, C2 and C3. The time information collected from dwell point C1 is timestamp D1, the time information collected from dwell point C2 is timestamp D2 and the time information collected from dwell point C3 is timestamp D3. Then timestamps D1, D2 and D3 can constitute the dwell time period.
[0120] Based on this, the first stop point is the trajectory point preceding the starting stop point within the stop time period, and the second stop point is the trajectory point following the ending stop point within the stop time period. Since the stop time period is determined by the time information represented by the stop points, and the stop points are actually trajectory points belonging to the historical movement trajectory, the first stop point within the stop time period is the starting stop point, and the trajectory point preceding the starting stop point in the historical movement trajectory is the first stop point. Similarly, the last stop point within the stop time period is the ending stop point, and the trajectory point following the ending stop point in the historical movement trajectory is the second stop point.
[0121] Secondly, the building entrance coordinates are used to represent the entrance location of the building where the located object is situated. These coordinates are obtained by averaging the coordinates of the first and second stationary trajectory points. The second location distance is the coordinate distance between the building's coordinates and the building's entrance coordinates of the second candidate building. The third location distance is the coordinate distance between the building's coordinates and the building's entrance coordinates of the third candidate building. The second location distance is less than the third location distance, meaning the second candidate building is closer to its building entrance coordinates than the third candidate building. Specifically, the distance ratio is calculated by dividing the second location distance by the third location distance.
[0122] The second distance threshold is a distance standard used to determine whether the second candidate building is the building where the located object is staying. After calculating the second location distance between the building location coordinates and the building entrance location coordinates of the second candidate building, if the second location distance is less than this threshold, other conditions need to be further judged. If they are met, the second candidate building is determined to be the building where the located object is staying. The value can be determined according to the actual application requirements. In this embodiment, it is set to 5 meters, but in actual applications, it can also be 10 meters or 15 meters, etc.
[0123] The distance ratio threshold is a standard used to help determine whether the second candidate building is the building where the located object is staying. After calculating the distance ratio between the second location and the third location, if the distance ratio is less than this threshold, and the distance of the second location is less than the second distance threshold, then the second candidate building is determined to be the building where the located object is staying. The value can be determined according to the actual application requirements. In this embodiment, it is set to 0.6, but in actual applications, it can also be 0.5 or 0.55, etc.
[0124] Specifically, the server determines the dwell time period based on the time information represented by each dwell point. Then, it identifies the first dwell point within the dwell time period as the starting dwell point and the last dwell point within the dwell time period as the ending dwell point. Therefore, the previous trajectory point adjacent to the starting dwell point in the historical movement trajectory is identified as the first dwell trajectory point, and the next trajectory point adjacent to the ending dwell point in the historical movement trajectory is identified as the second dwell trajectory point.
[0125] Furthermore, based on the feature information of the first and second stopping trajectory points, the server extracts the position coordinates of the first and second stopping trajectory points, and obtains the average position coordinates using the averaging method described in the previous embodiment. The obtained average position coordinates are then used as the building entrance position coordinates. For ease of understanding, taking a historical movement trajectory including consecutive trajectory points A1, A2, A3, and so on up to trajectory point A10 as an example, if trajectory point A3 is identified as stopping point C1, trajectory point A4 as stopping point C2, and trajectory point A5 as stopping point C3, then trajectory point A3 is the starting stopping point in the stopping time period, and trajectory point A5 is the ending stopping point in the stopping time period. Therefore, the preceding trajectory point adjacent to the starting stopping point (i.e., trajectory point A3) in the historical movement trajectory is trajectory point A2. Thus, trajectory point A2 can be determined as the first stopping trajectory point. Similarly, in the historical movement trajectory, the next trajectory point adjacent to the termination point (i.e., trajectory point A5) is trajectory point A6, thus it can be determined that trajectory point A6 is the second stopping trajectory point.
[0126] Based on this, the server extracts the location coordinates of each of the actual buildings, then calculates the location distance between each building's location coordinates and the building's entrance location coordinates, and selects the actual building with the smallest location distance as the second candidate building, and the actual building with the smallest location distance as the third candidate building. In other words, the location distances between each building's location coordinates and the building's entrance location coordinates are sorted, and two actual buildings are selected from smallest to largest as the second and third candidate buildings. At this point, the location distance between the second candidate building's location coordinates and the building's entrance location coordinates is determined as the second location distance, and the location distance between the third candidate building's location coordinates and the building's entrance location coordinates is determined as the third location distance. Since the second candidate building is closest to the building's entrance location coordinates, and the third candidate building is next, the second location distance is smaller than the third location distance.
[0127] At this point, the server determines whether the distance to the second location is less than a second distance threshold. If so, the server further determines whether the distance ratio between the second and third locations is less than a distance ratio threshold. If so, the second candidate building is identified as the building where the located object is staying. Conversely, if the distance to the second location is greater than the second distance threshold, the second candidate building is removed, and the building is not marked with wireless network signals during this stay period on the historical movement trajectory. Similarly, if the distance ratio is greater than the distance ratio threshold, the second candidate building is also removed, and the building is not marked with wireless network signals during this stay period on the historical movement trajectory.
[0128] For ease of understanding, let's take a second distance threshold of 5 meters and a distance ratio threshold of 0.6 as an example. If the distance to the second location is 4 meters and the distance to the third location is 10 meters, then the distance ratio between the second and third locations is 0.4 (4 / 10). Therefore, the distance to the second location (4 meters) is less than the second distance threshold (5 meters), and the distance ratio between the second and third locations (0.4) is also less than the distance ratio threshold (0.6). Thus, the second candidate building can be identified as the building where the target object is located.
[0129] In an optional embodiment, the method of determining the building where the located object is staying further includes: if the first candidate building and the second candidate building are the same building, determining the first candidate building as the building where the located object is staying.
[0130] In practical applications, whether the object being located enters a building, is at a building entrance or outside a building, or is on the periphery of a building, the building where the object is located, determined by the coordinates of the building entrance, and the building where the object is located, determined by the coordinates of the location, should be the same building. If they are different buildings, it indicates a deviation in the positioning result. In this case, the result with the building positioning deviation should not be applied to the association binding.
[0131] Specifically, in the aforementioned embodiments, when the first candidate building is determined to be the building where the located object is located by using the coordinates of the stopping position, and the second candidate building is determined to be the building where the located object is located by using the coordinates of the building entrance position, the server needs to further determine whether the first candidate building and the second candidate building are the same building. If so, since the first candidate building and the second candidate building are the same building, the building that the first candidate building and the second candidate building both indicate is determined to be the building where the located object is located. If not, the first candidate building and the second candidate building are removed, that is, the first candidate building and the second candidate building are not marked with wireless network signals in this location on the historical movement trajectory.
[0132] Step 306: Based on the dwell time period represented by each dwell point, determine the effective dwell time period of the located object indoors according to the wireless network signal scanned and the satellite positioning signal received within the dwell time period.
[0133] Since the wireless network signal can be any of Wi-Fi positioning signals, base station positioning signals, or Bluetooth positioning signals, for the object being located, the wireless network signal is the positioning signal scanned by the locator terminal used by the object. The satellite positioning signal, specifically, is a satellite signal used for positioning, such as a GPS positioning signal; therefore, the satellite positioning signal is the positioning signal received by the locator terminal used by the object. Secondly, the feature information includes at least the source of the positioning signal for the trajectory point. The source of the positioning signal records the source information of the position coordinates of the trajectory point; therefore, by knowing the source of the positioning signal, it can be determined whether each trajectory point scanned a wireless network signal or received a satellite positioning signal.
[0134] Specifically, the server determines the dwell time period based on the time information represented by each dwell point, and extracts the location signal source from the feature information of each dwell point within the dwell time period. By filtering the location signal source of each dwell point from the dwell time period, the server determines the effective dwell time period of the located object indoors represented by each dwell point whose location signal source belongs to the wireless network signal.
[0135] The following describes how to determine the dwell time period. In a specific embodiment, the method for determining the dwell time period represented by each dwell point includes: performing up and down sliding window processing on the time information of each dwell point to obtain the time information after sliding window processing; and constructing the dwell time period through the time information after sliding window processing.
[0136] Specifically, the server can directly extract the time information from the feature information of each stop point and construct the stay time period using the time information of each stop point. For example, if there are stop points C1, C2, and C3, the time information collected for stop point C1 is timestamp D1, the time information collected for stop point C2 is timestamp D2, and the time information collected for stop point C3 is timestamp D3, then timestamps D1, D2, and D3 can constitute the stay time period.
[0137] However, due to potential omissions in stop point identification, the server can first construct a first stop time period based on the time information of each stop point. Then, a sliding window process is applied to each stop point. Specifically, a fixed-size sliding window is set, the size of which can be determined based on actual conditions, for example, containing n trajectory points. For each stop point, the sliding window is expanded forward and backward, centered on that stop point, and the number of trajectory points within the window that meet specific conditions (such as speed less than a certain threshold, location signal source being a wireless network signal, etc.) is counted. If the number of trajectory points meeting the conditions exceeds a certain percentage (e.g., m%), the trajectory points within the window that were not identified as stop points are filtered out as remaining stop points. Then, a second stop time period is constructed based on the time information of each of the remaining stop points. This second stop time period includes the time information after the sliding window processing (the time information of each of the remaining stop points). Finally, merging the first and second stop time periods yields the desired stop time period.
[0138] For ease of understanding, as shown in Figure 4, multiple trajectory points 402 are not dwell points, while multiple trajectory points 404 are dwell points. In this case, the dwell time period is constructed by the time information of each of the multiple trajectory points 404.
[0139] In other words, if a trajectory point has a large number of stop points before and after it, then that trajectory point may be located within a cluster of stop points. Therefore, such trajectory points can also be used as stop points to facilitate the complete construction of the stop time period. The process of applying up and down sliding windows to each stop point is described in detail in subsequent embodiments.
[0140] Furthermore, the following describes how to determine the effective indoor stay time of the located object based on the location signal source within the stay time period: In a specific embodiment, the effective indoor stay time of the located object is determined according to the wireless network signal scanned and the satellite positioning signal received within the stay time period, including: determining the location signal source for each stop point within the stay time period; the location signal source is either the scanned wireless network signal or the received satellite positioning signal; the stop point before the location signal source switches from satellite positioning signal to wireless network signal is designated as the first stop point, and the stop point where the location signal source switches from wireless network signal to satellite positioning signal is designated as the second stop point; the time interval between the stop time of the located object at the first stop point and the stop time at the second stop point is taken as the effective indoor stay time of the located object.
[0141] The location signal source is either a scanned wireless network signal or a received satellite positioning signal. The specific location signal source is similar to that in the previous embodiment and will not be repeated here. Secondly, the first stop point is the stop point preceding the point where the location signal source changes from a satellite positioning signal to a wireless network signal during the stop time period. That is, the location signal source corresponding to the first stop point is a satellite positioning signal, and the location signal source corresponding to the next stop point adjacent to the first stop point is the changed wireless network signal. Similarly, the second stop point is the stop point where the location signal source changes from a wireless network signal to a satellite positioning signal during the stop time period. That is, the location signal source corresponding to the second stop point is a satellite positioning signal, and the location signal source corresponding to the previous stop point adjacent to the second stop point is a wireless network signal.
[0142] Specifically, the server extracts the location signal source of each stop point through the feature information of each stop point within the stop time period, and sorts the stop points sequentially according to whether the location information source belongs to a wireless network signal or a satellite positioning signal. For ease of understanding, as shown in Figure 5, the stop time period 502 includes the time information of each stop point, that is, the time information t1 of the stop point to the time information t of the stop point. T This constitutes the dwell time period 502. The location signal sources 504 for multiple dwell points correspond to the time information.
[0143] Based on this, the server sequentially determines the location signal source for each stop point within the dwell time period. After identifying the change from satellite positioning signal to wireless network signal, it designates the preceding stop point adjacent to the stop point that changed to wireless network signal as the first stop point. Then, it continues to sequentially determine the location signal source for each stop point. After identifying the change from wireless network signal to satellite positioning signal again, it designates the stop point that changed to satellite positioning signal as the second stop point. For ease of understanding, Figure 5 is used as an example for further explanation. As shown in Figure 6, location signal source G indicates a satellite positioning signal, while location signal source N indicates a wireless network signal. Therefore, the stop point before the change from location signal source G (satellite positioning signal) to location signal source N (wireless network signal) is stop point 602, and the stop point after the change from location signal source N (wireless network signal) to location signal source G (satellite positioning signal) is stop point 604. Therefore, stop point 602 can be determined as the first stop point, and stop point 604 as the second stop point.
[0144] Furthermore, the server uses the time interval between the dwell time of the located object at the first stop point and the dwell time at the second stop point as the effective dwell time period of the located object indoors. That is, the server determines the time information of the first stop point as the dwell time of the located object at the first stop point, and the time information of the second stop point as the dwell time of the located object at the second stop point. Thus, the time interval between the time information of the first stop point and the time information of the second stop point is used as the effective dwell time period of the located object indoors. For easier understanding, please refer to Figure 6 again. Since stop point 602 is the first stop point and stop point 604 is the second stop point, and stop point 602 corresponds to time information t1, while stop point 604 corresponds to time information t... T Therefore, time information t1 to time information t T The time interval between these intervals is the effective time period during which the object being located stays indoors.
[0145] Understandably, since the time a located object spends indoors in practical applications is not short, it's advisable to further determine whether the time interval between the object's dwell time at the first and second dwell points reaches an interval threshold. This threshold can be 20 or 30 seconds, a value determined based on the actual situation. In other words, after determining the first and second dwell points, the time interval between their respective times is checked to see if it reaches the threshold. If it does, this time interval is considered the valid indoor dwell time for the located object. If not, it indicates that the object may only be moving near the building's exterior, resulting in location deviation, and in this case, the valid indoor dwell time is not determined within that time interval. The interval threshold is a time length standard determined based on actual conditions, used to determine the validity of the object's indoor dwell time. When determining the time interval between the object's dwell time at the first and second dwell points, only if this time interval reaches this threshold is it considered the valid indoor dwell time for the located object, thus eliminating misjudgments caused by factors such as location deviation.
[0146] Step 308: Wireless network signals with signal strength greater than a preset strength during the effective dwell time period are marked as building-marked wireless network signals. The scanning results of the marked wireless network signals are used as location determination information for entering the building.
[0147] The preset strength is obtained by sorting the historical signal strength values of the wireless network signal and taking the quantile. Therefore, each wireless network signal has a corresponding preset strength. A quantile is a numerical value that divides a set of data into several equal parts after arranging it in ascending or descending order. In this application, the signal strength values of the wireless network signal within a historical movement time period are sorted, and then the signal strength value corresponding to the preset quantile is selected from largest to smallest as the preset strength of the wireless network signal. The preset quantile is a proportional value used to determine the preset strength of the wireless network signal. After obtaining and sorting the signal strength values of the wireless network signal within each historical movement time period, the signal strength value corresponding to the preset quantile is selected from largest to smallest as the preset strength of the wireless network signal. The specific value can be adjusted according to the actual application scenario and data characteristics; in this embodiment, it is 30%.
[0148] Based on this, the marked wireless network signal includes wireless network signals with a signal strength greater than a preset strength during the effective dwell time period; that is, the marked wireless network signal includes at least one wireless network signal. The scanning result of the marked wireless network signal is used as location determination information for entering a building. In practical applications, if the location signal information of the object to be located is a wireless network signal, and a wireless network signal belonging to any of the marked wireless network signals is scanned, the building marked by the marked wireless network signal can be identified as the target building where the object to be located is located.
[0149] Specifically, as described in the foregoing embodiments, during the effective stay period of the located object indoors, the location signal source at the stay point must be a wireless network signal. Therefore, the server needs to scan and acquire the wireless network signals within the effective stay period, determine the preset strength corresponding to each wireless network signal, and then determine whether the signal strength of the wireless network signal scanned during the effective stay period is greater than the preset strength of the wireless network signal. If so, the wireless network signal is marked as the building's marked wireless network signal. If not, the wireless network signal is not bound to the located building.
[0150] The following describes the method for determining the preset strength of each wireless network signal. In a specific embodiment, the method for determining the preset strength includes: obtaining the signal strength value of the wireless network signal in each historical movement time period and sorting the signal strength values; the historical movement time period does not include stop points; and taking the signal strength value corresponding to the preset quantile from largest to smallest as the preset strength of the wireless network signal.
[0151] The historical movement time period excludes stop points; that is, in each historical movement trajectory, the stop time periods represented by each stop point are removed, and the remaining time period is the historical movement time period. Secondly, the signal strength values are sorted from largest to smallest, with a preset quantile of 30%. The specific value of the preset quantile can be adjusted according to the actual application scenario and data characteristics. Generally, through multiple experiments and data analysis, the quantile value that achieves the optimal positioning accuracy is selected; in this embodiment, the preset quantile is 30%.
[0152] Specifically, the server first filters out the remaining trajectory points from each historical movement trajectory based on the dwell time periods represented by each dwell point, identifying the remaining trajectory points whose time information is not included in the dwell time information. This remaining trajectory point time information is then defined as the historical movement time period. Next, based on the feature information of the trajectory points included in each historical movement time period, the server identifies the trajectory points that include the wireless network signal, and thereby determines the signal strength value of these trajectory points for that wireless network signal. For example, for a wireless network signal R, if there are M trajectory points that include the wireless network signal R in the historical movement time period, then M signal strength values corresponding to the wireless network signal R can be obtained, such as [R1, R2, ..., R...]. M ].
[0153] Based on this, the server sorts the signal strength values and then selects the signal strength value corresponding to the preset quantile from the sorting result in descending order as the preset strength of the wireless network signal. That is, it filters from the largest to the smallest and uses the signal strength value that is at the preset quantile position among the signal strength values as the preset strength of the wireless network signal. Specifically, the preset quantile can be multiplied by the total number of signal strength values. The value indicated by the product result is the position of the preset quantile in the descending sort. If the product result is not an integer, it can be rounded up or down, which is not limited here.
[0154] For example, taking the wireless network signal R as an example again, if there are 10 trajectory points in the historical movement time period that include the wireless network signal R, such as [R1, R2, ..., R...] 10 Now, sort the 10 signal strength values from largest to smallest. If the sorted result is [R1, R3, R4, R...], then... 10 R9, R7, R8, R2, R6, R5], and the preset quantile is 30%. For the signal strength values of 10 trajectory points, that is, the third signal strength value from the largest to the smallest is taken as the preset strength of the wireless network signal. According to the above sorting results, the signal strength value R4 is taken as the preset strength of the wireless network signal R.
[0155] It is understood that the corresponding examples in the embodiments of this application are used to understand this solution, but should not be construed as specific limitations on this solution.
[0156] In the aforementioned method for positioning within buildings, since an object entering a building will inevitably pause compared to its trajectory outside the building, the pause point ensures the reliability of the located building. Secondly, by associating the building where the object pauses with the marked wireless network signal within the building, the scanning results of the marked wireless network signal can be used as positioning information for entering the building. Since the marked wireless network signal is confirmed based on signal strength, signal problems caused by changes in the wireless network signal field can be avoided, thus ensuring the reliability of the marking between the building and the wireless network signal. This allows positioning within the building to be directly determined by the scanning results of reliable wireless network signals, thereby improving the accuracy of positioning within the building.
[0157] In one embodiment, as shown in Figure 7, the stopping points include a first type of stopping point and a second type of stopping point. The first type of stopping point is a stopping point whose feature information of the trajectory point satisfies the stopping point determination condition.
[0158] Among them, the first type of stop point is the stop point whose feature information of the trajectory point satisfies the stop point determination method introduced in the aforementioned embodiment, that is, the method of identifying stop points from each trajectory point contained in the historical movement trajectory introduced in the aforementioned embodiment, specifically used to identify the first type of stop point from each trajectory point based on the feature information of each trajectory point.
[0159] The following describes the method for determining the second type of stop point. Based on this, the methods for determining the second type of stop point include:
[0160] Step 702: Select all trajectory points except for the first type of stop points as candidate stop points.
[0161] Candidate stop points are track points in the historical movement trajectory excluding those in the first category of stop points. Specifically, after the server identifies the first category of stop points from each track point based on their respective feature information, it removes the first category of stop points from the track points included in the historical movement trajectory, and determines the remaining track points as candidate stop points. For example, if the historical movement trajectory includes sequentially consecutive track points A1, A2, A3, and so on up to track point A10, and track point A3 is identified as stop point C1, track point A4 as stop point C2, and track point A5 as stop point C3, and track points A3, A4, and A5 are all identified as first category stop points based on feature information, then the remaining track points in the historical movement trajectory that were not identified as first category stop points—A1, A2, A6, A7, A8, A9, and A10—are all determined as candidate stop points.
[0162] Step 704: Based on the candidate stop point, extract a preset number of consecutive first trajectory points forward from the historical movement trajectory, and extract a preset number of consecutive second trajectory points backward.
[0163] The number of multiple first trajectory points is a preset number, and these multiple first trajectory points do not include candidate stop points. Similarly, the number of multiple second trajectory points is a preset number, and these multiple second trajectory points do not include candidate stop points. Furthermore, the preset number is set to 20, meaning that the number of both the multiple first trajectory points and the multiple second trajectory points is 20.
[0164] Specifically, for each candidate stop point, the server extracts a preset number of consecutive first trajectory points forward from the historical movement trajectory, and a preset number of consecutive second trajectory points backward, based on the candidate stop point. The multiple first trajectory points can construct a set of previous trajectory points N_before, and the multiple first trajectory points can construct a set of subsequent trajectory points N_after.
[0165] For ease of understanding, let's take a historical movement trajectory consisting of consecutive trajectory points A1, A2, and A100 as an example. If trajectory points A20 to A38 and A40 to A50 are all identified as first-type stop points, then trajectory points A1 to A19, A39, and A51 to A100 are all candidate stop points. Taking trajectory point A39 as a baseline and setting the preset quantity to 20 as an example, then extracting 20 consecutive trajectory points forward from trajectory point A39 results in trajectory points A19 to A38, i.e., multiple first trajectory points are trajectory points A19 to A38. Similarly, extracting 20 consecutive trajectory points backward from trajectory point A39 results in trajectory points A40 to A59, i.e., multiple second trajectory points are trajectory points A40 to A59.
[0166] Step 706: Determine a first number of multiple first trajectory points including first type of stop points, and a second number of multiple second trajectory points including first type of stop points.
[0167] The first quantity refers to the total number of first-type stop points among multiple first trajectory points, and the second quantity refers to the total number of first-type stop points among multiple second trajectory points. Specifically, since the server identifies first-type stop points from each trajectory point based on the feature information of each trajectory point, for each candidate stop point, the number of first-type stop points included in the multiple first trajectory points and multiple second trajectory points can be counted. The total number of first-type stop points included in the multiple first trajectory points is determined as the first quantity, and the total number of first-type stop points included in the multiple second trajectory points is determined as the second quantity.
[0168] For ease of understanding, let's again use the example from the previous embodiment, with trajectory point A39 as the baseline, where multiple first trajectory points are trajectory points A19 to A38, and multiple second trajectory points are trajectory points A40 to A59. Since trajectory points A20 to A38 and A40 to A50 are all identified as first-type stop points, then among trajectory points A19 to A38 (multiple first trajectory points), there are 19 first-type stop points, hence the first quantity is 19. Similarly, among trajectory points A40 to A59 (multiple second trajectory points), there are 11 first-type stop points, hence the second quantity is 11.
[0169] Step 708: If the first quantity reaches the first quantity threshold and the second quantity reaches the second quantity threshold, the candidate stop point is determined as the second type of stop point.
[0170] The first quantity threshold is obtained by multiplying a preset quantity proportionally. For example, if the preset quantity is 20, then the first quantity threshold can be 6. Similarly, the second quantity threshold is obtained by multiplying a preset quantity proportionally. For example, if the preset quantity is 20, then the second quantity threshold can be 6. The first and second quantity thresholds can be the same or different; this is not limited here.
[0171] Specifically, for each candidate stop point, if the first number of candidate stop points reaches a first threshold and the second number reaches a second threshold, the candidate stop point is determined as a second type of stop point. After performing the aforementioned determination on all candidate stop points, stop points including both first and second type stop points can be obtained. That is, considering that there are a large number of first type stop points before and after a candidate stop point, the candidate stop point may be located in the cluster area of first type stop points. Therefore, such candidate stop points can also be used as stop points to facilitate the complete construction of the stop time period, thereby completing the up and down sliding window processing for each stop point.
[0172] To facilitate understanding, we will further explain using the example from the aforementioned embodiment. If the first quantity threshold is 6 and the second quantity threshold is 6, then for trajectory point A39, the first quantity is 19 and the second quantity is 11. That is, the first quantity of trajectory point A39 reaches the first quantity threshold, and the second quantity of trajectory point A39 reaches the second quantity threshold. At this time, trajectory point A39 can be identified as a second type of stop point.
[0173] It is understood that the corresponding examples in the embodiments of this application are used to understand this solution, but should not be construed as specific limitations on this solution.
[0174] In the above embodiments, considering that there are a large number of first-type stop points before and after the candidate stop point, the candidate stop point may be located in the cluster area of the first-type stop points. Therefore, such candidate stop points can also be used as second-type stop points to complete the sliding window processing of stop points, remove noise in the stop point identification process, avoid omission of actual stop point identification in the identification process, so as to make the constructed stop time period complete and accurate, thereby improving the reliability of wireless network signal and building association marking, and thus improving the accuracy of positioning processing in the building.
[0175] In one embodiment, as shown in Figure 8, the number of objects to be located is multiple; the tagged wireless network signal includes at least one wireless network signal. That is, the historical movement trajectory is the movement path of multiple objects within a historical period. Furthermore, for each historical movement trajectory, there can be at least one wireless network signal, which is associated with a tagged network signal associated with the building where the object is located.
[0176] In cases where multiple historical movement trajectories identify multiple different buildings associated with the same wireless network signal, it is necessary to determine the building to which the wireless network signal is accurately associated. This will be addressed below. Based on this, methods for location processing within buildings also include:
[0177] Step 802: If the wireless network signal is associated with at least one candidate building, determine the number of candidate buildings that are associated with the wireless network signal.
[0178] Specifically, the server uses the aforementioned method to mark wireless network signals with signal strength greater than a preset strength within the effective dwell time period as the marked wireless network signals of buildings. Therefore, for the historical movement trajectories of multiple located objects, it is necessary to filter and judge the wireless network signals included in each marked wireless network signal; that is, for wireless network signals associated with at least one candidate building, the number of candidate buildings marked with the wireless network signal needs to be determined.
[0179] For example, there are historical movement trajectories E1, E2, and E3. Historical movement trajectory E1, through the methods provided in the aforementioned embodiments, determines the association markers between wireless network signal R1 and building F1, and between wireless network signal R2 and building F1. Historical movement trajectory E2, through the methods provided in the aforementioned embodiments, determines the association markers between wireless network signal R2 and building F2, and between wireless network signal R3 and building F3. Historical movement trajectory E3, through the methods provided in the aforementioned embodiments, determines the association marker between wireless network signal R3 and building F3.
[0180] Based on this, for wireless network signal R1, an association tag can be obtained between wireless network signal R1 and building F1. Therefore, the number of candidate buildings associated with wireless network signal R1 is 1 (building F1). Similarly, for wireless network signal R2, association tags can be obtained between wireless network signal R2 and building F1, and between wireless network signal R2 and building F2. Therefore, the number of candidate buildings associated with wireless network signal R2 is 2 (building F1 and building F2). Similarly, wireless network signal R3 is associated with building F3. Therefore, the number of candidate buildings associated with wireless network signal R3 is 1 (building F3).
[0181] The next step is to determine whether the number of candidate buildings tagged with the wireless network signal exceeds a building number threshold, which is 2. If so, it means that there are more than 2 candidate buildings tagged with the wireless network signal, indicating that too many candidate buildings are tagging the same wireless network signal. This suggests a potential problem with the tagging association process. In this case, the wireless network signal is not associated with any candidate building; that is, the association tag between the wireless network information and the candidate building is removed.
[0182] If the number of candidate buildings tagged with the wireless network signal is 1, proceed to step 804. If the number of candidate buildings tagged with the wireless network signal is 2, proceed to step 808.
[0183] Step 804: When the number of buildings is 1, determine the number of markers that mark the wireless network signal and the candidate buildings in the historical movement trajectory of each located object.
[0184] The "marking count" refers to the number of historical movement trajectories that have marked the wireless network signal with candidate buildings. Specifically, when the number of buildings is 1, meaning that in the historical movement trajectories of each located object, if the wireless network signal is marked as a building, the wireless network signal is also marked with a candidate building. Therefore, we can count how many historical movement trajectories of each located object have marked the wireless network signal with a candidate building, and the number of historical movement trajectories that have marked the wireless network signal with a candidate building is determined as the marking count.
[0185] To facilitate understanding, let's further illustrate with the aforementioned example. Taking wireless network signal R3 as an example, since the number of candidate buildings that can be marked with wireless network signal R3 is 1, and both historical movement trajectories E2 and E3 can be used to determine the association mark between wireless network signal R3 and building F3, that is, for the association mark between wireless network signal R3 and building F3, there are historical movement trajectories E2 and E3 that are marked. Therefore, it can be determined that the number of historical movement trajectories that mark wireless network signal R3 and building F3 is 2 (i.e., historical movement trajectory E2 and historical movement trajectory E3). Thus, the number of marks can be determined to be 2.
[0186] Step 806: If the number of tags is greater than the tag number threshold, determine to tag the wireless network signal with the candidate building.
[0187] The tagging threshold is the minimum number of historical movement trajectories that tag the wireless network signal with candidate buildings. When the number of historical movement trajectories that tag the wireless network signal with candidate buildings is greater than this threshold, it indicates a high confidence level in tagging the wireless network signal with candidate buildings, and it can be determined that the wireless network signal and candidate buildings should be tagged. In this embodiment, it is set to 5.
[0188] Specifically, if the number of historical movement trajectories that are marked with the wireless network signal and the candidate building is greater than the number of marking trajectories, that is, if there are more historical movement trajectories than the number of marking trajectories, then marking the wireless network signal and the candidate building indicates that the confidence level of marking the wireless network signal and the candidate building is high, and therefore the wireless network signal and the candidate building can be marked.
[0189] The following describes the case where there are 2 buildings. In one optional embodiment, the method for location processing within the buildings further includes:
[0190] Step 808: When the number of buildings is 2, determine the number of first markers that mark the wireless network signal with the first candidate building and the number of second markers that mark the wireless network signal with the second candidate building in the historical movement trajectory of each located object; the number of first markers is greater than the number of second markers.
[0191] The first number of markers refers to the number of historical movement trajectories of each located object that have marked the wireless network signal with the first candidate building. When there are two buildings, this number is compared with the second number of markers to determine whether to mark the wireless network signal with the first candidate building. The second number of markers refers to the number of historical movement trajectories of each located object that have marked the wireless network signal with the second candidate building. When there are two buildings, this number is compared with the first number of markers. If the first number of markers is greater than the second number of markers, and the ratio between the two numbers is greater than a threshold, then it is determined that the wireless network signal will be marked with the first candidate building. A first number of markers greater than the second number of markers means that more historical movement trajectories have marked the first candidate building with the wireless network signal.
[0192] Specifically, when there are two buildings, meaning that in the historical movement trajectories of each located object, the wireless network signal is marked with a building, specifically with both a first and a second candidate building. Therefore, we can count how many historical movement trajectories of each located object mark the wireless network signal with the first candidate building, and determine this number as the first marking count. Similarly, we can count how many historical movement trajectories of each located object mark the wireless network signal with the second candidate building, and determine this number as the second marking count.
[0193] For ease of understanding, if the number of tags G1 between wireless network signal R3 and building F3 is 2, and the number of tags G2 between wireless network signal R3 and building F4 is 12, meaning there are 12 historical movement trajectories that tag wireless network signal R3 and building F4, and 2 historical movement trajectories that tag wireless network signal R3 and building F3, then building F4 can be determined as the first candidate building, and building F3 as the second candidate building. The number of tags G1 specifically represents the second number of tags, and the number of tags G2 specifically represents the first number of tags.
[0194] Step 810: If the ratio of the number of first tags to the number of second tags is greater than the ratio threshold, determine to tag the wireless network signal with the first candidate building.
[0195] The quantity ratio threshold is a pre-defined critical value used to determine the relationship between wireless network signals and candidate building labels. When comparing the number of first labels that mark the wireless network signal with the first candidate building and the number of second labels that mark the wireless network signal with the second candidate building, if the ratio of the number of first labels to the number of second labels is greater than the threshold, the wireless network signal is determined to be labeled with the first candidate building. It is a standard for measuring the labeling confidence. The quantity ratio threshold can be set to 5. Specifically, the server calculates the quantity ratio between the number of first labels and the number of second labels, that is, using the number of first labels as the numerator and the number of second labels as the denominator, to obtain the quantity ratio between the number of first labels and the number of second labels. Based on this, the server determines whether the quantity ratio is greater than the quantity ratio threshold. If so, the first candidate building whose wireless network signal matches the number of first labels is labeled. If not, no association label is made between the wireless network signal and the first and second candidate buildings, that is, the association label between the wireless network information and the first and second candidate buildings is removed.
[0196] For ease of understanding, taking the example of the number of marks G1 being the second number of marks and the number of marks G2 being the first number of marks in the aforementioned embodiment, since the second number of marks is 2 and the first number of marks is 12, the ratio between the first number of marks and the second number of marks is 6 (12 / 2). It can be seen that the ratio (6) is greater than the ratio threshold (5), and the number of marks between the wireless network signal R3 and the building F4 is G2, which means that the wireless network signal R3 and the building F4 are marked at this time.
[0197] It is understood that the corresponding examples in the embodiments of this application are used to understand this solution, but should not be construed as specific limitations on this solution.
[0198] In the above embodiments, when multiple different buildings are associated with the same wireless network signal in multiple historical movement trajectories, the buildings that are accurately associated with the wireless network signal are determined by judging and filtering the number of candidate buildings that are associated with the wireless network signal and the number of markers that are associated with the candidate buildings in the historical movement trajectory. This further improves the reliability of associating the wireless network signal with the building and thus improves the accuracy of the positioning processing within the building.
[0199] The foregoing embodiments described methods for associating wireless network signals with buildings. The following describes a method for building location processing based on the aforementioned embodiments, specifically for locating an object within a building. In one embodiment, as shown in Figure 9, a building location processing method is provided. Taking the application of this method to terminal 102 in Figure 1 as an example, it can be understood that this method can also be applied to server 104, and to a system including terminal 102 and server 104, and implemented through the interaction between terminal 102 and server 104. In this embodiment, the method includes the following steps:
[0200] Step 902: Obtain the positioning signal information of the object to be located for object positioning.
[0201] The positioning signal information includes wireless network signals and satellite positioning signals. Specifically, the terminal used by the object to be located obtains the positioning signal information used for object positioning. That is, the terminal can scan for wireless network signals used for object positioning, or receive satellite positioning signals used for object positioning. If the positioning signal information is a satellite positioning signal, the existing positioning method is used for object positioning, which will not be elaborated here.
[0202] Step 904: If the positioning signal information is a wireless network signal, determine the tagged wireless network signal that matches the object to be located.
[0203] Specifically, when the location signal information is a wireless network signal, the object to be located may be inside or near a building. In this case, the terminal used by the object determines a tagged wireless network signal that matches the object. This matching tagged wireless network signal can be the tagged wireless network signal with the highest signal strength among at least one tagged wireless network signal scanned by the terminal used by the object, or a tagged wireless network signal with a signal strength higher than a preset threshold. If considering matching the descriptive characteristics of the object, a descriptive rule base can be pre-established based on the object's type (e.g., person, vehicle) and usage habits (e.g., commonly used Wi-Fi networks). When the relevant information of the scanned tagged wireless network signal (e.g., network name, frequency band) matches a rule in the rule base, the tagged wireless network signal is considered to match the descriptive characteristics of the object.
[0204] The image description rule base is a set of rules built based on the type of the object to be located (such as people, vehicles, etc.) and usage habits (such as commonly used Wi-Fi networks, etc.). It collects usage habit data for different types of objects to be located, such as the names and frequency bands of commonly used Wi-Fi networks for people, and the specific in-vehicle Wi-Fi networks that vehicles may connect to, and categorizes and organizes this data into rule entries stored in the database. In practical applications, it is used to determine whether the relevant information (such as network name, frequency band, etc.) of the scanned marked wireless network signals matches the characteristics of the object to be located.
[0205] In some embodiments, (1) the terminal scans and obtains at least one marked wireless network signal, and records the signal strength of each marked wireless network signal. (2) If the marked wireless network signal with the highest signal strength is selected as the matching signal, the signal strength of each marked wireless network signal is directly compared, and the marked wireless network signal with the highest signal strength is selected as the marked wireless network signal that matches the object to be located. (3) If the marked wireless network signal with a signal strength higher than a preset threshold is selected as the matching signal, the signal strength of each marked wireless network signal is compared with the preset threshold, and the marked wireless network signal with a signal strength higher than the preset threshold is filtered out. If there is only one filtering result, the marked wireless network signal is the marked wireless network signal that matches the object to be located; if there are multiple filtering results, further selection can be made according to other rules (such as signal strength sorting). (4) If it is considered to match the image description of the object to be located, an image description rule base can be established in advance according to the type of the object to be located (such as people, vehicles, etc.) and usage habits (such as commonly used Wi-Fi networks, etc.). The specific establishment method is as follows: Collect usage habit data for different types of objects to be located, such as the names and frequency bands of Wi-Fi networks that people might frequently use, and the specific in-vehicle Wi-Fi networks that vehicles might connect to. Classify and organize this data to form rule entries and store them in a rule base. When the relevant information of a scanned marked wireless network signal (such as network name, frequency band, etc.) matches a rule in the rule base, a string matching algorithm (such as the KMP algorithm) can be used to match the network name. For the frequency band, it is determined whether it is within the frequency band range set in the rule base. If the matching condition is met, the marked wireless network signal is considered to conform to the image description of the object to be located. A string matching algorithm is used to find the location of a specific pattern string in a text string. In this application, the algorithm used to determine whether the network name of the scanned marked wireless network signal matches a rule in the image description rule base, such as the KMP algorithm, can efficiently search for pattern strings in text, improving the accuracy and efficiency of matching.
[0206] Step 906: Based on the building location processing method provided in the foregoing embodiments, the target building is determined by marking wireless network signals.
[0207] Specifically, as can be seen from the building location processing method provided in the foregoing embodiments, each wireless network signal can be marked with a building. Therefore, the terminal used by the target object can identify the buildings that are marked with the marked wireless network signal by the building location processing method provided in the foregoing embodiments, thus determining the target building. For example, in the example of the foregoing embodiments, wireless network signal R3 is marked with building F4. If the marked wireless network signal that matches the target object is wireless network signal R3, then building F4, which is marked with wireless network signal R3, is the target building.
[0208] Step 908: Identify the target building as the building where the object to be located is located.
[0209] Specifically, the terminal used by the object to be located identifies the target building as the building where the object is located. That is, it identifies the target building that has a binding tagging relationship with the tagged wireless network signal as the building where the object is located. For example, as shown in the previous example, building F4, which is tagged with wireless network signal R3, is the target building. In this case, the building where the object to be located is located can be identified as building F4.
[0210] For ease of understanding, as shown in Figure 10, if the location of the object to be located, 1002, can scan and match the marked wireless network signal, and there is a binding mark relationship between the marked wireless network signal and Building 11, then Building 11 can be identified as the building location of the object to be located, 1002.
[0211] It is understood that the corresponding examples in the embodiments of this application are used to understand this solution, but should not be construed as specific limitations on this solution.
[0212] In the above-mentioned method for location processing within buildings, since the marking of wireless network signals is based on signal strength for marking and confirmation, signal problems caused by changes in the signal field of wireless network signals can be avoided, thereby ensuring the reliability of marking between buildings and wireless network signals. Therefore, by using reliable wireless network signal scanning results for location discrimination, the accuracy of location processing within buildings can be guaranteed.
[0213] Based on the detailed description of the foregoing embodiments, the complete flow of the location processing method within a building in this application embodiment will be described below. In one embodiment, as shown in FIG11, a location processing method within a building is provided. Taking the application of this method to server 104 in FIG1 as an example, it can be understood that this method can also be applied to terminal 102, and can also be applied to a system including terminal 102 and server 104, and implemented through the interaction between terminal 102 and server 104. In this embodiment, the method includes the following steps:
[0214] Step 1101: Obtain the historical movement trajectory of the object being located, and identify the first type of stopping point from the trajectory points contained in the historical movement trajectory; there are multiple objects being located.
[0215] Step 1102: Select all trajectory points except for the first type of stop points as candidate stop points.
[0216] Step 1103: Based on the candidate stop point, extract a preset number of consecutive first trajectory points forward from the historical movement trajectory, and extract a preset number of consecutive second trajectory points backward.
[0217] Step 1104: Determine a first number of multiple first trajectory points including first type of stop points, and a second number of multiple second trajectory points including first type of stop points.
[0218] Step 1105: If the first quantity reaches the first quantity threshold and the second quantity reaches the second quantity threshold, the candidate stop point is determined as the second type of stop point.
[0219] Step 1106: Take the average of the position coordinates of multiple stopping points and use the resulting average position coordinates as the stopping position coordinates; stopping points include first-type stopping points and second-type stopping points.
[0220] Step 1107: Find the first candidate building with the smallest location distance to the stop location coordinates, and determine the first location distance between the first candidate building's location coordinates and the stop location coordinates.
[0221] Step 1108: Based on the dwell time period, determine the first dwell trajectory point and the second dwell trajectory point from the trajectory points included in the historical movement trajectory.
[0222] Step 1109: Take the average of the position coordinates of the first stop trajectory point and the position coordinates of the second stop trajectory point, and use the obtained average position coordinates as the building entrance position coordinates.
[0223] Step 1110: Find the second and third candidate buildings that are closest to the building entrance coordinates, and determine the second position distance between the building location coordinates of the second candidate building and the building entrance coordinates, and the third position distance between the building location coordinates of the third candidate building and the building entrance coordinates.
[0224] Step 1111: If the distance to the first location is less than the first distance threshold, the distance to the second location is less than the second distance threshold, the distance ratio between the distance to the second location and the distance to the third location is less than the distance ratio threshold, and the first candidate building and the second candidate building are the same building, then the first candidate building is determined as the building where the located object is staying.
[0225] Step 1112: Based on the dwell time period represented by each dwell point, determine the effective dwell time period of the located object indoors according to the wireless network signal scanned and the satellite positioning signal received within the dwell time period.
[0226] Step 1113: Mark wireless network signals with signal strength greater than a preset strength during the effective dwell time period as marked wireless network signals of the building; marked wireless network signals include at least one wireless network signal.
[0227] Step 1114: If the wireless network signal is associated with at least one candidate building, determine the number of candidate buildings that are tagged with the wireless network signal.
[0228] Step 1115: When the number of buildings is 1, determine the number of markers that mark the wireless network signal and the candidate buildings in the historical movement trajectory of each located object.
[0229] Step 1116: If the number of tags is greater than the tag number threshold, determine to tag the wireless network signal with the candidate building.
[0230] Step 1117: When the number of buildings is 2, determine the number of first markers that mark the wireless network signal with the first candidate building and the number of second markers that mark the wireless network signal with the second candidate building in the historical movement trajectory of each located object; the number of first markers is greater than the number of second markers.
[0231] Step 1118: If the ratio of the number of first tags to the number of second tags is greater than the ratio threshold, determine to tag the wireless network signal with the first candidate building.
[0232] Step 1119: Obtain the positioning signal information of the object to be located for object positioning.
[0233] Step 1120: If the positioning signal information is a wireless network signal, determine the tagged wireless network signal that matches the object to be located.
[0234] Step 1121: Based on the building location processing method provided in the foregoing embodiments, the target building is determined by marking wireless network signals.
[0235] Step 1122: Identify the target building as the building where the object to be located is located.
[0236] It should be understood that the specific implementation methods of steps 1101 to 1122 are similar to those of the aforementioned embodiments, and will not be repeated here.
[0237] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0238] Based on the same inventive concept, this application also provides a building location processing device for implementing the above-mentioned building location processing method. The solution provided by this device is similar to the solution described in the above-described method. Therefore, the specific limitations of one or more building location processing device embodiments provided below can be found in the limitations of the building location processing method described above, and will not be repeated here.
[0239] In one embodiment, as shown in FIG12, a building positioning processing device is provided, including: a stop point identification module 1202, a building positioning module 1204, an indoor time period determination module 1206, and a building signal marking module 1208, wherein:
[0240] The dwell point identification module 1202 is used to acquire the historical movement trajectory of the object being located and identify the dwell point from the trajectory points contained in the historical movement trajectory.
[0241] The building positioning module 1204 is used to locate the building where the object being located is located based on the location of each stopping point;
[0242] The indoor time period determination module 1206 is used to determine the effective time period of the located object's stay indoors based on the stay time period represented by each stop point, according to the wireless network signal scanned and the satellite positioning signal received within the stay time period;
[0243] The building signal marking module 1208 is used to mark wireless network signals with a signal strength greater than a preset strength within the effective dwell time period as building-marked wireless network signals. The scanning results of the marked wireless network signals are used as location determination information for entering the building.
[0244] In one embodiment, the stop point identification module is specifically used to extract the feature information of each trajectory point contained in the historical movement trajectory; and to identify the stop point from each trajectory point based on the feature information of each trajectory point.
[0245] In one embodiment, the feature information includes at least the source of the location signal for the trajectory point;
[0246] The stop point identification module is specifically used to perform at least one of the following methods: designating trajectory points in the historical movement trajectory whose positioning signal source is not a satellite positioning signal as stop points; designating trajectory points in the historical movement trajectory whose positioning signal source is a satellite positioning signal and whose positioning accuracy is greater than a positioning accuracy threshold as stop points.
[0247] In one embodiment, the feature information includes at least the location coordinates and time information of the trajectory points;
[0248] The dwell point identification module is specifically used to determine the moving speed of the object between the track point and the adjacent track points for each track point by using the position coordinates and time information of the track point and the position coordinates and time information of the adjacent track points; the moving speed of the object that is less than the speed threshold is determined as the dwell speed of the object being located, and the track point that matches the dwell speed of the object being located is taken as the dwell point.
[0249] In one embodiment, the dwell point identification module is specifically used to, for each trajectory point, determine the object's moving speed between the trajectory point and adjacent trajectory points using the position coordinates and time information of the trajectory point and the position coordinates and time information of adjacent trajectory points; determine the rate of change of the object's speed at the trajectory point by comparing the object's moving speed with the satellite-measured velocity; and designate trajectory points with a rate of change greater than a threshold as dwell points. Here, the satellite-measured velocity is the speed of the object being located at the collected trajectory point as measured by the satellite positioning device.
[0250] In one embodiment, the stop point identification module is specifically used to identify the starting or ending trajectory point in the historical movement trajectory as the stop point.
[0251] In one embodiment, the stop point includes a first type of stop point and a second type of stop point. The first type of stop point is a stop point whose feature information of the trajectory point satisfies the stop point determination condition.
[0252] The stop point identification module is further configured to: identify trajectory points other than the first type of stop points among the trajectory points as candidate stop points; extract a preset number of consecutive first trajectory points forward and a preset number of consecutive second trajectory points backward from the historical movement trajectory based on the candidate stop points; determine a first number of the multiple first trajectory points including the first type of stop points and a second number of the multiple second trajectory points including the first type of stop points; and determine the candidate stop points as second type of stop points when the first number reaches the first number threshold and the second number reaches the second number threshold.
[0253] In one embodiment, the building positioning module is specifically used to average the position coordinates of multiple dwelling points and use the obtained average position coordinates as the dwelling position coordinates; find the first candidate building with the smallest position distance to the dwelling position coordinates, and determine the first position distance between the building position coordinates of the first candidate building and the dwelling position coordinates; if the first position distance is less than the first distance threshold, determine the first candidate building as the building where the positioned object dwells.
[0254] In one embodiment, the building positioning module is further configured to determine a first dwelling trajectory point and a second dwelling trajectory point from the trajectory points included in the historical movement trajectory according to the dwelling time period; the first dwelling trajectory point is the trajectory point preceding the starting dwelling point in the dwelling time period, and the second dwelling trajectory point is the trajectory point following the ending dwelling point in the dwelling time period; the position coordinates of the first dwelling trajectory point and the position coordinates of the second dwelling trajectory point are averaged, and the average position coordinates are used as the building entrance position coordinates; the second candidate building and the third candidate building with the closest position distance to the building entrance position coordinates are found, and a second position distance between the building position coordinates of the second candidate building and the building entrance position coordinates, and a third position distance between the building position coordinates of the third candidate building and the building entrance position coordinates are determined; the second position distance is less than the third position distance; if the second position distance is less than a second distance threshold, and the distance ratio between the second position distance and the third position distance is less than a distance ratio threshold, the second candidate building is determined as the building where the positioned object is dwelling.
[0255] In one embodiment, the building positioning module is further configured to determine the first candidate building as the building where the object being located is located, if the first candidate building and the second candidate building are the same building.
[0256] In one embodiment, the indoor time period determination module is specifically used to perform up and down sliding window processing on the time information of each stop point to obtain the time information after sliding window processing; and to construct the stay time period through the time information after each sliding window processing.
[0257] In one embodiment, the indoor time period determination module is specifically used to determine the location signal source for each dwelling point within the dwelling time period; the location signal source is a scanned wireless network signal or a received satellite positioning signal; the dwelling point before the location signal source is converted from satellite positioning signal to wireless network signal is designated as the first dwelling point, and the dwelling point where the location signal source is converted from wireless network signal to satellite positioning signal is designated as the second dwelling point; the dwelling time is the timestamp in the time information corresponding to the dwelling point, and the time interval between the dwelling time of the located object at the first dwelling point and the dwelling time at the second dwelling point is taken as the effective dwelling time period of the located object indoors.
[0258] In one embodiment, the building signal marking module is specifically used to obtain the signal strength value of the wireless network signal in each historical movement time period and sort the signal strength values; the historical movement time period does not include the stop point; the signal strength value corresponding to the preset quantile from the largest to the smallest is taken as the preset strength of the wireless network signal.
[0259] In one embodiment, the number of objects being located is multiple; the tagged wireless network signal includes at least one wireless network signal;
[0260] The building signal marking module is also used to determine the number of candidate buildings that are marked with the wireless network signal when the wireless network signal is associated with at least one candidate building; when the number of buildings is 1, determine the number of marks that mark the wireless network signal with the candidate buildings in the historical movement trajectory of each located object; and when the number of marks is greater than the mark number threshold, determine to mark the wireless network signal with the candidate buildings.
[0261] In one embodiment, the building signal marking module is further configured to, when the number of buildings is 2, determine the first number of markers that mark the wireless network signal with the first candidate building and the second number of markers that mark the wireless network signal with the second candidate building in the historical movement trajectory of each located object; the first number of markers is greater than the second number of markers; and when the ratio between the first number of markers and the second number of markers is greater than a ratio threshold, determine that the wireless network signal is marked with the first candidate building.
[0262] In one embodiment, as shown in FIG13, a positioning processing device for a building is provided, comprising: a positioning signal acquisition module 1302, a wireless network signal determination module 1304, a building determination module 1306, and a positioning processing module 1308, wherein:
[0263] The positioning signal acquisition module 1302 is used to acquire positioning signal information of the object to be located for object positioning.
[0264] The wireless network signal determination module 1304 is used to determine the marked wireless network signal that matches the object to be located when the positioning signal information is a wireless network signal;
[0265] Building determination module 1306 is used to determine the target building by marking wireless network signals based on the building positioning processing method provided in the foregoing embodiments.
[0266] The positioning processing module 1308 is used to determine the target building as the building where the object to be located is located.
[0267] In one embodiment, a computer device is provided, which can be a server or a terminal. This embodiment uses a server as an example, and its internal structure is shown in Figure 14. The computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores historical movement trajectories and wireless network signals, data relevant to this embodiment. The I / O interfaces are used for information exchange between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a method for location processing within a building.
[0268] In another embodiment, a computer device is provided, which can be a server or a terminal. This embodiment uses a computer device as a terminal as an example, and its internal structure is shown in Figure 15. The computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals. Wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a method for location processing within a building. The display unit of the computer device is used to form a visually visible image. It can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0269] Those skilled in the art will understand that the structures shown in Figures 14 and 15 are merely block diagrams of some structures related to the present application and do not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than shown in the figures, or combine certain components, or have different component arrangements.
[0270] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0271] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0272] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0273] It should be noted that the object information (including but not limited to object device information, object personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the object or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0274] In summary, this application provides a method, apparatus, computer equipment, computer-readable storage medium, and computer program product for positioning processing within a building. By acquiring the historical movement trajectory of the object being located, it identifies dwelling points from the trajectory points contained within that historical movement trajectory. Since an object inevitably pauses inside a building compared to its trajectory outside, accurately identifying dwelling points provides crucial information for subsequent positioning of the building where the object is located, avoiding errors in building positioning due to misjudgment of dwelling points. This improves the accuracy and reliability of building positioning and lays a solid foundation for subsequent positioning processing. Based on the location of each dwelling point, the building where the object is located is located. Based on the dwelling time period represented by each dwelling point, the effective dwelling time period of the object indoors is determined according to the wireless network signals scanned and the received satellite positioning signals within the dwelling time period. Wireless network signals with signal strength greater than a preset strength within the effective dwelling time period are marked as building-marked wireless network signals. The scanning results of the marked wireless network signals are used as positioning determination information for entering the building. By associating the building where the target is located with the wireless network signal within the building, and since the wireless network signal is identified based on signal strength, signal problems caused by changes in the signal field of the wireless network signal can be avoided. This ensures the reliability of the association between the building and the wireless network signal, allowing the positioning process within the building to be directly determined by the scanning results of the reliable wireless network signal, thereby improving the accuracy of the positioning process within the building.
[0275] Furthermore, when identifying rest points from the trajectory points contained in the historical movement trajectory, the feature information of each trajectory point in the historical movement trajectory is first extracted. Then, based on the feature information of each trajectory point, rest points are identified from each trajectory point. The feature information of the trajectory points includes multiple aspects such as the source of the positioning signal, location coordinates, time information, speed, direction, and positioning accuracy. By comprehensively extracting and analyzing this feature information, the trajectory points can be evaluated from multiple dimensions, more accurately determining whether they are rest points. This avoids the limitations of single-factor judgment, improves the accuracy of rest point identification, provides a more reliable foundation for subsequent building positioning and signal marking, and makes the entire positioning processing flow more accurate and efficient.
[0276] When the feature information includes at least the location signal source of the trajectory points, the method for identifying dwell points from each trajectory point based on its individual feature information includes identifying dwell points in the historical movement trajectory whose location signal source is not a satellite positioning signal, or identifying dwell points in the historical movement trajectory whose location signal source is a satellite positioning signal and whose positioning accuracy is greater than a positioning accuracy threshold. Satellite positioning signals are prone to positioning drift in indoor scenarios. When the location signal source of a trajectory point is not a satellite positioning signal, it is likely that the object being located is in an indoor environment; when the location signal source is a satellite positioning signal but the positioning accuracy is greater than a positioning accuracy threshold, it indicates that the position coordinates of the trajectory point are inaccurate, and it is also likely that the object being located is indoors or in an environment with poor satellite signal. This method of judgment based on the location signal source and positioning accuracy reduces misjudgments of dwell points caused by the limitations of satellite positioning signals indoors, improves the accuracy of dwell point identification, and thus enhances the reliability of subsequent building positioning and signal marking.
[0277] When the feature information includes at least the position coordinates and time information of the trajectory points, the dwell point is identified from each trajectory point based on its individual feature information. For each trajectory point, the object's movement speed between the trajectory point and its adjacent trajectory points is determined using the trajectory point's position coordinates and time information, as well as the position coordinates and time information of the adjacent trajectory points. The object's movement speed below a speed threshold is determined as the dwell speed of the object, and the trajectory point matching the dwell speed is designated as the dwell point. By calculating the object's movement speed and comparing it with a speed threshold, the trajectory points are judged from the perspective of motion state, avoiding potential errors that may occur if solely relying on the source of the positioning signal. This provides a more intuitive reflection of the object's motion state and further improves the accuracy of dwell point identification.
[0278] Based on the unique feature information of each trajectory point, dwell points can be identified from these points. Furthermore, for each trajectory point, the object's movement speed between that point and adjacent trajectory points can be determined using its position and time coordinates, as well as the position and time coordinates of adjacent trajectory points. The rate of change of the object's speed at each trajectory point is determined by comparing its movement speed with the satellite's measured speed. Trajectory points with a rate of change greater than a threshold are designated as dwell points. When the rate of change between the satellite's measured speed and the object's actual movement speed exceeds the threshold, it indicates that the satellite signal is interfered with indoors, leading to inaccurate speed measurements. In this case, designating the affected trajectory point as a dwell point allows for more sensitive detection of the object's indoor status, especially in complex environments, thus improving the accuracy and reliability of dwell point identification.
[0279] Based on the unique feature information of each trajectory point, stopping points can be identified from these points. Alternatively, the starting or ending trajectory points in the historical movement trajectory can be used as stopping points. At the beginning and end of the historical movement trajectory, the object being located is likely in a stationary state. Using the starting and ending trajectory points as stopping points can supplement any potentially missed stopping points, making the identification of stopping points more comprehensive. This provides more complete information for subsequent building positioning and signal marking, avoiding inaccurate positioning due to missing stopping points corresponding to the starting or ending trajectory points, and improving the accuracy of the entire positioning process.
[0280] Stop points are categorized into first-class and second-class stop points. First-class stop points are those whose feature information satisfies the stop point determination criteria. The method for determining second-class stop points involves considering all trajectory points other than those in the first-class category as candidate stop points. Using these candidate stop points as a baseline, a predetermined number of consecutive first-class trajectory points are extracted forward from the historical movement trajectory, and a predetermined number of consecutive second-class trajectory points are extracted backward. A first number of first-class trajectory points including first-class stop points and a second number of second-class trajectory points including first-class stop points are determined. If both the first and second numbers reach a first threshold, the candidate stop point is identified as a second-class stop point. Considering that there are numerous first-class stop points before and after a candidate stop point, it may be located within a cluster of first-class stop points and could very well be a stop point for the target object. This sliding window approach removes noise during stop point identification, avoids omissions in actual stop point identification, and makes the constructed stop time period more complete and accurate. This improves the reliability of associating wireless network signals with buildings, thereby enhancing the accuracy of location processing within buildings.
[0281] To locate the building where the target object is located, the coordinates of multiple stop points are averaged. This average coordinate is then used as the target location coordinate. The system then identifies the first candidate building with the smallest distance to the target location coordinate and determines a first distance between this first candidate building and the target location coordinate. If this first distance is less than a first distance threshold, the first candidate building is identified as the building where the target object is located. Averaging the coordinates of multiple stop points reduces the impact of individual stop point errors on building location, making the stop point coordinates more representative of the target object's actual location. By finding the first candidate building with the smallest distance and comparing it to a first distance threshold, more suitable candidate buildings are selected, improving the accuracy of building location and avoiding erroneous locations caused by errors in individual stop point positions. This provides more accurate building information for subsequent signal marking and location determination.
[0282] The method further includes determining a first stop trajectory point and a second stop trajectory point from the trajectory points included in the historical movement trajectory according to the stop time period. The first stop trajectory point is the trajectory point before the starting stop point in the stop time period, and the second stop trajectory point is the trajectory point after the ending stop point in the stop time period. The position coordinates of the first stop trajectory point and the position coordinates of the second stop trajectory point are averaged, and the average position coordinates are used as the building entrance position coordinates. The second candidate building and the third candidate building with the closest position distance to the building entrance position coordinates are found. The second position distance between the building position coordinates of the second candidate building and the building entrance position coordinates, and the third position distance between the building position coordinates of the third candidate building and the building entrance position coordinates are determined. If the second position distance is less than the third position distance, and the distance ratio between the second position distance and the third position distance is less than the distance ratio threshold, the second candidate building is determined as the building where the located object is staying. Considering that the object being located may not have entered the building, but is located at the building entrance or outside the building, filtering by the coordinates of the building entrance can more accurately determine the building where the object is located. This avoids the errors that may occur if the location is solely based on the coordinates of the location, and improves the accuracy of building positioning, especially when the object is located in special locations such as building entrances or exits.
[0283] If the first and second candidate buildings are the same building, the first candidate building is identified as the building where the located object is located. In practical applications, the building where the located object is located, determined by the building entrance coordinates and the location coordinates, should theoretically be the same building. If they are different buildings, it indicates a deviation in the positioning result. In this case, the deviation result is not applied to the association binding, ensuring the accuracy and reliability of building positioning, avoiding erroneous associations caused by positioning deviations, and making subsequent signal marking and positioning judgment more accurate.
[0284] Based on the scanned wireless network signals and received satellite positioning signals within the specified dwell time period, the effective dwell time of the located object indoors is determined. This involves identifying the source of the positioning signal at each dwell point within the dwell time period, either the scanned wireless network signal or the received satellite positioning signal. The dwell point before the positioning signal source switches from satellite positioning signal to wireless network signal is designated as the first dwell point, and the dwell point where the positioning signal source switches from wireless network signal to satellite positioning signal is designated as the second dwell point. The time interval between the dwell time of the located object at the first dwell point and the dwell time at the second dwell point is taken as the effective dwell time of the located object indoors. Determining the effective dwell time period by switching the positioning signal source accurately identifies the dwell time of the located object indoors, providing an accurate time range for subsequent marking of wireless network signals. This avoids mislabeling outdoor wireless network signals as indoor marked wireless network signals, improving the accuracy and reliability of signal marking.
[0285] The preset strength is determined by acquiring the signal strength values of the wireless network signal within each historical movement time period, sorting these values (excluding stop points), and selecting the signal strength value corresponding to a preset quantile from largest to smallest. By sorting the signal strength values within the historical movement time period and selecting a preset quantile, a reasonable preset strength can be determined based on the signal's historical performance. This avoids mislabeling caused by individual abnormally high signal strength values, making the labeling of wireless network signals more targeted and accurate, improving the reliability of signal labeling, and providing a more reliable signal basis for subsequent location identification.
[0286] When there are multiple objects to be located, and the marked wireless network signal includes at least one wireless network signal, if the wireless network signal is associated with at least one candidate building, the number of candidate buildings to be marked with the wireless network signal is determined. If the number of buildings is only one, the number of markers in the historical movement trajectory of each object to which the wireless network signal is associated with the candidate building is determined. If the number of markers is greater than a marker count threshold, the wireless network signal is marked with the candidate building. By determining the number of candidate buildings and the number of markers, more accurate associated markers can be selected. When the number of markers is greater than the marker count threshold, it indicates a high confidence level in the marking of the wireless network signal with the candidate building, which better reflects the true association between the wireless network signal and the building, further improving the reliability of the association marking between the wireless network signal and the building, avoiding erroneous association marking, and improving the accuracy of positioning processing within the building.
[0287] The method further includes, when there are two buildings, determining the number of first markers that associate the wireless network signal with the first candidate building and the number of second markers that associate the wireless network signal with the second candidate building in the historical movement trajectory of each located object. If the number of first markers is greater than the number of second markers, and the ratio between the number of first markers and the number of second markers is greater than a ratio threshold, then the wireless network signal is determined to be associated with the first candidate building. By judging the number of markers and the ratio, the method can accurately select the building associated with the wireless network signal when there are two candidate buildings. When the ratio between the number of first markers and the number of second markers is greater than the ratio threshold, it indicates that the association between the first candidate building and the wireless network signal is closer, further improving the accuracy and reliability of the signal-building association, avoiding erroneous associations when there are two candidate buildings, and thus improving the accuracy of positioning processing within the building.
[0288] Another method for in-building positioning involves acquiring the positioning signal information of the object to be located. If the positioning signal is a wireless network signal, a tagged wireless network signal matching the object is identified. Based on the previously described method, the target building is determined using the tagged wireless network signal, thus identifying the building where the object is located. Since the tagged wireless network signal is identified based on signal strength, signal problems caused by changes in the wireless network signal field are avoided, ensuring the reliability of the tagging between the building and the wireless network signal. In practical applications, when the positioning signal information of the object is a wireless network signal, the target building can be accurately determined by scanning the tagged wireless network signal. Using reliable wireless network signal scanning results for positioning ensures the accuracy of in-building positioning, especially in indoor positioning, avoiding positioning errors caused by unstable wireless network signals.
[0289] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, building location processing logic devices, etc., and are not limited to these.
[0290] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0291] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for positioning processing in a building, executed by a computer device, the method comprising: obtaining a historical movement trajectory of a positioned object, and identifying stay points from each trajectory point included in the historical movement trajectory; positioning a building in which the positioned object stays based on a position of each of the stay points; determining an effective stay time period in which the positioned object stays indoors based on a stay time period represented by each of the stay points, and based on a wireless network signal scanned and a satellite positioning signal received in the stay time period; and marking a wireless network signal with a signal strength greater than a preset strength in the effective stay time period as a marked wireless network signal of the building, and using a scanning result of the marked wireless network signal as positioning determination information for entering the building. 2.The method of claim 1, wherein the identifying stay points from each trajectory point included in the historical movement trajectory comprises: extracting feature information of each trajectory point included in the historical movement trajectory; and identifying stay points from each of the trajectory points based on the feature information of each of the trajectory points. 3.The method of claim 2, wherein the feature information at least includes a source of a positioning signal of the trajectory point; and the identifying stay points from each of the trajectory points based on the feature information of each of the trajectory points comprises at least one of the following manners: taking a trajectory point in the historical movement trajectory with a source of a positioning signal not being a satellite positioning signal as a stay point; and taking a trajectory point in the historical movement trajectory with a source of a positioning signal being a satellite positioning signal and with a positioning accuracy greater than a positioning accuracy threshold as a stay point. 4.The method of claim 2 or 3, wherein the feature information at least includes position coordinates and time information of the trajectory point; and the identifying stay points from each of the trajectory points based on the feature information of each of the trajectory points comprises: determining an object movement speed of the positioned object between the trajectory point and a neighboring trajectory point based on the position coordinates and time information of the trajectory point and the position coordinates and time information of the neighboring trajectory point for each trajectory point; and determining an object stay speed of the positioned object as a stay speed of the positioned object and taking a trajectory point matching the object stay speed of the positioned object as a stay point. 5.The method of claim 2 or 3, wherein the identifying stay points from each of the trajectory points based on the feature information of each of the trajectory points comprises: determining an object movement speed of the positioned object between the trajectory point and a neighboring trajectory point based on the position coordinates and time information of the trajectory point and the position coordinates and time information of the neighboring trajectory point for each trajectory point; determining a speed change rate of the positioned object at the trajectory point based on the object movement speed and a satellite measurement speed; and taking a trajectory point with a speed change rate greater than a change rate threshold as a stay point. 6.The method of claim 2 or 3, wherein the identifying stay points from each of the trajectory points based on the feature information of each of the trajectory points comprises: The start point or the end point of the historical movement track is taken as a stay point.
7. The method of any one of claims 1 to 6, wherein the stay points include first type stay points and second type stay points, the first type stay points being stay points whose feature information of track points satisfy stay point determination conditions; The determination method of the second type stay points includes: Each of the track points other than the first type stay points is taken as a candidate stay point; A preset number of continuous first track points are extracted forward in the historical movement track and a preset number of continuous second track points are extracted backward in the historical movement track based on the candidate stay point; A first number of the first type stay points included in the first track points and a second number of the first type stay points included in the second track points are determined; In a case where the first number reaches a first number threshold and the second number reaches a second number threshold, the candidate stay point is determined as the second type stay point.
8. The method of any one of claims 1 to 7, wherein the locating the building where the located object stays based on the position of each of the stay points includes: averaging position coordinates of a plurality of the stay points, and taking the obtained average position coordinates as stay position coordinates; finding a first candidate building with a minimum position distance from the stay position coordinates, and determining a first position distance between building position coordinates of the first candidate building and the stay position coordinates; in a case where the first position distance is less than a first distance threshold, determining the first candidate building as the building where the located object stays.
9. The method of claim 8, further comprising: determining first stay track points and second stay track points from track points included in the historical movement track according to the stay time period; the first stay track points being previous track points of start stay points in the stay time period, and the second stay track points being next track points of end stay points in the stay time period; averaging position coordinates of the first stay track points and the second stay track points, and taking the obtained average position coordinates as building entrance position coordinates; finding a second candidate building and a third candidate building with the closest position distance from the building entrance position coordinates, and determining a second position distance between building position coordinates of the second candidate building and the building entrance position coordinates, and a third position distance between building position coordinates of the third candidate building and the building entrance position coordinates; the second position distance being less than the third position distance; in a case where the second position distance is less than a second distance threshold, and a distance ratio between the second position distance and the third position distance is less than a distance ratio threshold, determining the second candidate building as the building where the located object stays.
10. The method of claim 9, further comprising: in a case where the first candidate building and the second candidate building are the same building, determining the first candidate building as the building where the located object stays.
11. The method of any one of claims 1-10, wherein the determining the effective stay time period of the stay of the located object in the indoor space based on the scanned wireless network signals and the received satellite positioning signals in the stay time period comprises: determining a source of the positioning signals for each of the stay points in the stay time period; the source of the positioning signals being the scanned wireless network signals or the received satellite positioning signals; determining a first stay point at which the source of the positioning signals is switched from the satellite positioning signals to the wireless network signals, and a second stay point at which the source of the positioning signals is switched from the wireless network signals to the satellite positioning signals; and determining a time interval between a stay time of the located object at the first stay point and a stay time of the located object at the second stay point as the effective stay time period of the stay of the located object in the indoor space.
12. The method of any one of claims 1-11, wherein the determining the preset intensity comprises: obtaining signal intensity values of the wireless network signals in each of the historical movement time periods, and sorting the signal intensity values; the historical movement time period not including a stay point; and determining a signal intensity value corresponding to a preset quantile from large to small as the preset intensity of the wireless network signals.
13. The method of any one of claims 1-12, wherein the located objects are a plurality of located objects, and the marked wireless network signal is at least one wireless network signal; the method further comprising: in a case where the wireless network signal is associated with at least one candidate building for marking, determining a number of buildings of the candidate building associated with the wireless network signal for marking; in a case where the number of buildings is one, determining a number of markings of the wireless network signal and the candidate building in each of the historical movement trajectories of the located objects respectively; and in a case where the number of markings is greater than a threshold number of markings, determining that the wireless network signal is marked with the candidate building.
14. The method of claim 13, the method further comprising: in a case where the number of buildings is two, determining a first number of markings of the wireless network signal and a first candidate building in each of the historical movement trajectories of the located objects, and a second number of markings of the wireless network signal and a second candidate building in each of the historical movement trajectories of the located objects; the first number of markings being greater than the second number of markings; and in a case where a number ratio between the first number of markings and the second number of markings is greater than a threshold number ratio, determining that the wireless network signal is marked with the first candidate building.
15. A method for indoor positioning, the method comprising: obtaining positioning signal information of an object to be positioned; in a case where the positioning signal information is a wireless network signal, determining a marked wireless network signal matched with the object to be positioned; the marked wireless network signal being determined by the method for indoor positioning of any one of claims 1-14; determining a target building through the marked wireless network signal; and determine the target building as the building where the object to be positioned is located.
16. A positioning processing device in a building, the device comprising: a stay point identifying module configured to acquire a historical moving track of an object to be positioned, and identify stay points from track points included in the historical moving track; a building positioning module configured to position a building where the object to be positioned stays based on a position of each of the stay points; an indoor time period determining module configured to determine an effective stay time period of the object to be positioned staying indoors based on a stay time period represented by each of the stay points, and based on wireless network signals scanned in the stay time period and satellite positioning signals received; and a building signal marking module configured to mark a wireless network signal with a signal strength greater than a preset strength in the effective stay time period as a marked wireless network signal of the building, and use a scanning result of the marked wireless network signal as positioning determination information for entering the building.
17. A positioning processing device in a building, the device comprising: a positioning signal acquiring module configured to acquire positioning signal information of an object to be positioned for object positioning; a wireless network signal determining module configured to determine a marked wireless network signal matched with the object to be positioned in a case where the positioning signal information is a wireless network signal; the marked wireless network signal being determined by the positioning processing device in the building according to claim 16; a building determining module configured to determine a target building through the marked wireless network signal; and a positioning processing module configured to determine the target building as the building where the object to be positioned is located.
18. A computer device comprising a memory and a processor, the memory storing a computer program, and the processor implementing steps of the method according to any one of claims 1 to 15 when executing the computer program.
19. A computer readable storage medium storing a computer program, the computer program implementing steps of the method according to any one of claims 1 to 15 when executed by a processor.
20. A computer program product comprising a computer program, the computer program implementing steps of the method according to any one of claims 1 to 15 when executed by a processor.
Citation Information
Patent Citations
Data processing method and device, computer equipment and storage medium
CN112423233A
Positioning method and related device
CN113347710A
Terminal positioning method and device
CN115150935A
Building positioning method and device, electronic equipment and storage medium
CN117135741A
Method, apparatus and storage medium for stay point recognition and prediction model training
US20210042641A1