A method and system for geo-fence data point density optimization
By grouping and determining the relevance of geofence data points, redundant points are removed, thus solving the redundancy problem in geofence data point sets and improving computational efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SICHUAN GOLDEN RIDGE INTELLIGENCE SCI & TECH CO LTD
- Filing Date
- 2020-10-22
- Publication Date
- 2026-04-21
AI Technical Summary
Redundant data points in geofencing datasets lead to high computational resource consumption, affecting the operational efficiency of geofencing-related algorithms.
By grouping the geofence data point set, determining the correlation between each group of data points and the first and last data points forming a straight line, deleting redundant points that meet the conditions, and updating the data point arrangement order and quantity until the preset conditions are met.
The density of geofencing data points was optimized, reducing computational resource consumption and improving the computational efficiency of geofencing-related algorithms.
Smart Images

Figure CN115836285B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method and system for optimizing the density of geofence data points. Background Technology
[0002] With the development of information technology, geofencing technology has been applied to various fields, such as location determination for smart terminals and vehicle identification for roaming vehicles. Geofencing is constructed based on a set of acquired geofencing data points, and the quality of these data points directly affects the quality of the resulting geofencing. There are various methods for acquiring geofencing data points, such as map marking and sequential collection along roads. Sequential collection along roads requires consideration of numerous road details, such as road length, width, direction, and the number of roadblocks, resulting in a large number of data points. This leads to a significant amount of redundant data points in the geofencing data set. This redundancy increases the computational demands on algorithms used to determine whether a target (e.g., a roaming vehicle, a terminal device) is within the geofencing area, resulting in lower computational efficiency.
[0003] Therefore, there is an urgent need for a method and system for optimizing the density of geofence data points. Summary of the Invention
[0004] This specification provides a method for optimizing the density of geofence data points. The method includes: acquiring a geofence data point set, the geofence data point set comprising multiple data points arranged in a collection order; repeatedly performing the following steps on the geofence data point set until the geofence data point set meets a first preset condition: dividing the multiple data points into at least one data point group, each data point group comprising at least three data points arranged in a sequential order; determining the correlation degree between each data point in each data point group (excluding the first and last data points) and the straight line formed by the first and last data points; determining whether the correlation degree meets a second preset condition; if so, the data point corresponding to the correlation degree is a deletable point, all deletable points are deleted, and the data point arrangement order and number of data points in the geofence data point set are updated, completing one round of data point filtering.
[0005] Another aspect of this specification provides a system for optimizing the density of geofence data points. The system includes: an acquisition module for acquiring a geofence data point set, the geofence data point set including multiple data points arranged in the acquisition order; and a data point filtering module for repeatedly performing the following steps on the geofence data point set until the geofence data point set meets a first preset condition: dividing the multiple data points into at least one data point group, each data point group including at least three data points arranged in sequence; determining the correlation degree between each data point in each data point group (excluding the first and last data points) and the straight line formed by the first and last data points; determining whether the correlation degree meets a second preset condition; if so, the data point corresponding to the correlation degree is a deletable point, all deletable points are deleted, and the data point arrangement order and number of data points in the geofence data point set are updated, completing one round of data point filtering.
[0006] Another aspect of this specification provides an apparatus for optimizing the density of geofence data points, including a processor for performing a method for optimizing the density of geofence data points.
[0007] Another aspect of this specification provides a computer-readable storage medium that stores computer instructions, which, when read by a computer, enable the computer to perform a method for optimizing the density of geofence data points. Attached Figure Description
[0008] This specification will be further described by way of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting; in these embodiments, the same reference numerals denote the same structures, wherein:
[0009] Figure 1 This is a schematic diagram illustrating an application scenario of a system for optimizing geofence data point density according to some embodiments of this specification;
[0010] Figure 2 This is a block diagram of an exemplary geofence data point density optimization system according to some embodiments of this specification;
[0011] Figure 3 This is an exemplary flowchart of a method for optimizing the density of geofence data points according to some embodiments of this specification;
[0012] Figure 4 This is an exemplary flowchart illustrating a method for determining a group of M data points according to some embodiments of this specification. Detailed Implementation
[0013] To more clearly illustrate the technical solutions of the embodiments in this specification, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some examples or embodiments of this specification. For those skilled in the art, these drawings can be applied to other similar scenarios without creative effort. Unless obvious from the context or otherwise specified, the same reference numerals in the drawings represent the same structures or operations.
[0014] It should be understood that the terms "system," "device," "unit," and / or "module" as used in this specification are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.
[0015] As indicated in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0016] Flowcharts are used in this specification to illustrate the operations performed by the system according to embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, the steps can be processed in reverse order or simultaneously. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.
[0017] Figure 1 This is a schematic diagram illustrating an application scenario of a geofence data point density optimization system based on some embodiments of this specification.
[0018] The geofencing data point density system 100 may include a processor 110, a network 120, and a storage device 130.
[0019] The geofence data point density system 100 can be used for data point acquisition and processing at the road level, geofence construction for vehicle location determination, and geofence construction for smart terminal location determination. Road-level geofence data point acquisition differs from other methods of constructing geofences by marking data points on a map, such as region-level geofence data points. Map markings and actual road coordinates and widths are difficult to match. To ensure accurate data point acquisition, road-level geofence construction based on road information requires sequentially collecting data points along the road to obtain a geofence data point set. Because the acquisition process needs to consider numerous road information, such as road length, width, direction, and number of roadblocks, a large number of data points are collected. Therefore, a large number of redundant data points are generated. This redundancy reduces the computational power and efficiency of geofence-related algorithms, such as those for determining whether a target (e.g., a vehicle, terminal device) is within the geofence area. In some embodiments, the geofence data point density system 100 can filter and delete redundant data points in the road-level geofence data point set by implementing the methods and / or processes disclosed in this specification, thereby reducing the number of road-level geofence data points and constructing a geofence with optimal data point density.
[0020] Processor 110 can acquire data (e.g., a set of geofence data points) from storage device 130 via a network, and storage device 130 can also upload data (e.g., a set of geofence data points) to processor 110 via a network. Processor 110 and storage device 130 can also communicate and transmit data with other external devices via network 120. Processor 110 can execute action instructions to implement any of the geofence data point density optimization methods described in this specification. The information transmission relationships between the devices described above are merely examples, and this application is not limited thereto.
[0021] In some embodiments, the processor 110 and other possible system components may include a storage device 130.
[0022] Processor 110 can process data and / or information obtained from other devices or system components. Based on this data, information, and / or processing results, the processor can execute program instructions to perform one or more functions described in this application. In some embodiments, processor 110 may include one or more sub-processing devices (e.g., a single-core processing device or a multi-core multi-chip processing device). By way of example only, processor 110 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application-specific instruction processor (ASIP), a graphics processing unit (GPU), a physical processor (PPU), a digital signal processor (DSP), a field-programmable gate array (FPGA), a programmable logic device (PLD), a controller, a microcontroller unit, a reduced instruction set computer (RISC), a microprocessor, or any combination thereof.
[0023] Storage device 130 can be used to store data and / or instructions. Storage device 130 may include one or more storage components, each of which may be a separate device or part of another device. In some embodiments, storage device 130 may include random access memory (RAM), read-only memory (ROM), mass storage, removable memory, volatile read-write memory, etc., or any combination thereof. Exemplarily, mass storage may include a hard disk, optical disk, solid-state drive, etc. In some embodiments, storage device 130 may be implemented on a cloud platform.
[0024] Data refers to the digital representation of information, which can include various types such as binary data, text data, image data, and video data. Instructions refer to programs that control devices or components to perform specific functions.
[0025] Network 120 can connect the various components of the system and / or connect the system to external resources. Network 120 enables communication between the components and with other parts outside the system, facilitating the exchange of data and / or information. In some embodiments, network 120 can be any one or more of wired or wireless networks. For example, network 120 can include cable networks, fiber optic networks, telecommunications networks, the Internet, local area networks (LANs), wide area networks (WANs), wireless local area networks (WLANs), metropolitan area networks (MANs), public switched telephone networks (PSTNs), Bluetooth networks, ZigBee networks, near field communication (NFC), device bus, device wiring, cable connections, etc., or any combination thereof. Network connections between components can be made using one or more of the above methods. In some embodiments, the network can be a point-to-point, shared, centralized, or other topologies, or a combination of multiple topologies. In some embodiments, network 150 can include one or more network access points. For example, network 120 may include wired or wireless network access points, such as base stations and / or network switching points 120-1, 120-2, ..., through which one or more components of system 100 can be connected to network 120 to exchange data and / or information.
[0026] Figure 2 This is a block diagram of an exemplary geofence data point density optimization system according to some embodiments of this specification.
[0027] In some embodiments, the system 200 for geofence data point density optimization may include an acquisition module 210, a data point filtering module 220, and a data point group determination module 221.
[0028] The acquisition module 210 can be used to acquire a geofence data point set, which includes multiple data points arranged in the order of acquisition. For more information on data point sets and data points, please refer to [link to relevant documentation]. Figure 3 The details and related descriptions will not be repeated here.
[0029] The data point filtering module 220 can be used to repeatedly execute the following steps on the geofence data point set until the geofence data point set meets a first preset condition: dividing the plurality of data points into at least one data point group, each data point group including at least three data points arranged in sequence; determining the correlation degree between each data point in each data point group (excluding the first and last data points) and the straight line formed by the first and last data points; determining whether the correlation degree meets a second preset condition, if so, then the data point corresponding to the correlation degree is a deletable point, deleting all the deletable points, and updating the data point arrangement order and number of data points in the geofence data point set, completing one round of data point filtering. For details on the data point filtering steps, please refer to [link to relevant documentation]. Figure 3 The relevant descriptions are omitted here. In some embodiments, the data point filtering module 220 can also be used to determine the correlation coefficient between each data point other than the first and last data points and the straight line, and to determine the distance between each data point other than the first and last data points and the straight line.
[0030] In some embodiments, satisfying the second preset condition for relevance may include: a correlation coefficient greater than a first threshold and a distance less than a second threshold. In some embodiments, the first preset condition may include: the number of data points after the current round of data point filtering is the same as the number of data points after the previous round of data point filtering. In some embodiments, the scale of the coordinate space of the data points may be determined based on the minimum coordinate value of the data points in the geofence data point set.
[0031] In some embodiments, the data point filtering module 220 further includes a data point group determination module 221, which can be used to select at least three data points as a data point group each time according to the arrangement order of the plurality of data points; and to arrange the data point groups sequentially based on the arrangement order of the data points in the data point groups to obtain the at least one data point group. In some embodiments, in the at least one data point group obtained sequentially, starting from the second data point group, the first data point of each data point group is the last data point of the previous data point group.
[0032] It should be understood that the illustrated system and its modules can be implemented in various ways. For example, in some embodiments, the system and its modules can be implemented by hardware, software, or a combination of software and hardware. The hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated-design hardware. Those skilled in the art will understand that the methods and systems described above can be implemented using computer-executable instructions and / or included in processor control code, for example, such code provided on a carrier medium such as a disk, CD, or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The systems and modules of this application can be implemented not only by hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field-programmable gate arrays, programmable logic devices, etc., but also by software executed by various types of processors, or by a combination of the aforementioned hardware circuits and software (e.g., firmware).
[0033] It should be noted that the above description of the system 200 and its modules for optimizing geofence data point density is for convenience only and should not be construed as limiting this specification to the scope of the embodiments described. It is understood that those skilled in the art, after understanding the principles of this system, may arbitrarily combine the various modules or construct subsystems connected to other modules without departing from these principles. For example, the acquisition module 210, data point filtering module 220, and data point group determination module 221 may share a single storage module, or each module may have its own separate storage module. Such modifications are all within the scope of protection of this application.
[0034] Figure 3 This is an exemplary flowchart illustrating a method for optimizing the density of geofence data points according to some embodiments of this specification.
[0035] like Figure 3 As shown, the method 300 for optimizing the density of geofence data points may include:
[0036] Step 310: Obtain the geofence data point set.
[0037] Specifically, step 310 can be performed by the acquisition module 210.
[0038] A geofence data point set refers to the set of data points used to construct a geofence. A geofence data point set includes multiple data points arranged in the order they were collected. Specifically, these multiple data points can be collected sequentially along the boundaries of a road or a selected area such as a neighborhood, park, or lake. As an example, if data points a, b, c, d, e, and f are collected sequentially along a road, resulting in 6 data points, the geofence data point set can be represented by A. Therefore, the geofence data point set A can be expressed as A = {a, b, c, d, e, f}.
[0039] In some embodiments, the data points in the geofence data point set can be arranged in ascending order of collection or in descending order of collection.
[0040] In some embodiments, the geofence data point set can be obtained from a server, a terminal, or a database. For example, a terminal can be used to collect data points, and the geofence data point set can be obtained by reading the data stored on the terminal. Alternatively, the terminal can send the collected data point information to a server or save it to an external database, and then obtain the geofence data point set from the server or database.
[0041] In some embodiments, after obtaining the geofence data point set, the geofence data point set can be further processed, such as data point coordinate transformation and data point statistics.
[0042] The coordinate space of a data point refers to the coordinate system space used to represent the coordinates of the data point. For example, the CGCS coordinate system space, WGS coordinate system space, and UTM coordinate system space can be used as the coordinate space of the data point.
[0043] In some embodiments, the scale of the coordinate space of the data points can be adjusted. Specifically, the scale of the coordinate space of the data points can be determined based on the minimum coordinate values of the data points in the geofence data point set. For example, the geographic data point set is represented as Data geofence The coordinates of data point a are Point a (X a Y a The coordinate space scale starts from 0. Min_x and Min_y are the smallest X-axis and Y-axis coordinates of the corresponding geofence data point, respectively. The coordinate space scale of the data point can be adjusted to start from the smallest X-axis and Y-axis coordinates, that is, the new coordinates of data point a are New_Point. a (X a -Min_x,Y a -Min_y).
[0044] In some embodiments, when adjusting the scale of the coordinate space of data points, the coordinate space of the data points can be transformed. For example, before the scale adjustment, the data points use the WGS coordinate system space; after the scale adjustment, the coordinate space used by the data points is converted to the UTM coordinate system space.
[0045] In some embodiments, the change in the coordinate space scale range of the data points can be understood as performing a coordinate transformation on the coordinate space of the data points to obtain a coordinate system with the data point (Min_x, Min_y) as the origin, thereby effectively reducing the coordinate value of data point a.
[0046] By adjusting the coordinate space as described above, the coordinate space scale can be adapted to the range of coordinate values of the data points. In subsequent calculations related to the data point coordinates, such as determining the degree of correlation, excessively large coordinate values will prevent the calculated correlation coefficient from becoming too large, thus avoiding an excessively small range of correlation coefficient values and consequently, insufficient difference in the correlation coefficient. After adjustment, the determination of whether a data point can be deleted can be more accurately based on whether the correlation coefficient meets the criteria. More details regarding the calculation of the correlation coefficient can be found in step 324 and its related description, and will not be repeated here.
[0047] Step 320: Repeat the data point filtering step for the geofence data point set until the geofence data point set meets the first preset condition.
[0048] Specifically, step 320 can be performed by the data point filtering module 220.
[0049] Data point filtering refers to filtering data points in a geofence data point set and deleting unnecessary data points, i.e., redundant data points for building geofences.
[0050] Repeatedly performing the data point filtering step refers to iteratively filtering the data points in the geofence data point set; in other words, it's an iteration of data point filtering. Through iterative filtering, or cyclical filtering, it's possible to filter out as many redundant data points as possible, thus improving the accuracy of the filtering process.
[0051] The first preset condition can refer to the number of data points in the geofence data point set reaching a preset condition, such as the number reaching a preset value or the number remaining stable after multiple filtering, or the geofence formed by the data points reaching a preset condition, such as the geofence completely covering the target area or coinciding with the boundary of the target area.
[0052] If the geofence data point set meets the first preset condition, it can be understood that redundant data points in the geofence data point set have been deleted, resulting in a geofence data point set with better point density.
[0053] The data point filtering step may include:
[0054] Step 322: Divide the N data points into at least one data point group, and each data point group includes at least 3 data points arranged in sequence.
[0055] A data point set is a collection of multiple data points. A data point set must include at least three data points; for example, it may include three, four, or five data points. The number of data points in each data point set can be the same or different.
[0056] The data points in a data point group are arranged in the same order as those in the geofence data point set. Data points within each data point group may or may not overlap with data points in preceding or following data point groups. The number of data point groups can be determined based on the total number of data points and the number of data points within each group. For example, taking a geofence data point set A = {a, b, c, d, e, f} as an example, with 6 data points, each data point group can include 3 data points, resulting in 2 data point groups: {a, b, c} and {d, e, f}, or {a, b, c} and {c, d, e}. Each data point group can also include 4 data points, resulting in 1 or 2 data point groups: 1 data point group {a, b, c, d}, {b, c, d, e}, or {c, d, e, f}, resulting in 2 data point groups {a, b, c, d} and {c, d, e, f}. For more details on the method for determining at least one group of data points, please refer to [link / reference needed]. Figure 4 The details and related explanations will not be elaborated here.
[0057] Step 324: Determine the correlation between each data point in each data point group (excluding the first and last data points) and the straight line formed by the first and last data points.
[0058] The first data point refers to the first data point in its group, and the last data point refers to the last data point in its group. Continuing with the example in step 322 above, when the number of data point groups is 3, the first data points of data point group {a, b, c} and data point group {d, e, f} are data point a and data point d, respectively, and the last data points are data point c and data point f, respectively.
[0059] The straight line formed by the first and last data points is the line connecting the first and last data points in the coordinate system. This line can be understood as a linear function determined by the coordinates of the first and last data points. For example, this line can be expressed as f(x) = ax + b, where a and b are obtained by solving a simultaneous function equation based on the coordinates of the first and last data points.
[0060] The degree of correlation refers to the closeness of the linear relationship between each data point and the straight line, which can also be understood as the degree of fit between each data point and the straight line. For example, the degree of correlation between data points and the straight line can be perfect linear correlation (i.e., perfect fit), low linear correlation (i.e., low fit), or high linear correlation (i.e., high fit). The degree of correlation can be determined by calculating the linear correlation value, calculating the degree of fit between data points and the straight line, etc.
[0061] In some embodiments, the degree of correlation can be determined by determining the correlation coefficients between each data point (excluding the first and last data points) and the straight line. The correlation coefficient is a numerical representation of the linear relationship; a higher correlation coefficient indicates a higher degree of correlation. For example, a correlation coefficient of 0.9 represents a higher degree of correlation than a correlation coefficient of 0.7. The correlation coefficient can be calculated based on residuals, total deviations, etc., specifically using the following formula:
[0062]
[0063] Continuing with the aforementioned data point group {a, b, c} as an example, R represents the correlation coefficient between data point b and the straight line formed by data points a and c, SSR is the regression sum of squares of the straight line, SSE is the residual sum of squares between the data points and the straight line, and SST is the total deviation sum of squares between the data points and the straight line.
[0064] In some embodiments, any effective calculation method can be used to calculate the correlation coefficient between the data points and the straight line. For example, the Pearson correlation coefficient calculation method. Therefore, this specification does not limit the calculation method shown in formula (1) for the calculation of the correlation coefficient between the two.
[0065] In some embodiments, the correlation can also be determined by determining the distances between each of the data points (excluding the first and last data points) and the straight line. The absolute distance is inversely proportional to the correlation. That is, the larger the absolute distance, the smaller the correlation. For example, continuing with the aforementioned data point group {a, b, c}, the absolute distance D between data point b and the straight line ac formed by data points a and c can be expressed as:
[0066]
[0067] Where A, B, and C are all calculation parameters, f(x) = Ax + By + C is a linear function that maps data point a and data point c to the line ac, and x0 and y0 are the coordinate values of data point b, respectively.
[0068] Step 326: Determine whether the correlation degree meets the second preset condition. If so, the data point corresponding to the correlation degree is a deletable point. Delete all the deletable points and update the data point arrangement order and data point quantity of the geofence data point set to complete one round of data point filtering.
[0069] The second preset condition may refer to the correlation between the data points of the geofence data point set and the straight line reaching a preset threshold, or other preset conditions obtained by further processing based on the correlation.
[0070] In some embodiments, the second preset condition can be a preset threshold. Specifically, the preset threshold can be a preset threshold for the correlation coefficient. The correlation coefficient can be compared with the preset threshold, and a correlation coefficient greater than the preset threshold is used as the standard for determining whether the correlation degree meets the second preset condition. Taking the data point group {a, b, c} as an example, the preset threshold for the correlation coefficient is 0.8. The calculated correlation coefficient between data point b and the line ac is 0.85, so the correlation degree between data point b and line ac meets the preset condition. The preset threshold can also be a preset threshold for the distance between each of the aforementioned data points and the line. The distance can be compared with the preset threshold, and a distance less than the preset threshold is used as the standard for determining whether the correlation degree meets the second preset condition. Taking the data point group {a, b, c} as an example, the preset threshold for the distance is 2cm. The calculated distance between data point b and the line ac is 0.7, so the correlation degree between data point b and line ac meets the preset condition. It should be noted that the size of the preset threshold can be determined by experimental data or adjusted according to actual conditions. This specification does not limit the determination and range of the preset threshold.
[0071] In some embodiments, the preset threshold for the correlation coefficient can be called the first threshold, and the preset threshold for the distance between each data point and the straight line can be called the second threshold. A correlation coefficient greater than the first threshold and a distance less than the second threshold can be considered as the second preset condition for satisfying the correlation level. Continuing with the aforementioned data point group {a, b, c} as an example, the correlation coefficient between data point b and the straight line ac formed by data points a and c is calculated to be 0.9, and the distance between data point b and the straight line ac formed by data points a and c is 1 cm. Setting the first threshold to 0.8% and the second threshold to 2 cm, it can be determined that the correlation level between data point b and the straight line formed by data points a and c satisfies the second preset condition. The calculation methods for the correlation coefficient and distance can be found in step 324 and its related description, and will not be repeated here.
[0072] In this embodiment, by determining that the correlation degree meets the second preset condition based on simultaneously satisfying a correlation coefficient greater than a first threshold and a distance less than a second threshold, it is possible to further ensure that the scale is not too large when selecting deletable points from the geofence data point set, based on a single screening condition. Deleting data points with an excessively large scale can be understood as follows: after deleting the selected deletable points, the geofence formed by the geofence data point set undergoes a significant boundary change compared to the actual road boundary or area, making the geofence created based on the aforementioned geofence data point set no longer accurately cover the target area.
[0073] Data points whose relevance meets the second preset condition are deletable points. That is, if a data point satisfies any of the aforementioned conditions for satisfying the second preset relevance condition, then that data point can be deleted from the geofence data point set. After deleting deletable points, the data point order and the number of data points N in the geofence data point set are updated, completing one round of data point filtering. Taking the geofence data point set A = {a, b, c, d, e, f} as an example, N is 6, M is 2, resulting in two data point groups: {a, b, c} and {d, e, f}. Data points b and e satisfy the second preset condition for relevance and are therefore deletable points. After deleting data points b and c, the number of data points in the geofence data point set is updated to 4, and the updated order is A = {a, c, d, f}. The geofence data point set after updating the number of data points and the data point order can be used for the next round of data point filtering.
[0074] After each round of data point filtering, it can be determined whether the set of geofence data points meets the first preset condition. If not, the next round of data point filtering will continue until the set of geofence data points meets the first preset condition.
[0075] In some embodiments, the first preset condition can be: the number of data points after the data point filtering in this round is the same as the number of data points after the data point filtering in the previous round. That is, when this preset condition is met, the number of data points in the data point set remains stable and no longer changes, and it can be considered that all deletable points have been filtered out, thus completing the point density optimization of the geofence data point set.
[0076] In some embodiments, during multiple rounds of data point filtering, the starting data point for each round can vary. Specifically, in the step of one round of data point filtering, when grouping the geofence data point set to obtain at least one data group, the grouping can start from the first data point in the geofence data point set arranged sequentially, i.e., the starting data point is the first data point in the sequential arrangement; alternatively, it can start from the second data point in the geofence data point set arranged sequentially or from other data points, i.e., the starting data point is the second data point in the sequential arrangement. Furthermore, if the starting data point for one round of data point filtering is the first data point in the sequential arrangement, the starting data point for the next round of data point filtering can be the second data point in the sequential arrangement or from other data points. In some embodiments, during multiple rounds of data point filtering, a number M of data point groups can be initially set. M data point groups are sequentially selected from the data point set, and data point filtering is performed on these M data point groups. Then, M more data point groups are selected from the data point set for further data point filtering, and so on, until all data points in the data point set have been selected and filtered. When continuing to select M data point groups from the data point set for data point filtering, the data points from the first data point group of the previous round of M data point group filtering that did not yield any deleteable points can be used as the starting data points for the next round of M data point groups. More details on the method for determining at least one data point group can be found in [link to documentation]. Figure 4 The relevant explanations will not be repeated here. Through this embodiment, multiple rounds of data point filtering can be performed alternately, starting from the first point or the second point, ensuring that as many data points as possible are judged as to whether they can be deleted, and more accurately finding deletable points.
[0077] By performing the above data point filtering steps, the data points are grouped, and the correlation between each data point and the straight line formed by the first and last data points in the data point group is calculated to determine whether a data point is a deletable point. This allows for efficient and accurate filtering and deletion of redundant data points, achieving efficient and accurate point density optimization of the geofence data point set.
[0078] Figure 4 This is an exemplary flowchart of a method for determining at least one group of data points according to some embodiments of this specification.
[0079] like Figure 4 As shown, the method 400 may include:
[0080] Step 410: Take at least 3 data points each time as a data point group according to the arrangement order of the plurality of data points.
[0081] Specifically, step 410 can be performed by the data point group determination module 221.
[0082] As can be seen from the description of the data point group in step 322 above, the arrangement order of the data points in the data point group is the same as the arrangement order of the data points in the geofence data point set. When selecting data point groups, you can follow the arrangement order of the data points in the geofence data point set, starting from the first data point, or from the second data point or other data points, and selecting at least 3 (which can be 3, 4, or 5) as a data point group each time.
[0083] Taking a geofence data point set A = {a, b, c, d, e, f} as an example, you can start with data point a and take 3 data points at a time as a data point group, or you can start with data point b and take 3 data points at a time as a data point group.
[0084] Step 420: Based on the arrangement order of the data points in the data point group, arrange the data point group sequentially to obtain the at least one data point group.
[0085] Specifically, step 420 can be performed by the data point group determination module.
[0086] Each data point group is obtained by taking data points according to the order in which the data points are arranged in the geofence data point set. Therefore, each data point group will also have a corresponding arrangement order based on the order in which the data points are taken. For example, taking the geofence data point set A = {a, b, c, d, e, f} as an example, starting from data point a, three data points are taken each time to form a data point group, resulting in data point groups {a, b, c} and {d, e, f}. Then, {a, b, c} is the first data point group, and {d, e, f} is the second data point group.
[0087] By arranging the data point groups in the order they correspond to, the at least one data point group can be obtained.
[0088] When performing multiple rounds of data point filtering on a geofence data point set, based on at least one group of data points determined in the above steps, the data point filtering operation can be performed alternately starting with the first data point or the second data point. This ensures that as many data points as possible in the geofence data point set are judged as deletable points, making the data point filtering more accurate.
[0089] In some embodiments, in at least one data point group obtained, starting from the second data point group, the first data point of each data point group is the last data point of the previous data point group. Taking a geofence data point set A = {a, b, c, d, e, f} as an example, starting from data point a, three data points are taken each time as a data point group. Starting from the second data point group, the first data point of each data point group is the last data point of the previous data point group, resulting in data point groups {a, b, c} and {c, d, e}. Through this embodiment, the data points in each sequentially arranged data point group can be connected end-to-end, which can further ensure that as many data points as possible are judged as deletable points, making the data point filtering more accurate.
[0090] This specification also provides an apparatus, including a processor, for executing the aforementioned method for optimizing the density of geofence data points. The method for optimizing the density of geofence data points may include: acquiring a geofence data point set, the geofence data point set including multiple data points arranged in a collection order; repeatedly performing the following steps on the geofence data point set until the geofence data point set meets a first preset condition: dividing the multiple data points into at least one data point group, each data point group including at least three data points arranged in a sequential order; determining the correlation degree between each data point in each data point group (excluding the first and last data points) and the straight line formed by the first and last data points; determining whether the correlation degree meets a second preset condition; if so, the data point corresponding to the correlation degree is a deletable point, all deletable points are deleted, and the data point arrangement order and number of data points in the geofence data point set are updated, completing one round of data point filtering.
[0091] This specification also provides a computer-readable storage medium storing computer instructions. When a computer reads the computer instructions from the storage medium, the computer executes the aforementioned method for optimizing the density of geofence data points. The method for optimizing the density of geofence data points may include: acquiring a geofence data point set, the geofence data point set including multiple data points arranged in the order of acquisition; repeatedly performing the following steps on the geofence data point set until the geofence data point set meets a first preset condition: dividing the multiple data points into at least one data point group, each data point group including at least three data points arranged in sequence; determining the correlation degree between each data point in each data point group (excluding the first and last data points) and the straight line formed by the first and last data points; determining whether the correlation degree meets a second preset condition; if so, the data point corresponding to the correlation degree is a deletable point, all deletable points are deleted, and the data point arrangement order and number of data points in the geofence data point set are updated, completing one round of data point filtering.
[0092] The beneficial effects that the embodiments of this specification may bring include, but are not limited to: (1) by grouping data points and determining whether a data point is a deletable point based on the correlation between each data point in the data point group and the straight line formed by the first and last data points, efficient and accurate point density optimization of the geofence data point set is achieved; (2) by changing the starting point of the data point group selection, the starting point of the data points in multiple rounds of data point screening can be changed alternately, and the first and last data points of the preceding and following data point groups overlap, so as to ensure that as many data points as possible are judged as to whether they can be deleted, thereby improving the accuracy of data point screening; (3) based on the simultaneous satisfaction of the correlation coefficient being greater than the first threshold and the distance being less than the second threshold to determine that the correlation degree meets the second preset condition, further ensuring that when screening deletable points from the geofence data point set, the scale is not too large, thus ensuring the effective coverage of the constructed geofence. It should be noted that different embodiments may produce different beneficial effects. In different embodiments, the beneficial effects that may be produced can be any one or a combination of the above, or any other possible beneficial effects.
[0093] The basic concepts have been described above. Obviously, for those skilled in the art, the detailed disclosure above is merely illustrative and does not constitute a limitation of this specification. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements, and corrections to this specification. Such modifications, improvements, and corrections are suggested in this specification and therefore remain within the spirit and scope of the exemplary embodiments described herein.
[0094] Furthermore, this specification uses specific terms to describe embodiments thereof. For example, "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Moreover, certain features, structures, or characteristics in one or more embodiments of this specification can be appropriately combined.
[0095] Furthermore, those skilled in the art will understand that various aspects of this specification can be described and illustrated in several patentable ways or situations, including any new and useful combination of processes, machines, products, or substances, or any new and useful improvements thereof. Accordingly, various aspects of this specification can be implemented entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. All of the above hardware or software may be referred to as a “data block,” “module,” “engine,” “unit,” “component,” or “system.” Furthermore, various aspects of this specification may be represented as a computer product located on one or more computer-readable media, including computer-readable program code.
[0096] Computer storage media may contain a propagated data signal containing computer program code, for example, on baseband or as part of a carrier wave. This propagated signal may take various forms, including electromagnetic, optical, and suitable combinations thereof. Computer storage media can be any computer-readable medium other than a computer-readable storage medium, which can be connected to an instruction execution system, apparatus, or device to enable communication, propagation, or transmission of a program for use. The program code located on the computer storage medium can be propagated through any suitable medium, including radio, cable, fiber optic cable, RF, or similar media, or any combination of the above media.
[0097] The computer program code required for the operation of each part of this manual can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc.; conventional procedural programming languages such as C, Visual Basic, Fortran2003, Perl, COBOL2002, PHP, ABAP; dynamic programming languages such as Python, Ruby, and Groovy; or other programming languages. This program code can run entirely on the user's computer, or as a standalone software package on the user's computer, or partially on the user's computer and partially on a remote computer, or entirely on a remote computer or processing device. In the latter case, the remote computer can be connected to the user's computer through any network, such as a local area network (LAN) or wide area network (WAN), or connected to an external computer (e.g., via the Internet), or in a cloud computing environment, or used as a service such as Software as a Service (SaaS).
[0098] Furthermore, unless expressly stated in the claims, the order of processing elements and sequences, the use of numbers and letters, or other names described in this specification are not intended to limit the order of the processes and methods described herein. Although various examples have been discussed in the foregoing disclosure of some embodiments of the invention that are currently considered useful, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments; rather, the claims are intended to cover all modifications and equivalent combinations that conform to the spirit and scope of the embodiments described herein. For example, while the system components described above can be implemented by hardware devices, they can also be implemented solely by software solutions, such as installing the described system on existing processing devices or mobile devices.
[0099] Similarly, it should be noted that, in order to simplify the description disclosed herein and thus aid in the understanding of one or more embodiments of the invention, the foregoing description of embodiments in this specification may sometimes combine multiple features into a single embodiment, drawing, or description thereof. However, this method of disclosure does not imply that the subject matter of this specification requires more features than those mentioned in the claims. In fact, the embodiments contain fewer features than all the features of a single embodiment disclosed above.
[0100] In some embodiments, numbers describing the quantity of components and attributes are used. It should be understood that such numbers used in the description of embodiments are modified in some examples with the terms "approximately," "approximately," or "generally." Unless otherwise stated, "approximately," "approximately," or "generally" indicates that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may be changed depending on the characteristics required by individual embodiments. In some embodiments, numerical parameters should take into account specified significant digits and employ a general method of digit reservation. Although the numerical ranges and parameters used to confirm their breadth of range in some embodiments of this specification are approximate values, in specific embodiments, such values are set as precisely as feasible.
[0101] For each patent, patent application, patent application publication, and other material, such as articles, books, specifications, publications, and documents, referenced in this specification, the entire contents of which are incorporated herein by reference. This excludes historical application documents that are inconsistent with or conflict with the content of this specification, as well as documents that limit the broadest scope of the claims in this specification (currently or subsequently appended to this specification). It should be noted that in the event of any inconsistency or conflict between the descriptions, definitions, and / or terminology used in the supplementary materials to this specification and the content of this specification, the descriptions, definitions, and / or terminology used in this specification shall prevail.
[0102] Finally, it should be understood that the embodiments described in this specification are merely illustrative of the principles of the embodiments described herein. Other variations may also fall within the scope of this specification. Therefore, alternative configurations of the embodiments described herein are intended to be illustrative rather than limiting, and should be considered consistent with the teachings of this specification. Accordingly, the embodiments described herein are not limited to those explicitly introduced and described herein.
Claims
1. A method for optimizing the density of geofencing data points, characterized in that, include: Obtain a set of geofence data points, which includes multiple data points arranged in the order of collection. The following steps are repeated on the geofence data point set to perform multiple rounds of data point filtering until the geofence data point set meets the first preset condition: The plurality of data points are divided into at least one data point group, and each data point group includes at least three data points arranged in sequence; Determine the degree of correlation between each data point in each data point group (excluding the first and last data points) and the straight line formed by the first and last data points. Determine whether the correlation degree meets the second preset condition. If so, the data point corresponding to the correlation degree is a deletable point. Delete all the deletable points and update the data point arrangement order and data point quantity of the geofence data point set to complete one round of data point filtering. The determination of the correlation between each data point in the data point group (excluding the first and last data points) and the straight line formed by the first and last data points includes: Determine the correlation coefficient between each data point other than the first and last data points and the straight line, and determine the distance between each data point other than the first and last data points and the straight line. The correlation degree satisfies the second preset condition, including: the correlation coefficient is greater than the first threshold, and the distance is less than the second threshold; The first preset condition includes: the number of data points after the data point filtering in this round is the same as the number of data points after the data point filtering in the previous round; When performing multiple rounds of data point filtering, the starting data point for each round of data point filtering is different; the starting data point is the starting point of the data point group selection.
2. The method as described in claim 1, wherein the scale of the coordinate space of the data point is determined based on the minimum coordinate value of the data point in the geofence data point set.
3. The method of claim 1, wherein the method for determining the at least one group of data points comprises: At least three data points are taken as a group of data points each time according to the arrangement order of the plurality of data points; Based on the arrangement order of the data points in the data point group, the data point group is arranged sequentially to obtain the at least one data point group.
4. The method of claim 3, wherein in the at least one data point group obtained sequentially, starting from the second data point group, the first data point of each data point group is the last data point of the previous data point group.
5. A system for optimizing the density of geofencing data points, characterized in that, The system includes: Acquisition module: used to acquire a set of geofence data points, which includes multiple data points arranged in the order of acquisition; Data point filtering module: used to repeatedly perform the following steps on the geofence data point set to perform multiple rounds of data point filtering until the geofence data point set meets the first preset condition: The plurality of data points are divided into at least one data point group, and each data point group includes at least three data points arranged in sequence; Determine the degree of correlation between each data point in each data point group (excluding the first and last data points) and the straight line formed by the first and last data points. Determine whether the correlation degree meets the second preset condition. If so, the data point corresponding to the correlation degree is a deletable point. Delete all the deletable points and update the data point arrangement order and data point quantity of the geofence data point set to complete one round of data point filtering. The data point filtering module is also used for: Determine the correlation coefficient between each data point other than the first and last data points and the straight line, and determine the distance between each data point other than the first and last data points and the straight line. The correlation degree satisfies the second preset condition, including: the correlation coefficient is greater than the first threshold, and the distance is less than the second threshold; The first preset condition includes: the number of data points after the data point filtering in this round is the same as the number of data points after the data point filtering in the previous round; When performing multiple rounds of data point filtering, the starting data point for each round of data point filtering is different; the starting data point is the starting point of the data point group selection.
6. In the system of claim 5, the scale of the coordinate space of the data point is determined based on the minimum coordinate value of the data point in the geofence data point set.
7. The system of claim 5, wherein the data point filtering module further comprises a data point group determination module, used for: At least three data points are taken as a group of data points each time according to the arrangement order of the plurality of data points; Based on the arrangement order of the data points in the data point group, the data point group is arranged sequentially to obtain the at least one data point group.
8. The system of claim 7, wherein in the at least one data point group obtained sequentially, starting from the second data point group, the first data point of each data point group is the last data point of the previous data point group.
9. An apparatus for optimizing the density of geofence data points, comprising a processor, the processor being configured to perform the method for optimizing the density of geofence data points as described in any one of claims 1 to 4.
10. A computer-readable storage medium storing computer instructions, wherein when a computer reads the computer instructions in the storage medium, the computer executes the method for optimizing the density of geofence data points as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Data rarefying and smooth processing method based on vector map
CN103839228A