A positioning point position determination method, device and medium

By determining whether the location point is within the rectangular area surrounding the geofence, and by using a recursive algorithm and Peano space-filling curve encoding to optimize the calculation, the problem of excessive calculations in existing technologies is solved, and a fast and efficient determination of the positional relationship between the location point and the geofence is achieved.

CN116033550BActive Publication Date: 2026-02-13QUECLINK WIRELESS SOLUTIONS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211736502.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2026-02-13
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

In existing technologies, determining the relationship between GNSS positioning points and geofence locations involves numerous calculations and is relatively slow, especially when the number of geofences is large, which significantly increases the computational load.

Method used

By obtaining the location information of the location point, it is determined whether it is located within a rectangular area surrounding all geofences. If it is, the positional relationship with multiple rectangular areas of equal size is further determined. The calculation process is optimized by using a recursive algorithm and Peano space-filling curve encoding.

Benefits of technology

It greatly reduces the amount of calculation and the number of judgments, improves calculation efficiency and accuracy, and enables fast and efficient determination of the relationship between the location point and the geofence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116033550B_ABST
    Figure CN116033550B_ABST
Patent Text Reader

Abstract

The application discloses a positioning point position judgment method, device and medium. A positioning point position judgment method comprises the following steps: acquiring position information of a positioning point; judging whether the positioning point is located in a first area according to the position information of the positioning point; if the positioning point is located outside the first area, the positioning point is located outside all geofences; the first area is a rectangular area surrounding all geofences; if the positioning point is located in the first area, judging whether the positioning point is located in a geofence according to the position relationship between the positioning point and multiple second areas; the second area is multiple rectangular areas with equal size obtained by equally dividing the first area. The positioning point position judgment method, device and medium disclosed by the application can quickly and accurately judge the position relationship between the positioning point and the geofence, greatly reduces the workload and calculation amount, and further improves the calculation efficiency and judgment accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a method for determining the position of a positioning point, in particular to a method for quickly determining the positional relationship between a positioning point and a geo-fence. BACKGROUND

[0002] Geo-fencing is an application of LBS (Location based service), that is, a virtual fence is used to enclose a virtual geographical boundary. When a mobile phone enters, leaves or moves within a certain geographical area, the mobile phone can receive automatic notifications and warnings. For example, some car-hailing software uses this technology to set up a geo-fence in some office buildings, and sends a discount coupon for car-hailing to the users in the fence during the rush hour after work, so as to promote the use of the software by these users. For example, a financial APP can set up a fence in a financial district and push financial-related messages. For example, shared bicycles or shared cars can define the geographical fence of the operating area, and if the shared bicycle or car drives out of the operating area, the user will be reminded and warned, and even forced to lock the car and shut off the engine.

[0003] Global Navigation Satellite System (GNSS) is an air-based radio navigation and positioning system that can provide users with 3D coordinates and speed and time information at any location on the earth's surface or near-earth space. In the prior art, to determine whether a GNSS positioning point is inside or outside a geo-fence, the most direct method is to compare the GNSS positioning point with each vertex of the geo-fence. Therefore, the number of comparisons is equal to the number of vertices of the geo-fence. As shown in FIG. 1, the GNSS positioning point T needs to be compared with each vertex of the geo-fence F0, F1 and F2 to determine whether T is inside the geo-fence. Figure 1

[0004] In the prior art, there is another relatively simple method, which is to first calculate the circumscribed rectangle of each geo-fence, then determine in which circumscribed rectangle the GNSS positioning point is, and finally determine whether the GNSS positioning point is inside the geo-fence corresponding to the circumscribed rectangle. As shown in FIG. 2, the GNSS positioning point T needs to be compared with each vertex of the geo-fence F0, F1 and F2 to determine whether T is inside the geo-fence. Figure 2 ​As shown, R0, R1 and R2 are the circumscribed rectangles of F0, F1 and F2 respectively. The GNSS positioning point T is compared with the circumscribed rectangles of R0, R1 and R2 composed of 4 vertices first, and a preliminary judgment is made, for example, T is in the circumscribed rectangle of R0, then it is only needed to judge whether T is in the geographic fence F0. Generally, the number of vertices of the geographic fence is much larger than 4, while the number of vertices of the circumscribed rectangle is only 4, and the above method can reduce the comparison times of the GNSS positioning point and the vertices and reduce the operation amount. However, if the number of geographic fences is tens of thousands or even hundreds of thousands, the comparison times are still relatively large. Moreover, with the increase of the number of fences, the comparison times will increase in proportion. SUMMARY

[0005] The technical problem solved by the present application is to overcome the defects of the prior art that the number of calculations is large and the operation is slow in the method for judging the positional relationship between the positioning point and the geographic fence, and to provide a method for quickly and efficiently judging whether the GNSS positioning point is located in the geographic fence.

[0006] The present application solves the above technical problems by the following technical scheme: a positioning point position judgment method, characterized by comprising the following steps:

[0007] obtaining the position information of the positioning point;

[0008] judging whether the positioning point is located in a first area according to the position information of the positioning point, if the positioning point is located outside the first area, the positioning point is located outside all geographic fences, and the first area is a rectangular area surrounding all geographic fences;

[0009] if the positioning point is located in the first area, judging whether the positioning point is located in a geographic fence according to the positional relationship between the positioning point and a plurality of second areas, and the second areas are a plurality of rectangular areas of equal size obtained by equally dividing the first area.

[0010] Preferably, judging whether the positioning point is located in a geographic fence according to the positional relationship between the positioning point and a plurality of second areas comprises:

[0011] judging whether the second area where the positioning point is located has a geographic fence overlapping with it, if not, the positioning point is located outside all geographic fences, and if yes, judging whether the positioning point is located in the geographic fence.

[0012] Preferably, before obtaining the position information of the positioning point, the method further comprises pre-processing the data of the geographic fence, and the pre-processing step comprises:

[0013] obtaining the data of at least one geographic fence;

[0014] determining a first area surrounding the at least one geographic fence;

[0015] The first region is divided into a plurality of rectangular regions of the same size to obtain a plurality of second regions.

[0016] Preferably, the first region is divided into a plurality of rectangular regions of the same size to obtain a plurality of second regions, including, using a recursive algorithm to successively bisect the first region into 4 N-1 unit rectangles to obtain a plurality of second regions, N being a natural number successively increasing from 1.

[0017] Preferably, the preprocessing of the data of the geographic fence further comprises translating and scaling the first region to obtain the processed first region position information and the second region position information and the geographic fence data, and obtaining the corresponding scaling factor and translation vector.

[0018] Preferably, after obtaining the position information of the positioning point, the method further comprises obtaining the processed position information of the positioning point according to the scaling factor and the translation vector.

[0019] Preferably, the preprocessing of the data of the geographic fence further comprises encoding the second region, and recording the encoding of the second region overlapping with the geographic fence as a judgment encoding group.

[0020] Judging whether the second region where the positioning point is located has an overlapping geographic fence, comprising obtaining the encoding of the second region where the positioning point is located, and judging whether the encoding of the second region where the positioning point is located is located in the judgment encoding group.

[0021] Preferably, the second region is encoded in a Peano space-filling curve order, and the encoded second region is stored row by row.

[0022] Preferably, each of the second regions overlaps with at most one geographic fence.

[0023] Another aspect of the present application provides a positioning point position judgment device, characterized in that, comprising,

[0024] An acquisition device is configured to acquire position information of the positioning point.

[0025] A first judgment unit is configured to judge whether the positioning point is located in a first region according to the position information of the positioning point, the first region being a rectangular region encompassing all geographic fences.

[0026] A second judgment unit is configured to judge whether the positioning point is located in a geographic fence according to the position relationship between the positioning point and a plurality of second regions when the positioning point is located in the first region, the second regions being a plurality of rectangular regions of equal size obtained by bisecting the first region.

[0027] Preferably, the second judging unit comprises:

[0028] a judging sub-unit, configured to judge whether the second region where the positioning point is located has a geographic fence overlapping with the positioning point;

[0029] a calculating unit, configured to calculate the positional relationship between the geographic fence and the positioning point when the second region where the positioning point is located has a geographic fence overlapping with the positioning point.

[0030] Preferably, the method further comprises:

[0031] a preprocessing unit, configured to preprocess the data of the geographic fence to obtain the positional information of the first region and the positional information of the second region.

[0032] Preferably, the preprocessing unit comprises:

[0033] a fence information obtaining unit, configured to obtain the data of at least one geographic fence;

[0034] a dividing unit, configured to divide the first region into a plurality of second regions;

[0035] a translation and scaling unit, configured to translate and scale the first region to obtain the processed first region positional information and the second region positional information, and obtain corresponding scaling factors and translation coordinates.

[0036] Preferably, the preprocessing unit further comprises an encoding unit and a recording unit, wherein the encoding unit is configured to encode the second regions;

[0037] the recording unit is configured to record the encoding of the second region overlapping with the geographic fence as a judgment encoding group.

[0038] In another aspect of the present application, an electronic device is provided, comprising:

[0039] at least one processor; and

[0040] a memory connected with the at least one processor in communication; wherein,

[0041] the memory stores instructions for being executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the above-mentioned method.

[0042] In still another aspect of the present application, a non-transitory computer readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned method.

[0043] The positive and progressive effects of this invention are as follows: the location determination method, device and medium disclosed in this invention can quickly and accurately determine the positional relationship between the location point and the geofence. Moreover, compared with the determination methods in the prior art, it greatly reduces the workload and calculation. The use of recursive traversal, Peano space-filling curve encoding and line-by-line storage further improves the calculation efficiency and the accuracy of the determination. Attached Figure Description

[0044] Figure 1 This is a schematic diagram illustrating the existing technology for determining the location of GNSS positioning points and geofences.

[0045] Figure 2 This is a method used in the prior art to determine the positional relationship between GNSS positioning points and geofences;

[0046] Figure 3 This is a flowchart illustrating the method for determining the location of a positioning point provided in Embodiment 1 of the present invention;

[0047] Figure 4 for Figure 3 A flowchart illustrating step S103;

[0048] Figure 5 This is a schematic diagram of the first and second regions in the determination method provided in Embodiment 1 of the present invention;

[0049] Figure 6 This is a flowchart illustrating the method for determining the location of a positioning point provided in Embodiment 2 of the present invention.

[0050] Figure 7 This is a schematic diagram of the recursive algorithm used in Embodiment 2 of the present invention to divide the first region;

[0051] Figure 8 This is a flowchart illustrating the method for determining the location of a positioning point provided in Embodiment 3 of the present invention.

[0052] Figure 9 This is a schematic diagram illustrating one of the encoding tables, encoding order, and storage order used for multiple second regions in the geofencing data preprocessing provided in Embodiment 3 of the present invention;

[0053] Figure 10 This is a schematic diagram illustrating another encoding table, encoding order, and storage order used for the second region in the geofence data preprocessing provided in Embodiment 3 of the present invention;

[0054] Figure 11 This is a schematic diagram illustrating another alternative second region encoding order and storage order provided in Embodiment 3 of the present invention;

[0055] Figure 12A schematic diagram of a positioning point position determination device provided for Embodiment 4 of the present application.

[0056] Figure 13 A schematic diagram of an electronic device provided for Embodiment 5 of the present application. DETAILED DESCRIPTION

[0057] The present application will be further described below by way of examples, but the present application is not limited to the described examples.

[0058] Embodiment 1

[0059] As shown in a schematic diagram of a positioning point position determination method of Embodiment 1 of the present application, the method comprises Figure 3 S101, acquiring position information of a positioning point; the position information is GNSS coordinates of the positioning point, specifically latitude and longitude information, etc.

[0060] S102, judging whether the positioning point is located within a first region according to the position information of the positioning point, if not, the positioning point is located outside all geofences, and the first region is a rectangular region surrounding all geofences. The geofence is at least one geofence, and the first region is preferably a minimum rectangular region surrounding the at least one geofence. The position information of the positioning point is judged with the position information of four vertices of the rectangle of the first region to obtain a conclusion that the positioning point is located within or outside the first region. If the positioning point is located outside the first region, and all geofences are located within the first region, a conclusion that the positioning point is located outside all geofences can be directly obtained. Therefore, such a judgment manner can greatly reduce the number of calculations and judgments.

[0061] S103, if the positioning point is located within the first region, judging whether the positioning point is located within a geofence according to the position relationship between the positioning point and a plurality of second regions, and the second regions are a plurality of rectangular regions of equal size obtained by bisecting the first region.

[0062] The step S103 specifically comprises, as shown in

[0063] Figure 4

[0064] S1031, judging whether the second region in which the positioning point is located has a geofence overlapping therewith; if not, the positioning point is located outside all geofences;

[0065] ​​S1032, if so, determine whether the location point is inside or outside the geofence. In this step, if there is a geofence overlapping with the location point in the second area, there can be at least one or more geofences. If there are multiple geofences in the second area where the location point is located, it is necessary to determine the positional relationship between the location point and each of the multiple geofences. The method for determining the positional relationship between the location point and the geofence can be the commonly used ray casting method, etc.

[0066] Preferably, the division of the second region has certain requirements, namely, the second region should satisfy that each region overlaps with at most one geofence. That is, during the division of the first region, the first region needs to be divided into sufficiently small regions, so that each region in the second region has at most one overlapping geofence. Such a division makes the subsequent judgment simpler and more efficient. For example, in step S1032, if the second region where the location point is located has a geofence that overlaps with it, and the number of geofences must be only one, then it is only necessary to judge the positional relationship between the geofence and the location point.

[0067] like Figure 5 As shown, the first region is region B, which is divided into multiple second regions. If it is divided to the size of B31, B11, B21, and B41, then there are two overlapping geofences in B41. If the location point T is located in the second region B41, it is necessary to determine the position between the two geofences and the location point. If the first region is divided to the size of B1141, B2141, B3141, and B4141, then each second region overlaps with only one geofence. If the location point T is located in B4141, it is only necessary to determine the positional relationship between the location point T and one geofence. In this way, the positional relationship between the location point and the geofence can be determined quickly and efficiently, and the amount of computation is greatly reduced. Therefore, dividing the second region into an appropriate size, that is, dividing it to overlap with at most one geofence, can greatly reduce the amount of computation.

[0068] Example 2

[0069] The implementation is, for example Figure 6 As shown, similar to the first embodiment, the location determination method provided in this embodiment includes a preprocessing step for geofence location information before obtaining the location of the location point in step S201. The preprocessing step includes:

[0070] S21, Obtain data for at least one geofence; the geofence data includes the coordinates of each vertex of the geofence, as well as the number of vertices, etc.

[0071] S22, determine a first region surrounding the at least one geofence, and obtain the location information of the first region; preferably, the first region is the smallest rectangle surrounding the at least one geofence, and determine the location information of the first region, including the position coordinates of each vertex, for subsequent judgment and processing.

[0072] S23, the first region is divided into multiple rectangular regions of the same size, i.e. multiple second regions, and the position information of the second region is obtained, i.e. the vertex coordinates of each second region, which are used to determine whether the positioning point is located in a certain second region.

[0073] Preferably, each of the divided second regions overlaps with at most one geofence, for reasons explained in Embodiment 1 above.

[0074] Preferably, the first region is divided into multiple rectangular regions of the same size using a recursive algorithm. Specifically, the first region is divided into 4 to the power of N-1 second regions each time, until each second region overlaps with at most one geofence, where N is an increasing natural number (1, 2, 3, 4, etc.). Other methods can also be used, as long as each second region overlaps with at most one geofence.

[0075] Specifically, such as Figure 7 As shown, if the recursion depth is 1, the first region is divided into 1, meaning it doesn't need to be divided. If there's only one geofence, the first region doesn't need to be divided, and it contains only one geofence. If the recursion depth is 2, the first region is first divided into 4^1 (4 second regions). If a second region doesn't overlap with at most one geofence, the 4 second regions are further divided. If the recursion depth is 3, each of the four second regions is further divided into 4, resulting in 4^2 (16 second regions) after three recursive iterations. If the condition of a second region overlapping with at most one geofence is met, the recursive algorithm exits; otherwise, it continues dividing until the condition is met. Figure 6 The diagrams illustrate recursion depths of 1, 2, 3, and 4 for dividing the first region. The depth of this recursive algorithm is typically chosen to be no more than 8, meaning that after 8 divisions, 4 to the power of 7 second regions are obtained, or 16384 second regions. Of course, those skilled in the art will understand that this recursion depth should not be limited to 8.

[0076] The preprocessing step also includes

[0077] S24, scaling and translating the first region to obtain the position information of the first region and the position information of the second region after scaling and translation, and to obtain the corresponding scaling factor and translation coordinates. The purpose of the scaling and translation is to move the lower left corner of the first region to the origin of the coordinate axis, facilitating subsequent calculation and processing.

[0078] Specifically, the X-axis scaling factor is X_scale=2 (N-1) / W_box;

[0079] The Y-axis scaling factor is X_scale=2 (N-1) / H_box;

[0080] The translation vector is (X_tran, Y_tran)=(-1.0xCx_box, -1.0xCy_box)

[0081] wherein N is the recursion depth of the recursive algorithm, preferably N is 8, W_box is the width of the first region rectangle, H_box is the height of the first region rectangle, Cx_box is the coordinate value of the X-axis of the left lower corner vertex of the first region rectangle, and Cy_box is the coordinate value of the Y-axis of the left lower corner vertex of the first region rectangle.

[0082] The lower left corner of the first region after scaling and translation is moved to the origin of the coordinate axis, and after scaling and translation, the position information of the first region and the plurality of second regions and the scaled and translated geofence data are obtained, which are used for subsequent judgment.

[0083] After the preprocessing step, the method of the embodiment further comprises:

[0084] S201, obtaining the position information of the positioning point; the position information is the GNSS coordinates of the positioning point, specifically the latitude and longitude information, etc., and after obtaining the position information of the positioning point, the method further comprises the step of:

[0085] S2011, scaling and translating the positioning point using the scaling factor and translation vector obtained in step S24.

[0086] S202, judging whether the positioning point is located in the first area according to the position information of the positioning point, if not, the positioning point is located outside all the geofences, the first area is a rectangular area surrounding all the geofences. The geofence is at least one geofence, the first area is preferably a minimum rectangular area surrounding the at least one geofence, and whether the positioning point is located in the first area is judged according to the position information of the positioning point, specifically, the position information of the positioning point is judged with the position information of the four vertices of the rectangle of the first area, and then a conclusion is obtained that the positioning point is located in or outside the first area. If the positioning point is located outside the first area, and all the geofences are located in the first area, therefore, a conclusion can be directly obtained that the positioning point is located outside all the geofences. Therefore, such a judgment method can greatly reduce the number of calculations and judgments.

[0087] S203, if the positioning point is located in the first area, judging whether the positioning point is located in a geofence according to the position relationship between the positioning point and a plurality of second areas, the second area is a plurality of rectangular areas of equal size obtained by equally dividing the first area.

[0088] The step S203 specifically includes:

[0089] S2031, judging whether the second area where the positioning point is located has a geofence overlapping with it; if not, the positioning point is located outside all the geofences.

[0090] S2032, if yes, judging whether the positioning point is located in or outside the geofence. In this step, if the second area where the positioning point is located has a geofence overlapping with it, the geofence is one, the method for judging the position relationship between the positioning point and the geofence can adopt a commonly used ray method, etc.

[0091] Embodiment 3

[0092] The embodiment Figure 8 As shown in the first embodiment, the positioning point position judgment method provided by the embodiment includes a preprocessing step for the position information of the geofence before the position of the positioning point is obtained in step S301. The preprocessing step includes:

[0093] S31, obtaining data of at least one geofence;

[0094] S32, determining a first area surrounding the at least one geofence; preferably, the first area is a minimum rectangle surrounding the at least one geofence, and the position information of the first area is determined, including the position coordinates of each vertex, for subsequent judgment and processing.

[0095] S33, divide the first region into multiple rectangular regions with the same size, i.e. multiple second regions, and obtain the position information of the second regions, i.e. the vertex coordinates of each second region, for subsequent judgment of whether the positioning point is located in a certain second region.

[0096] Preferably, each of the divided second regions at most overlaps with one geofence, and the specific reasons are as described in the above embodiment 1.

[0097] Preferably, the first region is divided into multiple rectangular regions with the same size by using a recursive algorithm, i.e. the first region is divided into 4N-1second regions each time until the second regions at most overlap with one geofence, and N is a natural number increasing by 1, 2, 3, 4, etc.

[0098] The preprocessing step further comprises:

[0099] S34, encode the divided second regions, preferably, encode the second regions by using a peano space-filling curve, and store by using a row curve, i.e. by using the order of row-by-row storage, as shown in Figure 9 、 10 The encoding table, encoding order and storage order of 4 second regions and 1 second region are shown as examples. Such structure can facilitate subsequent processing and calculation.

[0100] And the preprocessing step further comprises:

[0101] S35, record the encoding of the second region overlapping with the geofence as the judgment encoding group.

[0102] After the preprocessing step, the method of the present embodiment further comprises:

[0103] S301, obtain the position information of the positioning point; the position information is the GNSS coordinates of the positioning point, specifically the longitude and latitude information, etc.

[0104] S302, determine whether the positioning point is located within a first region based on its location information. If not, the positioning point is located outside all geofences. The first region is a rectangular area surrounding all geofences. The geofence is at least one geofence, and the first region, preferably, is the smallest rectangular area surrounding at least one geofence. Determining whether the positioning point is located within the first region involves comparing the positioning point's location information with the position information of the four vertices of the rectangle of the first region to arrive at the conclusion that the positioning point is located within or outside the first region. If the positioning point is outside the first region, and all geofences are within the first region, then the conclusion that the positioning point is outside all geofences can be directly obtained. Therefore, this determination method can greatly reduce the number of calculations and judgments.

[0105] S303, if the location point is located within the first area, then determine whether the location point is located within a geofence based on the positional relationship between the location point and multiple second areas, wherein the second area is multiple rectangular areas of equal size obtained by dividing the first area equally.

[0106] This step S303 specifically includes:

[0107] S3031, determine whether there is a geofence overlapping with the second area where the location point is located; if not, the location point is located outside all geofences.

[0108] More specifically, this step involves extracting the code of the second region where the location point is located, and determining whether the code of the second region where the location point is located is within the determination code group. If it is not within the determination code group, then the second region where the location point is located does not have a geofence that overlaps with it. If it is within the determination code group, then it means that the second region where the location point is located has a geofence that overlaps with it, and at this time, the data of the geofence where the location point is located can be extracted at the same time.

[0109] S3032, if so, determine whether the location point is inside or outside the geofence within its second region. In this step, if there is a geofence overlapping with the location point within the second region, the geofence is considered as one. The method for determining the positional relationship between the location point and the geofence can employ common methods such as the ray casting method.

[0110] like Figure 11 As shown, this is another possible encoding and storage order in step S34.

[0111] And the skilled in the art can understand that the step S24 of the pre-processing step in the embodiment 2, the step of translating and scaling the first area, and the step of encoding the second area in the embodiment 3 can exist at the same time, the translation and scaling can not affect the encoding, and the order of the two steps can be adjusted according to the needs, which can be encoding first and then translation and scaling, or translation and scaling first and then encoding.

[0112] Embodiment 4

[0113] As Figure 12 shown, the embodiment discloses a device for determining the position relationship between a positioning point and a geographic fence, which specifically comprises:

[0114] An acquisition unit is configured to acquire position information of the positioning point, specifically, GNSS coordinate information of the positioning point, which includes longitude and latitude. The acquisition unit can further comprise a translation and scaling subunit configured to perform translation and scaling processing on the positioning point coordinate information.

[0115] A first judgment unit is configured to determine whether the positioning point is located within a first area according to the position information of the positioning point, the first area being a rectangular area surrounding all geographic fences. If the positioning point is located outside the first area, and all geographic fences are located within the first area, it can be directly concluded that the positioning point is located outside all geographic fences.

[0116] A second judgment unit is configured to determine whether the positioning point is located within a geographic fence according to the position relationship between the positioning point and a plurality of second areas when the positioning point is located within the first area, the second areas being a plurality of rectangular areas of equal size obtained by equally dividing the first area.

[0117] Specifically, the second judgment unit comprises:

[0118] A judgment subunit is configured to determine whether the second area where the positioning point is located has a geographic fence overlapping therewith. If not, the positioning point is located outside all geographic fences.

[0119] A calculation unit is configured to calculate the position relationship between the geographic fence overlapping with the second area where the positioning point is located and the positioning point when the second area has the geographic fence overlapping therewith. The method for determining the position relationship between the positioning point and the geographic fence can use a commonly used ray method, etc.

[0120] The device of the embodiment can further comprise:

[0121] A preprocessing unit is configured to pre-process data of the geographic fence to obtain position information of the first area and position information of the second area. The preprocessing unit specifically comprises,

[0122] The fence information acquisition unit is configured to acquire data of at least one geographic fence, and obtain position information of a first area according to the data of the at least one geographic fence. Preferably, the first area is a minimum rectangle surrounding the at least one geographic fence, and the position information of the first area includes position coordinates of each vertex, which is used for subsequent judgment and processing.

[0123] The division unit is configured to divide the first area into a plurality of second areas, each of which overlaps at most one geographic fence. Preferably, the division unit divides the first area by using the recursive method in Embodiment 2 until each of the second areas overlaps at most one geographic fence. Of course, other methods can also be used for division.

[0124] The preprocessing unit can further include a translation and scaling unit configured to translate and scale the first area to obtain processed first area position information and second area position information and processed geographic fence data, and obtain corresponding scaling factors and translation coordinates. At this time, the acquisition unit configured to acquire the position information of the positioning point needs to process the position information of the positioning point by using the same scaling factors and translation vectors before judging the positional relationship between the positioning point and the geographic fence.

[0125] The preprocessing unit further includes an encoding unit and a recording unit. The encoding unit is configured to encode the second areas. The working method of the encoding unit and the recording unit can refer to the encoding method in Embodiment 3. Preferably, the second areas are encoded by using a Peano space-filling curve, and are stored by using a row curve.

[0126] The recording unit is configured to record the encoding of the second areas overlapping with the geographic fence as a judgment encoding group. The judgment subunit is configured to judge whether the second area where the positioning point is located has a geographic fence overlapping therewith. Specifically, it is only necessary to judge whether the second area where the positioning point is located is located in the judgment encoding group.

[0127] Embodiment 5,

[0128] Figure 13A schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present application is shown. The device 500 includes a computing unit 501 that can perform various appropriate actions and processes in accordance with a computer program stored in a ROM (Read-Only Memory) 502 or a computer program loaded into a RAM (Random Access Memory) 503 from a storage unit 508. Various programs and data required for the operation of the device 500 can also be stored in the RAM 503. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. An I / O (Input / Output) interface 505 is also connected to the bus 504.

[0129] Various components in the device 500 are connected to the I / O interface 505, including an input unit 506 such as a keyboard, a mouse, etc., an output unit 507 such as various types of displays, speakers, etc., a storage unit 508 such as a magnetic disk, an optical disk, etc., and a communication unit 509 such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0130] The computing unit 501 can be various general and / or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a CPU (Central Processing Unit), a GPU (Graphic Processing Unit), various special-purpose AI (Artificial Intelligence) computing chips, various computing units running machine learning model algorithms, a DSP (Digital Signal Processor), and any appropriate processor, controller, microcontroller, etc. The computing unit 501 performs various methods and processes described above, such as the determination method of a point position. For example, in some embodiments, the determination method of a point position can be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the methods described above can be performed. Alternatively, in other embodiments, the computing unit 501 can be configured to perform the aforementioned determination method of a point position by any other appropriate means, e.g., by means of firmware.

[0131] Those skilled in the art will appreciate that embodiments of the present application can be readily used as a method, a system or a computer program product. Accordingly, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) embodying computer-readable program code.

[0132] The present application is described in terms of exemplary embodiments, systems, and computer program products, in flowcharts and / or block diagrams. It will be understood that each and every flow and / or block in the flowcharts and / or block diagrams, and combinations of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing system or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowcharts and / or block diagrams. Figure 1 Each flow or multiple flows and / or blocks Figure 1 Means for carrying out any one or more of the functionality described with respect to one or more of the flows or blocks.

[0133] It is also important to note that the terms "comprises", "comprising", or other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a" does not, without more constraints, exclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.

[0134] While the present application has been described with reference to specific implementations thereof, it should be understood that the description is not intended to limit the scope of the application. Various modifications and changes can be made to the embodiments without departing from the spirit and scope of the application.

Claims

1. A method of determining the position of a point, characterized in that, The method comprises the following steps: acquiring position information of a positioning point; judging whether the positioning point is located in a first area according to the position information of the positioning point, if the positioning point is located outside the first area, the positioning point is located outside all the geographic fences, the first area is a rectangular area surrounding all the geographic fences; if the positioning point is located in the first area, judging whether the positioning point is located in a geographic fence according to the position relationship between the positioning point and a plurality of second areas, the second areas are a plurality of rectangular areas of equal size obtained by equally dividing the first area; each of the second areas at most overlaps one geographic fence.

2. The method of claim 1, wherein, judging whether the positioning point is located in a geographic fence according to the position relationship between the positioning point and a plurality of second areas comprises judging whether the second area where the positioning point is located has a geographic fence overlapping therewith, if not, the positioning point is located outside all the geographic fences; if yes, judging whether the positioning point is located in the geographic fence.

3. The method of claim 1, wherein Before acquiring the position information of the positioning point, the method further comprises pre-processing data of the geographic fences, the pre-processing steps comprise: acquiring data of at least one geographic fence; determining a first area surrounding the at least one geographic fence; dividing the first area into a plurality of rectangular areas of equal size to obtain a plurality of second areas.

4. The method of claim 3, wherein dividing the first region into a plurality of rectangular regions of the same size to obtain a plurality of second regions, including, using a recursive algorithm, successively bisecting the first region into 4 N-1 unit rectangles to obtain the plurality of second regions, N being a natural number successively increasing from 1.

5. The method of claim 3, wherein The pre-processing of the data of the geographic fences further comprises obtaining processed first area position information and second area position information and geographic fence data by translating and scaling the first area, and obtaining corresponding scaling factors and translation vectors.

6. The method of claim 5, wherein, After acquiring the position information of the positioning point, the method further comprises obtaining processed position information of the positioning point according to the scaling factors and the translation vectors.

7. The method of claim 3, wherein The pre-processing of the data of the geographic fences further comprises encoding the second areas, and recording the encoding of the second area overlapping with the geographic fence as a judgment encoding group; judging whether the second area where the positioning point is located has a geographic fence overlapping therewith comprises acquiring the encoding of the second area where the positioning point is located, and judging whether the encoding of the second area where the positioning point is located is located in the judgment encoding group.

8. The method of claim 7, wherein, The second areas are sequentially encoded by using a Peano space filling curve, and the encoded second areas are stored row by row.

9. A determination device of a position of a positioning point, characterized by The method comprises an acquiring device for acquiring position information of a positioning point; a first judgment unit for judging whether the positioning point is located in a first area according to the position information of the positioning point, the first area being a rectangular area surrounding all the geographic fences; a second judgment unit for judging whether the positioning point is located in a geographic fence according to the position relationship between the positioning point and a plurality of second areas when the positioning point is located in the first area, the second areas being a plurality of rectangular areas of equal size obtained by equally dividing the first area; each of the second areas at most overlaps one geographic fence.

10. The positioning point position determining apparatus of Claim 9, wherein The second judgment unit comprises a judgment subunit for judging whether the second area where the positioning point is located has a geographic fence overlapping therewith; a calculation unit for calculating the position relationship between the geographic fence and the positioning point when the second area where the positioning point is located has a geographic fence overlapping therewith.

11. The positioning point position determining apparatus of Claim 9, wherein Also included are: a preprocessing unit configured to preprocess data of a geofence to obtain position information of a first region and position information of a second region.

12. The positioning point position determining apparatus of Claim 11, wherein The preprocessing unit includes: a fence information acquisition unit configured to acquire data of at least one geofence; a division unit configured to divide the first region into a plurality of second regions; a translation and scaling unit configured to translate and scale the first region to obtain processed first region position information and second region position information, and to obtain corresponding scaling factors and translation coordinates.

13. The positioning point position determining apparatus of Claim 11, wherein The preprocessing unit further includes an encoding unit and a recording unit, the encoding unit configured to encode the second regions; the recording unit configured to record the encoding of the second regions that overlap with the geofence as a determination encoding group.

14. An electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions for execution by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.

15. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are for causing the computer to perform the method according to any one of claims 1-8.

Citation Information

Patent Citations

  • A method and device for indexing geo-fences

    CN110209748A

  • Target object positioning method, terminal equipment and storage medium

    CN115098752A