CN111078812B - Fence generation method and device and electronic equipment - Google Patents

Fence generation method and device and electronic equipment Download PDF

Info

Publication number
CN111078812B
CN111078812B CN201911221977.5A CN201911221977A CN111078812B CN 111078812 B CN111078812 B CN 111078812B CN 201911221977 A CN201911221977 A CN 201911221977A CN 111078812 B CN111078812 B CN 111078812B
Authority
CN
China
Prior art keywords
point
vertex
points
coordinates
traversing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911221977.5A
Other languages
Chinese (zh)
Other versions
CN111078812A (en
Inventor
袁承振
黄翠萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ant Chuangjiang Information Technology Co ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911221977.5A priority Critical patent/CN111078812B/en
Publication of CN111078812A publication Critical patent/CN111078812A/en
Application granted granted Critical
Publication of CN111078812B publication Critical patent/CN111078812B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The application provides a fence generation method, a fence generation device and electronic equipment, wherein the fence generation method comprises the following steps: converting an original point set into a tile set, and acquiring a vertex set and an adjacent side set corresponding to the tile set; traversing the vertexes in the vertex set to obtain the adjacent points of the current traversing point; obtaining candidate points, wherein the candidate points comprise adjacent points with adjacent edges between the current traversal points; selecting a next traversal point of the current traversal point; if the next traversal point is not the initial traversal point, adding the current traversal point to the set of fence boundaries; and continuing traversing the vertexes in the vertex set until the next traversing point of the current traversing point is the initial traversing point, and obtaining a fence boundary set as the boundary of the required fence. The application can realize tile processing of the original point set, reduce the data volume to be processed, improve the processing efficiency, and reduce the time complexity and the space complexity of generating the fence.

Description

Fence generation method and device and electronic equipment
[ field of technology ]
The present application relates to the field of big data technologies, and in particular, to a method and an apparatus for generating a fence, and an electronic device.
[ background Art ]
With the development of electronic communication technology, various mobile terminal devices, such as mobile phones, tablet computers, notebook computers or portable playing devices, are popular with users. Various mobile terminal devices have more and more functions, and can provide a plurality of convenient applications for users, wherein a location-based service (Location Based Service; hereinafter abbreviated as LBS) can acquire location information (geographic coordinates or geodetic coordinates) of the mobile terminal users, and provide services for the users under the support of a geographic information system (Geographic Information System; hereinafter abbreviated as GIS) platform.
The fence (Geo-fencing) is a new application of LBS, namely, a virtual fence is used to enclose a virtual geographic boundary. The fence refers to a range divided by a closed graph in a two-dimensional space, and generally refers to a virtual geographic position range divided by a set of ordered longitude and latitude points, and is an irregularly-shaped polygon when placed on a plane.
In big data scenarios, there are many scenarios where a fence needs to be generated, such as in some GIS applications, where user actions acquired through a positioning service occur, it is desirable to find a hotspot fence containing these users for further fence-based positioning and/or marketing, etc.
In the prior art, the data size of the original points (i.e. the coordinates of the place where the user acts) is huge, and the prior method for generating the fence needs to perform iterative computation on all the original points, so that the time complexity and the space complexity are higher, and the implementation is more complex.
[ application ]
The embodiment of the application provides a fence generation method, a fence generation device and electronic equipment, which are used for realizing tile processing on an original point set, reducing the data quantity to be processed, improving the processing efficiency and reducing the time complexity and the space complexity of fence generation.
In a first aspect, an embodiment of the present application provides a method for generating a fence, including: converting an original point set into a tile set, and acquiring a vertex set and an adjacent side set corresponding to the tile set; traversing the vertexes in the vertex set to obtain the adjacent points of the current traversal point; screening the adjacent points of the current traversal point according to the adjacent edge set to obtain candidate points, wherein the candidate points comprise adjacent points with adjacent edges between the current traversal point and the candidate points; selecting a next traversal point of the current traversal point from the candidate points; if the next traversal point is not the starting traversal point, adding the current traversal point to the set of fence boundaries; and continuing traversing the vertexes in the vertex set until the next traversing point of the current traversing point is the initial traversing point, and obtaining a fence boundary set as the boundary of the required fence.
In one possible implementation manner, the converting the original point set into the tile set includes: acquiring coordinates of original points in an original point set; performing modular operation on the coordinates of the original points according to the preset tile size to obtain coordinates of a center point, wherein the center point is the center point of a tile corresponding to the coordinates of the original points; and determining the tile number of the tile to which the center point belongs according to the coordinates of the center point.
In one possible implementation manner, the obtaining the vertex set and the edge set corresponding to the tile set includes: calculating the coordinates of the vertexes of the tiles to which the center points belong according to the coordinates of the center points and the preset tile sizes; generating undirected edges of the tiles according to coordinates of vertices of the tiles, the undirected edges of the tiles including adjacent edges between vertices of the tiles.
In one possible implementation manner, before traversing the vertices in the vertex set, the method further includes: selecting a starting traversal point from the vertexes according to the coordinates of the vertexes in the vertex set; the traversing the vertices in the vertex set includes: traversing the vertices in the vertex set starting from the starting traversal point.
In one possible implementation manner, the selecting a starting traversal point from the vertices according to coordinates of the vertices in the vertex set includes: sorting the vertexes according to the coordinates of the vertexes in the vertex set; selecting a vertex with the minimum ordinate; if the vertex with the minimum ordinate is only one, selecting the vertex with the minimum ordinate as a starting traversal point; and if the vertex with the minimum ordinate comprises at least two vertices, selecting the vertex with the minimum abscissa from the vertices with the minimum ordinate as a starting traversing point.
In one possible implementation manner, the selecting the next traversal point of the current traversal point from the candidate points includes: taking the current traversal point as a corner vertex, taking an adjacent edge between the current traversal point and the last traversal point as a corner starting edge, taking an adjacent edge between the current traversal point and the candidate point as a corner ending edge, and acquiring a corner ending edge with the largest rotation angle from the corner starting edge to the corner ending edge according to a preset rotation direction; and taking the candidate point on the corner ending edge with the maximum rotation angle as the next traversal point.
In a second aspect, an embodiment of the present application provides a fence generating apparatus, including: the conversion module is used for converting the original point set into a tile set and acquiring a vertex set and an adjacent side set corresponding to the tile set; the traversing module is used for traversing the vertexes in the vertex set and acquiring the adjacent points of the current traversing point; the screening module is used for screening the adjacent points of the current traversal point according to the adjacent edge set to obtain candidate points, wherein the candidate points comprise the adjacent points with adjacent edges between the current traversal point; the selecting module is used for selecting the next traversal point of the current traversal point from the candidate points; the adding module is used for adding the current traversal point into the fence boundary set when the next traversal point is not the initial traversal point; the traversing module is further configured to continue traversing the vertices in the vertex set until a next traversing point of the current traversing point is the starting traversing point, and the obtained fence boundary set is a boundary of the required fence.
In one possible implementation manner, the conversion module includes: an acquisition sub-module for acquiring coordinates of the original points in the original point set; the mould taking module is used for carrying out mould taking operation on the coordinates of the original points according to the preset tile sizes to obtain coordinates of center points, wherein the center points are the center points of tiles corresponding to the coordinates of the original points; and the determining submodule is used for determining the tile number of the tile to which the center point belongs according to the coordinate of the center point obtained by the module taking submodule.
In one possible implementation manner, the conversion module includes: the calculating submodule is used for calculating the coordinates of the top points of the tiles to which the center points belong according to the coordinates of the center points and the preset tile sizes; and the generation submodule is used for generating undirected edges of the tiles according to the coordinates of the vertexes of the tiles, wherein the undirected edges of the tiles comprise adjacent edges between the vertexes of the tiles.
In one possible implementation manner, the selecting module is further configured to select, before the traversing module traverses the vertices in the vertex set, a starting traversing point from the vertices according to coordinates of the vertices in the vertex set; the traversing module is specifically configured to traverse the vertices in the vertex set from the initial traversing point.
In one possible implementation manner, the selecting module includes: the sorting sub-module is used for sorting the vertexes according to the coordinates of the vertexes in the vertex set; the traversal point selection sub-module is used for selecting the vertex with the minimum ordinate; when only one vertex with the minimum ordinate exists, selecting the vertex with the minimum ordinate as a starting traversal point; and when the vertex with the minimum ordinate comprises at least two vertices, selecting the vertex with the minimum abscissa from the vertices with the minimum ordinate as a starting traversing point.
In one possible implementation manner, the selecting module includes: the traversal point selection sub-module is used for taking the current traversal point as a corner vertex, taking an adjacent edge between the current traversal point and the last traversal point as a corner starting edge, taking an adjacent edge between the current traversal point and the candidate point as a corner ending edge, and acquiring a corner ending edge with the largest rotation angle from the corner starting edge to the corner ending edge according to a preset rotation direction; and taking the candidate point on the corner ending edge with the maximum rotation angle as the next traversal point.
In a third aspect, an embodiment of the present application provides an electronic device, including: at least one processor; and at least one memory communicatively coupled to the processor, wherein: the memory stores program instructions executable by the processor, which are called by the processor to perform the method as described above.
In a fourth aspect, embodiments of the present application provide a non-transitory computer-readable storage medium storing computer instructions that cause the computer to perform the method as described above.
According to the technical scheme, an original point set is converted into a tile set, after a vertex set and an adjacent side set corresponding to the tile set are obtained, the vertices in the vertex set are traversed to obtain adjacent points of a current traversing point, the adjacent points of the current traversing point are screened according to the adjacent side set to obtain candidate points, and a next traversing point of the current traversing point is selected from the candidate points; if the next traversal point is not the initial traversal point, adding the current traversal point into a fence boundary set, continuing to traverse the vertexes in the vertex set until the next traversal point of the current traversal point is the initial traversal point, and obtaining the fence boundary set as the boundary of the required fence, so that tile processing of the original point set can be realized, the data quantity to be processed is reduced, the processing efficiency is improved, and the time complexity and the space complexity of generating the fence are reduced; in addition, the candidate points include neighboring points with neighboring edges to the current traversal point, which may support concave-sided tile fences.
[ description of the drawings ]
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of one embodiment of a method of generating a fence of the present application;
FIG. 2 is a schematic view of one embodiment of a method of creating a fence according to the present application for processing concave-sided tiles
FIG. 3 is a flow chart of another embodiment of a method of generating a fence according to the present application;
FIG. 4 is a flow chart of yet another embodiment of a method of generating a fence in accordance with the present application;
FIG. 5 is a flow chart of yet another embodiment of a method of generating a fence in accordance with the present application;
FIG. 6 is a schematic diagram of one embodiment of a method for generating a fence according to the present application for selecting a next traversal point;
FIG. 7 is a schematic view of an embodiment of a fence generation device of the present application;
FIG. 8 is a schematic view of another embodiment of the fence generation device of the present application;
fig. 9 is a schematic structural diagram of an embodiment of the electronic device of the present application.
[ detailed description ] of the application
For a better understanding of the technical solution of the present application, the following detailed description of the embodiments of the present application refers to the accompanying drawings.
It should be understood that the described embodiments are merely some, but not all, embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The terminology used in the embodiments of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In big data scenarios, there are many scenarios where a fence needs to be generated, such as in some GIS applications, where user actions acquired through a positioning service occur, it is desirable to find a hotspot fence containing these users for further fence-based positioning and/or marketing, etc.
Based on the above scenario, the embodiment of the application provides a fence generation method, which reduces the amount of data to be processed, improves the processing efficiency, and reduces the time complexity and the space complexity of generating fences by carrying out tile processing on an original point (namely, the coordinates of the occurrence place of user behaviors) set.
FIG. 1 is a flowchart of an embodiment of a method for generating a fence according to the present application, where, as shown in FIG. 1, the method for generating a fence may include:
step 101, converting an original point set into a tile set, and obtaining a vertex set and an adjacent side set corresponding to the tile set.
The origin may be coordinates of a place where the user action occurs, for example: coordinates of a location of the user, coordinates of a location of the merchant, and/or coordinates of a place of occurrence of a transaction action of the user, etc.
In the present embodiment, the coordinates may be latitude and longitude coordinates, or may be coordinates of a global positioning system (Global Positioning System; hereinafter referred to as GPS), but this embodiment is not limited thereto.
Step 102, traversing the vertexes in the vertex set to obtain the adjacent points of the current traversing point.
Specifically, when obtaining the neighboring points of the current traversal point, a k neighboring sampling method may be used to obtain k neighboring points of the current traversal point, where k is a positive integer, and the size of k may be set by itself according to system performance and/or implementation requirements in specific implementation, and in this embodiment, the size of k is not limited, for example, k may be 4.
And step 103, screening the adjacent points of the current traversal point according to the adjacent edge set to obtain candidate points, wherein the candidate points comprise the adjacent points with adjacent edges between the current traversal point and the adjacent points.
Specifically, in this step, it is necessary to determine whether or not there is an adjacent edge between the < current traversal point and the adjacent point >, and if not, discard the adjacent point. The reason for this is to deal with the concave side tile scenario, as shown in FIG. 2, FIG. 2 is a schematic diagram of one embodiment of the fence generation method of the present application. Assuming that the current traversal point is a, B and C are all adjacent points of a, if the adjacent edge processing is not considered, when the next traversal point is C, the tile formed by A, B and C lacks an adjacent edge, and the whole fence is a concave edge here, so that the adjacent edge processing needs to be added, the adjacent point which does not have an adjacent edge between the current traversal point and the adjacent point of the current traversal point is deleted, and after the adjacent point which does not have an adjacent edge is filtered, the set of candidate points is obtained.
And 104, selecting the next traversal point of the current traversal point from the candidate points.
Step 105, if the next traversal point is not the starting traversal point, adding the current traversal point to the set of fence boundaries.
And 106, continuing to traverse the vertexes in the vertex set until the next traversal point of the current traversal point is the initial traversal point, wherein the obtained fence boundary set is the boundary of the required fence.
In this embodiment, the next traversal point of the current traversal point is the start traversal point, which indicates that the traversal is completed, and the point in the obtained boundary set of the fence is the boundary of the required fence.
In the fence generation method, an original point set is converted into a tile set, after a vertex set and an adjacent side set corresponding to the tile set are obtained, the vertexes in the vertex set are traversed to obtain adjacent points of a current traversing point, the adjacent points of the current traversing point are screened according to the adjacent side set to obtain candidate points, and a next traversing point of the current traversing point is selected from the candidate points; if the next traversal point is not the initial traversal point, adding the current traversal point into a fence boundary set, continuing to traverse the vertexes in the vertex set until the next traversal point of the current traversal point is the initial traversal point, and obtaining the fence boundary set as the boundary of the required fence, so that tile processing of the original point set can be realized, the data quantity to be processed is reduced, the processing efficiency is improved, and the time complexity and the space complexity of generating the fence are reduced; in addition, the candidate points include neighboring points with neighboring edges to the current traversal point, which may support concave-sided tile fences.
FIG. 3 is a flowchart of another embodiment of the fence generation method of the present application, and in the embodiment of FIG. 1 of the present application, in step 101, converting the original point set into the tile set may include:
in step 301, the coordinates of the original points in the original point set are obtained.
Step 302, performing a modulo operation on the coordinates of the original point according to a preset tile size to obtain coordinates of a center point, where the center point is a center point of a tile corresponding to the coordinates of the original point.
In this embodiment, the accuracy of the generated fence can be controlled by controlling the tile size, and the smaller the tile is, the more consistent the generated fence is with the point of interest, and the larger the calculated amount is; the preset tile size may be set by itself according to system performance and/or service scenario, and the preset tile size is not limited in this embodiment, for example, the side length of the preset tile may be 500 meters.
In the modulo operation of the coordinates of the original point, a pre-selected tile processing algorithm, for example Geohash, google-S2, may be used, and in this embodiment, a Geohash algorithm is selected, which is not limited in this embodiment.
Step 303, determining the tile number of the tile to which the center point belongs according to the coordinates of the center point.
Specifically, after the coordinates of the center point are obtained, a Geohash value of the coordinates of the center point may be calculated as the tile number.
After the original point coordinates in the original point set are processed according to the method provided in steps 301 to 303, a tile set converted from the original point set can be obtained.
In this step, filtering and screening may be performed on the obtained tile set to meet fence generation with different requirements, for example, if a fence with a concentration point needs to be generated, the tile set may be filtered according to a preset threshold or a preset percentage, where the concentration point may be a concentration point of a user or a concentration point of a merchant.
Thus, in step 101, obtaining the vertex set and the edge set corresponding to the tile set may include:
step 304, calculating the coordinates of the vertex of the tile to which the center point belongs according to the coordinates of the center point and the preset tile size.
Specifically, the coordinates of 4 vertices of the tile to which the center point belongs may be obtained by calculation according to the coordinates of the center point and the preset side length of the tile.
Step 305, generating an undirected edge of the tile according to coordinates of vertices of the tile, wherein the undirected edge of the tile includes adjacent edges between vertices of the tile.
For example, assuming that the coordinates of the 4 vertices of the tile are A (x 0, y 0), B (x 1, y 1), C (x 2, y 2), and D (x 3, y 3), respectively, where A is the vertex at the lower left corner, then the resulting undirected edge of the tile includes A- > B, B- > C, C- > D, and D- > A. The present embodiment considers only the adjacent edges between the vertices of the tiles, and does not consider diagonal edges of the vertices.
According to the embodiment, the original point set is converted into the tile set, and the vertex set and the adjacent side set corresponding to the tile set are analyzed, so that the vertex set and the adjacent side set can be used as input to calculate the fence, the data volume required to be processed for generating the fence is reduced, the processing efficiency is improved, and the time complexity and the space complexity for generating the fence are reduced.
Fig. 4 is a flowchart of still another embodiment of the fence generation method of the present application, and as shown in fig. 4, before step 102, in the embodiment of fig. 1 of the present application, the method may further include:
step 401, selecting a starting traversal point from the vertexes according to the coordinates of the vertexes in the vertex set.
Specifically, according to the coordinates of the vertices in the vertex set, selecting a starting traversal point from the vertices may be: sorting the vertexes according to the coordinates of the vertexes in the vertex set; then, selecting the vertex with the smallest ordinate; if the vertex with the minimum ordinate is only one, selecting the vertex with the minimum ordinate as a starting traversal point; if the vertex with the smallest ordinate comprises at least two vertices, the vertex with the smallest abscissa is selected from the vertices with the smallest ordinate as the initial traversing point.
Taking the longitude and latitude coordinates as an example, the longitude and latitude coordinates are corresponding to the longitude and latitude coordinates, firstly, sorting the vertexes in the vertex set according to the longitude and latitude coordinates of the vertexes in the vertex set, selecting the point with the lowest latitude, and if the latitude of at least two vertexes is consistent, selecting the vertex with the smallest longitude as the initial traversing point.
Thus, step 102 may be:
step 402, starting from the initial traversal point, traversing the vertices in the vertex set, and obtaining the neighboring points of the current traversal point.
FIG. 5 is a flowchart of still another embodiment of the fence generation method of the present application, and as shown in FIG. 5, step 104 may include:
Step 501, taking the current traversal point as a corner vertex, taking the adjacent edge between the current traversal point and the last traversal point as a corner starting edge, taking the adjacent edge between the current traversal point and the candidate point as a corner ending edge, and acquiring the corner ending edge with the largest rotation angle from the corner starting edge to the corner ending edge according to a preset rotation direction.
Step 502, using the candidate point on the corner ending edge with the largest rotation angle as the next traversal point.
In the present embodiment, the predetermined rotation direction may be a clockwise direction, which is merely an example, and the present embodiment is not limited thereto, and other rotation directions may be adopted.
Referring to fig. 6, fig. 6 is a schematic diagram illustrating one embodiment of selecting a next traversal point in the method of creating a fence according to the present application. As shown in fig. 6, a is the previous traversal point, B is the current traversal point, C, D and E are candidate points, B is taken as the corner vertex, and the point with the largest included angle rotated clockwise by the AB ray is selected, i.e. E is the next traversal point.
Fig. 7 is a schematic structural diagram of an embodiment of a fence generating apparatus according to the present application, where the fence generating apparatus according to the present embodiment may be used as an electronic device or a part of an electronic device to implement the fence generating method provided by the embodiment of the present application. As shown in fig. 7, the fence generating apparatus may include: a conversion module 71, a traversal module 72, a screening module 73, a selection module 74 and a joining module 75;
The conversion module 71 is configured to convert an original point set into a tile set, and obtain a vertex set and an adjacent side set corresponding to the tile set; the origin may be coordinates of a place where the user action occurs, for example: coordinates of a location of the user, coordinates of a location of the merchant, and/or coordinates of a place of occurrence of a transaction action of the user, etc.
In the present embodiment, the coordinates may be latitude and longitude coordinates or GPS coordinates, but the present embodiment is not limited to this, and the latitude and longitude coordinates are described as an example.
A traversing module 72, configured to traverse the vertices in the vertex set, and obtain neighboring points of the current traversed point; specifically, when obtaining the neighboring points of the current traversal point, a k neighboring sampling method may be used to obtain k neighboring points of the current traversal point, where k is a positive integer, and the size of k may be set by itself according to system performance and/or implementation requirements in specific implementation, and in this embodiment, the size of k is not limited, for example, k may be 4.
A screening module 73, configured to screen the neighboring points of the current traversal point according to the set of neighboring edges, so as to obtain candidate points, where the candidate points include neighboring points with neighboring edges between the candidate points and the current traversal point; specifically, the filtering module 73 needs to determine whether there is an adjacent edge between the < current traversal point, the adjacent point >, and if not, discard the adjacent point. The reason for this determination is that in order to process the scene of a concave edge tile, as shown in fig. 2, assuming that the current traversal point is a, B and C are all adjacent points of a, if the adjacent edge processing is not considered, then when the next traversal point is C, the tile formed by A, B and C lacks an adjacent edge, the whole fence is a concave edge here, and therefore the adjacent edge processing needs to be added, the screening module 73 deletes the adjacent point with no adjacent edge between the current traversal point and the adjacent point of the current traversal point, and obtains the set of candidate points after filtering the adjacent point with no adjacent edge.
A selecting module 74, configured to select a next traversal point of the current traversal point from the candidate points;
a joining module 75 for joining the current traversal point to the set of fence boundaries when the next traversal point is not the starting traversal point;
the traversing module 72 is further configured to continue traversing the vertices in the vertex set until a next traversing point of the current traversing point is a starting traversing point, and the obtained fence boundary set is a boundary of the sought fence.
In this embodiment, the next traversal point of the current traversal point is the start traversal point, which indicates that the traversal is completed, and the point in the obtained boundary set of the fence is the boundary of the required fence.
In the fence generating device, the conversion module 71 converts an original point set into a tile set, and after obtaining a vertex set and an adjacent side set corresponding to the tile set, the traversing module 72 traverses vertices in the vertex set to obtain adjacent points of a current traversing point, the screening module 73 screens the adjacent points of the current traversing point according to the adjacent side set to obtain candidate points, and the selecting module 74 selects a next traversing point of the current traversing point from the candidate points; if the next traversal point is not the initial traversal point, the adding module 75 adds the current traversal point to the fence boundary set, and the traversal module 72 continues to traverse the vertices in the vertex set until the next traversal point of the current traversal point is the initial traversal point, so that the obtained fence boundary set is the boundary of the required fence, tile processing of the original point set can be realized, the data volume to be processed is reduced, the processing efficiency is improved, and the time complexity and the space complexity of generating the fence are reduced; in addition, the candidate points include neighboring points with neighboring edges to the current traversal point, which may support concave-sided tile fences.
Fig. 8 is a schematic structural view of another embodiment of the fence generating apparatus of the present application, which is different from the fence generating apparatus shown in fig. 7 in that in the fence generating apparatus shown in fig. 8, the conversion module 71 may include: an acquisition sub-module 711, a modulus sub-module 712, and a determination sub-module 713;
wherein, the obtaining sub-module 711 is configured to obtain coordinates of an original point in the original point set;
a mold taking module 712, configured to perform a mold taking operation on the coordinates of the original point according to a preset tile size, to obtain coordinates of a center point, where the center point is a center point of a tile corresponding to the coordinates of the original point; in this embodiment, the accuracy of the generated fence can be controlled by controlling the tile size, and the smaller the tile is, the more consistent the generated fence is with the point of interest, and the larger the calculated amount is; the preset tile size may be set by itself according to system performance and/or service scenario, and the preset tile size is not limited in this embodiment, for example, the side length of the preset tile may be 500 meters.
In performing the modulo operation on the coordinates of the original point, the modulo submodule 712 may use a pre-selected tile processing algorithm, for example Geohash, google-S2, and in this embodiment, a Geohash algorithm is selected, which is not limited in this embodiment.
A determining sub-module 713 for determining the tile number of the tile to which the center point belongs according to the coordinates of the center point obtained by the mold taking module 712. Specifically, after the taking module 712 obtains the coordinates of the center point, the determining module 713 may calculate the Geohash value of the coordinates of the center point as the tile number.
After the original point coordinates in the original point set are processed in the above manner, a tile set converted from the original point set can be obtained.
In addition, filtering and screening can be performed on the obtained tile set to meet fence generation of different requirements, for example, if a fence of a concentration point is required to be generated, the tile set can be filtered according to a preset threshold value or a preset percentage, and the concentration point can be a concentration point of a user or a concentration point of a merchant.
In this embodiment, the conversion module 71 may include: a calculation sub-module 714 and a generation sub-module 715;
a calculating sub-module 714, configured to calculate coordinates of vertices of a tile to which the center point belongs according to the coordinates of the center point and a preset tile size; specifically, the calculating submodule 714 may calculate and obtain coordinates of 4 vertices of the tile to which the center point belongs according to the coordinates of the center point and a preset side length of the tile.
A generating submodule 715 configured to generate undirected edges of the tile according to coordinates of vertices of the tile, where the undirected edges of the tile include adjacent edges between vertices of the tile.
For example, assuming that the coordinates of the 4 vertices of the tile are A (x 0, y 0), B (x 1, y 1), C (x 2, y 2), and D (x 3, y 3), respectively, where A is the vertex at the lower left corner, then the resulting undirected edge of the tile includes A- > B, B- > C, C- > D, and D- > A. The present embodiment considers only the adjacent edges between the vertices of the tiles, and does not consider diagonal edges of the vertices.
According to the embodiment, the original point set is converted into the tile set, and the vertex set and the adjacent side set corresponding to the tile set are analyzed, so that the vertex set and the adjacent side set can be used as input to calculate the fence, the data volume required to be processed for generating the fence is reduced, the processing efficiency is improved, and the time complexity and the space complexity for generating the fence are reduced.
In this embodiment, the selecting module 74 is further configured to select, before the traversing module 72 traverses the vertices in the vertex set, a starting traversing point from the vertices according to coordinates of the vertices in the vertex set;
Specifically, the selection module 74 may include: a sorting sub-module 741 and a traversal point selection sub-module 742;
wherein, the sorting sub-module 741 is configured to sort the vertices according to coordinates of the vertices in the vertex set;
a traversal point selection sub-module 742 for selecting a vertex with a minimum ordinate; when only one vertex with the minimum ordinate exists, selecting the vertex with the minimum ordinate as a starting traversing point; when the vertex with the smallest ordinate comprises at least two vertices, the vertex with the smallest abscissa is selected from the vertices with the smallest ordinate as a starting traversing point.
Taking the coordinates as longitude and latitude coordinates as an example, the abscissa corresponds to longitude and the ordinate corresponds to latitude, firstly, the sorting sub-module 741 sorts the vertices in the vertex set according to the longitude and latitude coordinates of the vertices in the vertex set, and the traversal point selecting sub-module 742 selects the point with the lowest latitude, and if the latitudes of at least two vertices are consistent, the vertex with the smallest longitude is selected as the initial traversal point.
In this way, the traversing module 72 is specifically configured to traverse the vertices in the vertex set from the initial traversing point.
In this embodiment, the selecting module 74 includes: a traversal point selection sub-module 742;
The traversal point selection sub-module 742 is configured to obtain, according to a predetermined rotation direction, a rotation angle end edge with a maximum rotation angle from the rotation angle start edge to the rotation angle end edge, with the current traversal point as a rotation angle vertex, with an adjacent edge between the current traversal point and the previous traversal point as a rotation angle start edge, and with an adjacent edge between the current traversal point and the candidate point as a rotation angle end edge; and taking the candidate point on the corner ending edge with the maximum rotation angle as the next traversing point.
In the present embodiment, the predetermined rotation direction may be a clockwise direction, which is merely an example, and the present embodiment is not limited thereto, and other rotation directions may be adopted.
Referring to fig. 6, a is the previous traversal point, B is the current traversal point, C, D and E are candidate points, B is the corner vertex, and the point with the largest included angle rotated clockwise by the AB ray is selected, i.e. E is the next traversal point.
FIG. 9 is a schematic structural diagram of an embodiment of an electronic device of the present application, as shown in FIG. 9, which may include at least one processor; and at least one memory communicatively coupled to the processor, wherein: the memory stores program instructions executable by the processor, and the processor invokes the program instructions to execute the fence generation method provided by the embodiment of the present application.
The electronic device may be a server, for example: the cloud server in this embodiment does not limit the form of the electronic device.
Fig. 9 shows a block diagram of an exemplary electronic device suitable for use in implementing embodiments of the application. The electronic device shown in fig. 9 is merely an example, and should not be construed as limiting the functionality and scope of use of the embodiments of the present application.
As shown in fig. 9, the electronic device is in the form of a general purpose computing device. Components of an electronic device may include, but are not limited to: one or more processors 410, a memory 430, and a communication bus 440 that connects the various system components (including the memory 430 and the processing unit 410).
The communication bus 440 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include industry Standard architecture (Industry Standard Architecture; hereinafter ISA) bus, micro channel architecture (Micro Channel Architecture; hereinafter MAC) bus, enhanced ISA bus, video electronics standards Association (Video Electronics Standards Association; hereinafter VESA) local bus, and peripheral component interconnect (Peripheral Component Interconnection; hereinafter PCI) bus.
Electronic devices typically include a variety of computer system readable media. Such media can be any available media that can be accessed by the electronic device and includes both volatile and nonvolatile media, removable and non-removable media.
Memory 430 may include computer system readable media in the form of volatile memory, such as random access memory (Random Access Memory; hereinafter: RAM) and/or cache memory. The electronic device may further include other removable/non-removable, volatile/nonvolatile computer system storage media. Although not shown in fig. 9, a magnetic disk drive for reading from and writing to a removable nonvolatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable nonvolatile optical disk (e.g., a compact disk read only memory (Compact Disc Read Only Memory; hereinafter CD-ROM), digital versatile read only optical disk (Digital Video Disc Read Only Memory; hereinafter DVD-ROM), or other optical media) may be provided. In such cases, each drive may be coupled to communication bus 440 by one or more data medium interfaces. Memory 430 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of the embodiments of the application.
A program/utility having a set (at least one) of program modules may be stored in the memory 430, such program modules including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment. Program modules typically carry out the functions and/or methods of the embodiments described herein.
The electronic device may also communicate with one or more external devices (e.g., keyboard, pointing device, display, etc.), with one or more devices that enable a user to interact with the electronic device, and/or with any device (e.g., network card, modem, etc.) that enables the electronic device to communicate with one or more other computing devices. Such communication may occur through communication interface 420. Moreover, the electronic device may also communicate with one or more networks (e.g., local area network (Local Area Network; hereinafter: LAN), wide area network (Wide Area Network; hereinafter: WAN) and/or a public network, such as the Internet) via a network adapter (not shown in FIG. 9) that may communicate with other modules of the electronic device via the communication bus 440. It should be appreciated that although not shown in fig. 9, other hardware and/or software modules may be used in connection with an electronic device, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, disk arrays (Redundant Arrays of Independent Drives; hereinafter RAID) systems, tape drives, data backup storage systems, and the like.
The processor 410 executes various functional applications and data processing by running a program stored in the memory 430, for example, to implement the fence generation method provided by the embodiment of the present application.
The embodiment of the application also provides a non-transitory computer readable storage medium, which stores computer instructions that enable the computer to execute the fence generation method provided by the embodiment of the application.
The non-transitory computer readable storage media described above may employ any combination of one or more computer readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an erasable programmable Read-Only Memory (Erasable Programmable Read Only Memory; EPROM) or flash Memory, an optical fiber, a portable compact disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a local area network (Local Area Network; hereinafter: LAN) or a wide area network (Wide Area Network; hereinafter: WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms are not necessarily directed to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, the different embodiments or examples described in this specification and the features of the different embodiments or examples may be combined and combined by those skilled in the art without contradiction.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include at least one such feature. In the description of the present application, the meaning of "plurality" means at least two, for example, two, three, etc., unless specifically defined otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and additional implementations are included within the scope of the preferred embodiment of the present application in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order from that shown or discussed, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present application.
Depending on the context, the word "if" as used herein may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to detection". Similarly, the phrase "if determined" or "if detected (stated condition or event)" may be interpreted as "when determined" or "in response to determination" or "when detected (stated condition or event)" or "in response to detection (stated condition or event), depending on the context.
It should be noted that, the terminal according to the embodiment of the present application may include, but is not limited to, a personal Computer (Personal Computer; hereinafter abbreviated as PC), a personal digital assistant (Personal Digital Assistant; hereinafter abbreviated as PDA), a wireless handheld device, a Tablet Computer (Tablet Computer), a mobile phone, an MP3 player, an MP4 player, and the like.
In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the elements is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple elements or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in hardware plus software functional units.
The integrated units implemented in the form of software functional units described above may be stored in a computer readable storage medium. The software functional unit is stored in a storage medium, and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a Processor (Processor) to perform part of the steps of the methods according to the embodiments of the present application. And the aforementioned storage medium includes: a usb disk, a removable hard disk, a Read-Only Memory (hereinafter referred to as ROM), a random access Memory (Random Access Memory) and various media capable of storing program codes such as a magnetic disk or an optical disk.
The foregoing description of the preferred embodiments of the application is not intended to be limiting, but rather to enable any modification, equivalent replacement, improvement or the like to be made within the spirit and principles of the application.

Claims (12)

1. A method of creating a fence, comprising:
converting an original point set into a tile set, and acquiring a vertex set and an adjacent side set corresponding to the tile set;
traversing the vertexes in the vertex set to obtain the adjacent points of the current traversal point;
screening the adjacent points of the current traversal point according to the adjacent edge set to obtain candidate points, wherein the candidate points comprise adjacent points with adjacent edges between the current traversal point and the candidate points;
selecting a next traversal point of the current traversal point from the candidate points;
if the next traversal point is not the starting traversal point, adding the current traversal point to the set of fence boundaries;
continuing to traverse the vertexes in the vertex set until the next traversal point of the current traversal point is the initial traversal point, and obtaining a fence boundary set as the boundary of the required fence;
wherein said converting the original set of points into a set of tiles comprises:
Acquiring coordinates of original points in an original point set;
performing modular operation on the coordinates of the original points according to the preset tile size to obtain coordinates of a center point, wherein the center point is the center point of a tile corresponding to the coordinates of the original points;
and determining the tile number of the tile to which the center point belongs according to the coordinates of the center point.
2. The method of claim 1, wherein the obtaining the vertex set and the edge set corresponding to the set of tiles comprises:
calculating the coordinates of the vertexes of the tiles to which the center points belong according to the coordinates of the center points and the preset tile sizes;
generating undirected edges of the tiles according to coordinates of vertices of the tiles, the undirected edges of the tiles including adjacent edges between vertices of the tiles.
3. The method of claim 1, wherein prior to traversing the vertices in the set of vertices, further comprising:
selecting a starting traversal point from the vertexes according to the coordinates of the vertexes in the vertex set;
the traversing the vertices in the vertex set includes:
traversing the vertices in the vertex set starting from the starting traversal point.
4. A method according to claim 3, wherein said selecting a starting traversal point from among said vertices according to the coordinates of the vertices in said set of vertices comprises:
sorting the vertexes according to the coordinates of the vertexes in the vertex set;
selecting a vertex with the minimum ordinate;
if the vertex with the minimum ordinate is only one, selecting the vertex with the minimum ordinate as a starting traversal point;
and if the vertex with the minimum ordinate comprises at least two vertices, selecting the vertex with the minimum abscissa from the vertices with the minimum ordinate as a starting traversing point.
5. The method of any of claims 1-4, wherein the selecting a next traversal point of the current traversal point from the candidate points comprises:
taking the current traversal point as a corner vertex, taking an adjacent edge between the current traversal point and the last traversal point as a corner starting edge, taking an adjacent edge between the current traversal point and the candidate point as a corner ending edge, and acquiring a corner ending edge with the largest rotation angle from the corner starting edge to the corner ending edge according to a preset rotation direction;
and taking the candidate point on the corner ending edge with the maximum rotation angle as the next traversal point.
6. A fence generation device, comprising:
the conversion module is used for converting the original point set into a tile set and acquiring a vertex set and an adjacent side set corresponding to the tile set;
the traversing module is used for traversing the vertexes in the vertex set and acquiring the adjacent points of the current traversing point;
the screening module is used for screening the adjacent points of the current traversal point according to the adjacent edge set to obtain candidate points, wherein the candidate points comprise the adjacent points with adjacent edges between the current traversal point;
the selecting module is used for selecting the next traversal point of the current traversal point from the candidate points;
the adding module is used for adding the current traversal point into the fence boundary set when the next traversal point is not the initial traversal point;
the traversing module is further configured to continue traversing the vertices in the vertex set until a next traversing point of the current traversing point is the starting traversing point, where the obtained fence boundary set is a boundary of the required fence;
wherein, the conversion module includes:
an acquisition sub-module for acquiring coordinates of the original points in the original point set;
The mould taking module is used for carrying out mould taking operation on the coordinates of the original points according to the preset tile sizes to obtain coordinates of center points, wherein the center points are the center points of tiles corresponding to the coordinates of the original points;
and the determining submodule is used for determining the tile number of the tile to which the center point belongs according to the coordinate of the center point obtained by the module taking submodule.
7. The apparatus of claim 6, wherein the conversion module comprises:
the calculating submodule is used for calculating the coordinates of the top points of the tiles to which the center points belong according to the coordinates of the center points and the preset tile sizes;
and the generation submodule is used for generating undirected edges of the tiles according to the coordinates of the vertexes of the tiles, wherein the undirected edges of the tiles comprise adjacent edges between the vertexes of the tiles.
8. The apparatus of claim 6, wherein the device comprises a plurality of sensors,
the selecting module is further configured to select a starting traversal point from the vertices according to coordinates of the vertices in the vertex set before the traversal module traverses the vertices in the vertex set;
the traversing module is specifically configured to traverse the vertices in the vertex set from the initial traversing point.
9. The apparatus of claim 8, wherein the means for selecting comprises:
the sorting sub-module is used for sorting the vertexes according to the coordinates of the vertexes in the vertex set;
the traversal point selection sub-module is used for selecting the vertex with the minimum ordinate; when only one vertex with the minimum ordinate exists, selecting the vertex with the minimum ordinate as a starting traversal point; and when the vertex with the minimum ordinate comprises at least two vertices, selecting the vertex with the minimum abscissa from the vertices with the minimum ordinate as a starting traversing point.
10. The apparatus according to any one of claims 6-9, wherein the selecting means comprises:
the traversal point selection sub-module is used for taking the current traversal point as a corner vertex, taking an adjacent edge between the current traversal point and the last traversal point as a corner starting edge, taking an adjacent edge between the current traversal point and the candidate point as a corner ending edge, and acquiring a corner ending edge with the largest rotation angle from the corner starting edge to the corner ending edge according to a preset rotation direction; and taking the candidate point on the corner ending edge with the maximum rotation angle as the next traversal point.
11. An electronic device, comprising:
at least one processor; and
at least one memory communicatively coupled to the processor, wherein:
the memory stores program instructions executable by the processor, the processor invoking the program instructions to perform the method of any of claims 1-5.
12. A non-transitory computer readable storage medium storing computer instructions that cause the computer to perform the method of any one of claims 1 to 5.
CN201911221977.5A 2019-12-03 2019-12-03 Fence generation method and device and electronic equipment Active CN111078812B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911221977.5A CN111078812B (en) 2019-12-03 2019-12-03 Fence generation method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911221977.5A CN111078812B (en) 2019-12-03 2019-12-03 Fence generation method and device and electronic equipment

Publications (2)

Publication Number Publication Date
CN111078812A CN111078812A (en) 2020-04-28
CN111078812B true CN111078812B (en) 2023-09-05

Family

ID=70312616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911221977.5A Active CN111078812B (en) 2019-12-03 2019-12-03 Fence generation method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN111078812B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087708B (en) * 2020-08-14 2022-09-16 江苏省电力试验研究院有限公司 Layout method and layout device of electronic fence and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572924A (en) * 2014-12-26 2015-04-29 武汉大学 Multiscale expression information generating method for GIS (geographic information system) vector building polygon
CN105718465A (en) * 2014-12-02 2016-06-29 阿里巴巴集团控股有限公司 Geofence generation method and device
CN108846882A (en) * 2018-06-25 2018-11-20 北京嘀嘀无限科技发展有限公司 A kind of method, apparatus and electronic equipment of determining point and fence relationship
CN109800281A (en) * 2019-01-22 2019-05-24 苏州寻息电子科技有限公司 The method of the positional relationship of Query Location point and fence in positioning system
CN109992633A (en) * 2019-02-20 2019-07-09 北京三快在线科技有限公司 Method, apparatus, electronic equipment are determined based on the geography fence of user location

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609477B2 (en) * 2014-12-18 2017-03-28 Intel Corporation Devices and methods for geo fencing
WO2017173476A1 (en) * 2016-04-07 2017-10-12 Bluedot Innovation Pty Ltd Application of data structures to geo-fencing applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718465A (en) * 2014-12-02 2016-06-29 阿里巴巴集团控股有限公司 Geofence generation method and device
CN104572924A (en) * 2014-12-26 2015-04-29 武汉大学 Multiscale expression information generating method for GIS (geographic information system) vector building polygon
CN108846882A (en) * 2018-06-25 2018-11-20 北京嘀嘀无限科技发展有限公司 A kind of method, apparatus and electronic equipment of determining point and fence relationship
CN109800281A (en) * 2019-01-22 2019-05-24 苏州寻息电子科技有限公司 The method of the positional relationship of Query Location point and fence in positioning system
CN109992633A (en) * 2019-02-20 2019-07-09 北京三快在线科技有限公司 Method, apparatus, electronic equipment are determined based on the geography fence of user location

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王思宁.视频地理围栏与应用.中国优秀硕士学位论文全文数据库基础科学辑.2019,全文. *

Also Published As

Publication number Publication date
CN111078812A (en) 2020-04-28

Similar Documents

Publication Publication Date Title
US9697423B1 (en) Identifying the lines of a table
CN109992640B (en) Method, device, equipment and storage medium for determining position grid
CN111882634A (en) Image rendering method, device and equipment and storage medium
CN111522838A (en) Address similarity calculation method and related device
CN109388843B (en) Visualization system and method of truss antenna based on VTK (virtual terminal K), and terminal
CN111078812B (en) Fence generation method and device and electronic equipment
CN110188782B (en) Image similarity determining method and device, electronic equipment and readable storage medium
CN108573510B (en) Grid map vectorization method and device
US10410386B2 (en) Table cell validation
CN107393410B (en) Method, medium, apparatus and computing device for presenting data on map
TW202219822A (en) Character detection method, electronic equipment and computer-readable storage medium
WO2018054114A1 (en) Picture encoding method and terminal
CN111382643B (en) Gesture detection method, device, equipment and storage medium
CN111862342A (en) Texture processing method and device for augmented reality, electronic equipment and storage medium
CN111008934A (en) Scene construction method, device, equipment and storage medium
CN113797554B (en) Game engine resource processing method and device, storage medium and electronic equipment
CN111954154B (en) Positioning method and device, computer readable storage medium and electronic device
CN112164066B (en) Remote sensing image layered segmentation method, device, terminal and storage medium
CN115100536A (en) Building identification method, building identification device, electronic equipment and computer readable medium
CN111870954B (en) Altitude map generation method, device, equipment and storage medium
KR101768913B1 (en) Method of partitioning a data including geographical information, apparatus performing the same and storage medium storing a program performing the same
CN114357757A (en) Weather data assimilation method, device, equipment, readable storage medium and product
CN114090817A (en) Dynamic construction method and device of face feature database and storage medium
CN110619087B (en) Method and apparatus for processing information
CN116091778B (en) Semantic segmentation processing method, device and equipment for data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240220

Address after: Room 1408, No. 447 Nanquan North Road, Pudong New Area Free Trade Pilot Zone, Shanghai, 200120

Patentee after: Shanghai Ant Chuangjiang Information Technology Co.,Ltd.

Country or region after: China

Address before: 801-11, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province 310007

Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd.

Country or region before: China