CN107623897B - Geography fence generation method and its equipment - Google Patents

Geography fence generation method and its equipment Download PDF

Info

Publication number
CN107623897B
CN107623897B CN201710631406.3A CN201710631406A CN107623897B CN 107623897 B CN107623897 B CN 107623897B CN 201710631406 A CN201710631406 A CN 201710631406A CN 107623897 B CN107623897 B CN 107623897B
Authority
CN
China
Prior art keywords
coordinate
coordinates
distance
joining
current
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
CN201710631406.3A
Other languages
Chinese (zh)
Other versions
CN107623897A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710631406.3A priority Critical patent/CN107623897B/en
Publication of CN107623897A publication Critical patent/CN107623897A/en
Priority to TW107116560A priority patent/TWI674014B/en
Priority to PCT/CN2018/097275 priority patent/WO2019020082A1/en
Application granted granted Critical
Publication of CN107623897B publication Critical patent/CN107623897B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Navigation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

This application discloses a kind of geography fence generation method and its equipment.The described method includes: receiving multiple coordinates in list of coordinates, wherein the multiple coordinate includes changing coordinates;Determine the reference coordinate of changing coordinates;Judge whether the distance between changing coordinates and reference coordinate are more than or equal to and distance is added, wherein it is to judge whether changing coordinates are confirmed as that the measurement of coordinate is added apart from upper that distance, which is added,;If it is greater than or equal to distance is added, determine that changing coordinates are the addition coordinate to form geography fence.Using determining addition coordinate, geography fence is generated.

Description

Geo-fence generation method and device thereof
Technical Field
The present application relates to the field of computers, and in particular, to a geo-fence generating method and a device thereof.
Background
With the development of mobile communication technology and the popularization of computer technology, Location-Based Service (LBS) technology is moving into people's lives. By using the LBS technology, the position of the mobile terminal can be obtained by positioning the mobile terminal, and then the service related to the position of the mobile terminal is provided for the mobile terminal.
In recent years, with the rapid development of LBS technology, new applications based on LBS technology are also emerging. Geo-fencing (Geo-fencing) technology is receiving more and more attention as a new application of LBS technology. Geofencing techniques may use a virtual fence to enclose a geofenced area. When the mobile terminal is active in or near the geo-fenced area, notifications and reminders corresponding to the geo-fenced area can be received.
When a certain area is drawn and highlighted by using fence coordinates forming a geo-fence, the boundary information generally contains a large amount of coordinate information, and if the coordinate information is not processed and is directly displayed by using the coordinate information, an obvious performance problem is caused, and the use experience is influenced.
Therefore, there is a need in the art for a solution for screening the coordinates of a geofence.
The above information is presented merely as background information to aid in understanding the present disclosure. No determination has been made, nor has a statement been made, as to whether any of the above information is applicable as prior art against the present disclosure.
Disclosure of Invention
The main purpose of one or more embodiments of the present specification is to provide a geo-fence generating method and a device thereof, which aim to solve the above-mentioned coordinate screening problem.
An aspect of one or more embodiments of the present specification provides a geo-fence generation method, the method comprising: receiving a plurality of coordinates in a coordinate list, wherein the plurality of coordinates comprise a current coordinate; determining a reference coordinate of the current coordinate; judging whether the distance between the current coordinate and the reference coordinate is greater than or equal to a joining distance, wherein the joining distance is a measure for judging whether the current coordinate is determined as a joining coordinate in distance; and if the current coordinate is greater than or equal to the joining distance, determining the current coordinate as the joining coordinate for forming the geo-fence. Generating a geofence using the determined joining coordinates.
Optionally, the method further comprises: calculating a screening probability, wherein the screening probability is a measure for judging whether the current coordinate is determined to be added into the coordinate in terms of probability; and if the distance between the current coordinate and the reference coordinate is smaller than the adding distance, determining whether the current coordinate is the adding coordinate or not through the screening probability.
Another aspect of one or more embodiments of the present specification provides a geo-fence generating apparatus, the apparatus comprising: a receiving unit which receives a plurality of coordinates in a coordinate list, wherein the plurality of coordinates include a current coordinate; a reference coordinate unit is determined, and a reference coordinate of the current coordinate is determined; the distance judging unit is used for judging whether the distance between the current coordinate and the reference coordinate is greater than or equal to a joining distance, wherein the joining distance is a measure for judging whether the current coordinate is determined as a joining coordinate in distance; the first determining unit is used for responding to the fact that the distance between the current coordinate and the reference coordinate is larger than or equal to the adding distance judged by the distance judging unit, and determining the current coordinate as the adding coordinate for forming the geo-fence; and the generating unit is used for generating the geo-fence by utilizing the determined joining coordinates.
Optionally, the apparatus further comprises: a unit for calculating a screening probability, which is a measure for probabilistically judging whether the current coordinate is determined as the added coordinate; and a second determining unit for determining whether to add the current coordinate by screening the probability.
Another aspect of one or more embodiments of the present specification provides a geo-fencing apparatus comprising: a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to: receiving a plurality of coordinates in a coordinate list, wherein the plurality of coordinates comprise a current coordinate; determining a reference coordinate of the current coordinate; judging whether the distance between the current coordinate and the reference coordinate is greater than or equal to a joining distance, wherein the joining distance is a measure for judging whether the current coordinate is determined as a joining coordinate in distance; and if the current coordinate is greater than or equal to the joining distance, determining the current coordinate as the joining coordinate for forming the geo-fence. Generating a geofence using the determined joining coordinates.
In contrast to the prior art, the number of coordinates displayed for a geofence can be reduced while preserving the shape of an area by using the joining distance to filter a plurality of coordinates in the list of coordinates to determine joining coordinates for forming the geofence in accordance with one or more embodiments of the present disclosure. Furthermore, according to another embodiment of the present disclosure, the coordinates that cannot be added by the joining distance are further filtered by using the filtering probability on the basis of filtering the coordinates by using the joining distance, so that the detailed information of the region is enriched while the complete shape of the region is maintained.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
FIG. 1 is a diagram showing a geofence, in accordance with one or more embodiments of the present specification;
fig. 2 is a flow diagram illustrating a geofence generation method in accordance with one or more embodiments of the present specification;
FIG. 3 is a flow diagram illustrating a geofence generation method according to another embodiment of this specification;
FIGS. 4A-4F are diagrams illustrating determining coordinates according to one or more embodiments of the present description;
fig. 5 is a block diagram illustrating a geo-fence generation device in accordance with one or more embodiments of the present specification;
fig. 6 is a block diagram illustrating an electronic device performing a geofence generation method in accordance with one or more embodiments of the present specification;
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Hereinafter, embodiments will be described in more detail with reference to the accompanying drawings. Like numbers refer to like elements throughout.
Fig. 1 is a diagram illustrating a geofence, according to one or more embodiments of the present specification.
As depicted in fig. 1, the geo-fencing technique may be utilized to sequentially connect the geo-fenced coordinates to form a geo-fence of zheng city as depicted in fig. 1 and display the geo-fence on a display. It is clear that the more coordinates that form a geofence, the sharper the outline of the area displayed, but the more coordinates that form a geofence at the same time, the higher the requirements on the display device. Furthermore, in many cases, the display device need only display the approximate outline of the geofence, and need not display outline information that is too detailed. Based on the above consideration, the application provides a geo-fence generation method.
Fig. 2 is a flow diagram illustrating a geofence generation method in accordance with one or more embodiments of the present specification.
As shown in fig. 2, in step S210, a plurality of coordinates in a coordinate list are received. In particular, the list of coordinates may include a list of coordinates that have formed a geofence for a particular area (e.g., Zheng City in FIG. 1), that is, the coordinates in the list of coordinates are a set of coordinates that have been determined according to a geofence algorithm. Those skilled in the art will understand that: all methods that can obtain the coordinate list corresponding to the specific area according to the existing geo-fencing algorithm can be applied to the present application.
The following steps may then be performed with respect to the current coordinates, it being understood that the current coordinates may include coordinates that belong to the list of coordinates and are being traversed, that is, coordinates for which a determination is being made to determine whether to add to the geofence are the current coordinates. It should be noted that "adding" referred to in one or more embodiments of the present specification may be determining coordinates as final fence data, in other words, if a certain coordinate may be added, the coordinate is determined as a coordinate that can be displayed on a display.
In step S220, reference coordinates of the current coordinates are determined. The reference coordinate is the joining coordinate that is closest in time to the current coordinate, where the joining coordinate may be the coordinate that it is eventually joined to the geofence and may be displayed on the display. Optionally, if it is determined that there is no reference coordinate, the current coordinate is determined as the joining coordinate. For example, when a first coordinate in the coordinate list is operated, there is no joining coordinate that is closest in time to the current coordinate, and the first coordinate is determined as the joining coordinate, so that when a second coordinate is operated, the first coordinate can be used as a reference coordinate of the second coordinate.
Next, in step S230, it is determined whether a distance between the current coordinate and the reference coordinate is greater than or equal to a joining distance, where the joining distance is a measure for determining whether the current coordinate is determined as a joining coordinate in terms of distance. Specifically, the joining distance is calculated by a distance between a plurality of coordinates in the coordinate list and a predetermined maximum number of joining coordinates determined according to the joining distance. The specific formula is as follows:
Figure BDA0001363946880000051
wherein,
Figure BDA0001363946880000052
representing the sum of distances between a plurality of coordinates in a list of coordinates may indicate the sum of distances between two adjacent coordinates, which may include any distance algorithm for measuring the length of two coordinates in space, e.g., may include euclidean distance, manhattan distance, chebyshev distance, and the like. In the present application, the Manhattan distance, coordinate (x), is preferably used1,y1) And the coordinate (x)2,y2) The Manhattan distance between them is d ═ x1-x2│+│y1-y2│。CountmaxIs a predetermined maximum number of joining coordinates determined according to the joining distance, which may indicate a maximum value of the number of coordinates that can be displayed on the screen, which is generally preset by the user according to the display performance and experience of the display device.
In step S240, if the distance between the current coordinate and the reference coordinate is greater than or equal to the joining distance, the current coordinate is determined as the joining coordinate forming the geo-fence. From the above analysis, it can be seen that the sum of distances is fixed, and thus it can be seen that the Count can be dynamically setmaxAnd controlling the number of the dynamically added coordinates.
Subsequently, at step S250, a geo-fence is generated using the determined joining coordinates.
Alternatively, it may be determined whether the next coordinate of the current coordinate is the joining coordinate forming the geo-fence in a clockwise or counterclockwise direction of the closed contour formed by the plurality of coordinates in the coordinate list, in such a manner that each of the plurality of coordinates is the joining coordinate forming the geo-fence. After the determining step is completed for each of the plurality of coordinates in the list of coordinates, the geo-fence can be generated using the determined joining coordinates.
As described above, the geofence generation method according to one or more embodiments of the present specification determines the joining coordinates forming the geofence by filtering the multiple coordinates in the coordinate list by the joining distance, so that the number of displayed coordinates can be reduced while the shape of the area can be preserved, and the display performance can be improved.
In addition, if it is determined in step S230 that the distance between the current coordinate and the reference coordinate is smaller than the joining distance, the current coordinate may be further processed, which will be described in detail below with reference to fig. 3.
Fig. 3 is a flow diagram illustrating a geofence generation method according to another embodiment of this specification. Since steps S210 to S230 are the same as steps S310 to S330, steps S310 to S330 will not be described in detail herein.
If it is determined at step S330 that the distance between the current coordinate and the reference coordinate is less than the joining distance, then at step S340, a filtering probability is calculated, the filtering probability being a measure for probabilistically determining whether the current coordinate is determined as the joining coordinate, the filtering probability being determined by a predetermined desired number of joining coordinates, an actual number of joining coordinates, and a number of a plurality of coordinates in the coordinate list, the formula of the filtering probability being as follows:
P=(CountE-CountMax)/CountAll
wherein, CountERepresents a predetermined desired number of added coordinates, i.e. a desired number of coordinates displayed on the screen, CountMaxA maximum value representing the actual number of joining coordinates joined according to the joining distance, i.e. the maximum value, Count, determined as the number of joining coordinates after the geo-fence generating method has been performed for each of the plurality of coordinates in the coordinate listEAnd CountMaxMay be predetermined by a user before executing the fence generating algorithm of one or more embodiments of the present specification, and optionally, the user may determine the Count in advance according to the display performance and experience of the display deviceEAnd CountMax,CountAllIndicating the number of the plurality of coordinates in the coordinate list.
Subsequently, in step S350, it is determined whether to add the current coordinate by filtering the probability. Specifically, a random number is distributed to the current coordinate by using a random number distribution algorithm, wherein the value range of the random number is between 0 and 1; and if the random number distributed to the current coordinate is smaller than the screening probability, judging the current coordinate as the adding coordinate. In implementation, the user may directly invoke the interface of the encapsulated random number assignment algorithm to assign a random number to the current coordinate.
If it is determined by the screening probability that the current coordinate is added in step S350, it is determined in step S360 that the current coordinate is the added coordinate for forming the geo-fence, otherwise, if it is determined by the screening probability that the current coordinate is not added in step S350, the current coordinate cannot be used as the added coordinate.
Subsequently, at S370, a geofence can be generated from the determined joining coordinates.
Assume that the number of joining coordinates determined by the joining distance is CountaThe number of the added coordinates determined by the screening probability is CountpAnd the number of added coordinates obtained after processing the plurality of coordinates is CountRThe expected value of the number of added coordinates is E (Count)R) Then E (Count)R)=Counta+Countp. From the above analysis, CountpIs a joining coordinate determined by judging coordinates other than the coordinates determined as the joining coordinates by being larger than the joining distance among the plurality of coordinates, so the Countp=P*(CountAll-Counta)。
The formula according to the screening probability can be obtained: countMax+P*CountAll=CountE
Thus, E (Count)R)=Counta+P*(CountAll-Counta)<CountMax+P*CountAll=CountE. As can be seen, E (Count)R)<CountEI.e. the desired value of the number of joining coordinates will be less than the predetermined desired number of joining coordinates. Furthermore, according to CountMaxDefinition of (1), CountMaxCan be expressed as a ratio of the sum of distances to the joining distance D, and from the above analysis, the average distance D between the joining coordinates in the resulting geofenceAvgRInevitably equal to or less than the addition distance D, so that Cou can be obtainedntRDistance and/DAvgR>Distance and/D ═ CountMax,I.e., CountR>CountMax. The above size derived according to the set filtering probability may help the user to set various parameters (e.g., Count) in advanceE、CountMax)。
As described above, the geo-fence generating method according to one or more embodiments of the present disclosure further screens coordinates that cannot be added by the joining distance by using the screening probability on the basis of screening the coordinates by using the joining distance, so that detailed information of the region can be enriched while maintaining the complete shape of the region. For example, for an area with a large difference in the east-west contour, that is, the west contour is smooth and the east contour is tortuous, if the coordinates are filtered only by the adding distance, the east contour may be excessively smooth, and in this case, if the coordinates are further filtered by the filtering probability, the coordinates for forming the east contour may be increased, so that the details of the east are enriched.
A method of determining coordinates according to one or more embodiments of the present specification will be described below in conjunction with the diagrams shown in fig. 4A through 4F.
Fig. 4A shows a closed contour formed by a plurality of coordinates in the coordinate list, and for convenience of description, the number of coordinates constituting the coordinate list is simplified in fig. 4A, and the number of coordinates in practical application will be much larger than that.
Next, referring to fig. 4B, the coordinate a is set as the start coordinate (the first coordinate in the coordinate list described above), there is no joining coordinate that is closest in time to the coordinate a, so there is no reference coordinate for the coordinate a, and therefore, the coordinate a can be determined as the joining coordinate, and then the coordinate B is determined.
As shown in fig. 4C, the reference coordinate of the coordinate B is the coordinate a, and the coordinate B may be determined according to the method described in fig. 2, specifically, whether the distance AB between the coordinate a and the coordinate B is greater than the adding distance is determined, and if the distance AB is greater than the adding distance, the coordinate B may be determined as the adding coordinate.
Next, as shown in fig. 4D, a coordinate C is determined, the reference coordinate of the coordinate C is a coordinate B, and if it is determined that the distance BC between the coordinate B and the coordinate C is smaller than the adding distance, the screening probability is calculated according to the method shown in fig. 3, and if it is determined that the coordinate is not added according to the screening probability, the coordinate D is determined.
As shown in fig. 4E, the reference coordinate of the coordinate D is the coordinate B, and if it is determined that the distance BD between the coordinate B and the coordinate D is greater than the joining distance, the coordinate D is determined as the joining coordinate.
In this order, the coordinates in the list of coordinates are sequentially determined to determine whether each coordinate is a joining coordinate forming a geofence, and then the geofence of fig. 4F is generated using the determined joining coordinates.
It should be noted that while fig. 4A-4F illustrate the determination as to each coordinate in the list of coordinates of the geofence-forming silhouette being made in a clockwise manner, in practical applications, the determination as to each coordinate in the list of coordinates of the geofence-forming silhouette may also be made in a counter-clockwise manner.
In order to more clearly understand the inventive concept of one or more embodiments of the present specification, a block diagram of a data processing apparatus according to one or more embodiments of the present specification will be described below with reference to fig. 5. Those of ordinary skill in the art will understand that: the geofence generation apparatus in fig. 5 shows only components relevant to the present exemplary embodiment, and general components other than those shown in fig. 5 are also included in the geofence generation apparatus 500.
Fig. 5 is a block diagram illustrating a geofence generation apparatus in accordance with one or more embodiments of the present specification. As shown in fig. 5, the geo-fence generating apparatus 500 includes a receiving unit 510, a determination reference coordinate unit 520, a distance judging unit 530, a first determining unit 540, and a generating unit 550.
The receiving unit 510 receives a plurality of coordinates in a coordinate list, wherein the plurality of coordinates includes a current coordinate.
The determine reference coordinates unit 520 determines reference coordinates of the current coordinates, wherein the reference coordinates are joining coordinates that are closest in time to the current coordinates.
The distance judgment unit 530 judges whether a distance between the current coordinate and the reference coordinate is equal to or greater than a joining distance, which is a measure for judging whether the current coordinate is determined as a joining coordinate over the distance.
Alternatively, the distance judgment unit 530 calculates the joining distance by the distance between the plurality of coordinates in the coordinate list and a predetermined maximum number from the joining coordinates.
The first determining unit 540 determines the current coordinate as the joining coordinate forming the geo-fence in response to the distance determining unit determining that the distance between the current coordinate and the reference coordinate is greater than or equal to the joining distance.
The generating unit 550 generates a geo-fence according to the determined joining coordinates.
Optionally, the geo-fence generating device 500 further includes a filtering probability calculating unit (not shown) and a second determining unit (not shown), wherein the filtering probability calculating unit calculates a filtering probability, which is a measure for probabilistically judging whether the current coordinate is determined as the joining coordinate; the second determining unit determines whether the current coordinate is the joining coordinate or not through the screening probability in response to the distance judging unit judging that the distance between the current coordinate and the reference coordinate is smaller than the joining distance.
Optionally, after the first determining unit determines that the current coordinate is the joining coordinate forming the geo-fence, it determines whether a next coordinate of the current coordinate is the joining coordinate forming the geo-fence according to a clockwise direction or a counterclockwise direction of a closed contour formed by a plurality of coordinates in the coordinate list.
Optionally, the apparatus further comprises: a third determination unit that determines the current coordinates as joining coordinates for forming the geofence in response to the reference coordinates unit determining that the reference coordinates do not exist.
Alternatively, the calculating the filtering probability unit calculates the filtering probability by adding a predetermined desired number of coordinates, an actual number of added coordinates, and a number of the plurality of coordinates in the coordinate list.
Optionally, the second determining unit allocates a random number to the current coordinate by using a random number allocation algorithm, wherein a value range of the random number is between 0 and 1; and if the random number distributed to the current coordinate is smaller than the screening probability, determining the current coordinate as the adding coordinate.
Optionally, the distance comprises a manhattan distance.
Therefore, it can be seen that the first determining unit, the second determining unit, and the third determining unit are all used to determine whether the current coordinate is the joining coordinate, and thus, the determined joining coordinate may be the joining coordinate determined by the first determining unit, the second determining unit, or the third determining unit.
As described above, the geo-fence generating device according to one or more embodiments of the present specification determines joining coordinates forming a geo-fence by filtering a plurality of coordinates in a coordinate list using a joining distance, thereby enabling a reduction in the number of coordinate displays of the geo-fence while preserving an area shape. Furthermore, the geo-fence generation algorithm according to one or more embodiments of the present disclosure further filters the coordinates that cannot be added by the joining distance by using the filtering probability on the basis of filtering the coordinates by using the joining distance, so that the detailed information of the region is enriched while the complete shape of the region is maintained.
Fig. 6 illustrates a block diagram of an electronic device performing a geofence generation method, in accordance with one or more embodiments of the present specification. Referring to fig. 6, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, but may also include hardware required for other services. The processor reads the corresponding computer program from the nonvolatile memory to the memory and then runs the computer program to form the webpage screenshot device on the logic level. Of course, besides the software implementation, the present application does not exclude other implementations, such as logic devices or a combination of software and hardware, and the like, that is, the execution subject of the following processing flow is not limited to each logic unit, and may also be hardware or logic devices.
One or more embodiments of the present specification also provide a computer-readable storage medium storing one or more programs, the one or more programs including instructions, which when executed by an electronic device including a plurality of application programs, enable the electronic device to perform the method of the embodiment shown in fig. 2.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Language Description Language), traffic, pl (core unified Programming Language), HDCal, JHDL (Java Hardware Description Language), langue, Lola, HDL, laspam, hardsradware (Hardware Description Language), vhjhd (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (19)

1. A geo-fencing generation method comprising:
receiving a plurality of coordinates in a coordinate list, wherein the plurality of coordinates includes a current coordinate, the coordinate list may include coordinates of geofences that have formed a particular area, and the current coordinate includes coordinates that belong to the coordinate list and are determining whether to join a geofence;
determining a reference coordinate of the current coordinate, wherein the reference coordinate is an added coordinate which is closest to the current coordinate in time;
judging whether the distance between the current coordinate and the reference coordinate is greater than or equal to a joining distance, wherein the joining distance is a measure for judging whether the current coordinate is determined as a joining coordinate in distance;
if the current coordinate is greater than or equal to the joining distance, determining the current coordinate as a joining coordinate for forming the geo-fence;
generating a geofence using the determined joining coordinates.
2. The method of claim 1, further comprising:
calculating a screening probability, wherein the screening probability is a measure for judging whether the current coordinate is determined to be added into the coordinate in terms of probability;
and if the distance between the current coordinate and the reference coordinate is smaller than the adding distance, determining whether the current coordinate is the adding coordinate or not through the screening probability.
3. The method of claim 2, calculating a screening probability comprising: the filtering probability is calculated by adding a predetermined desired number of coordinates, adding an actual number of coordinates, and the number of the plurality of coordinates in the coordinate list.
4. The method of claim 2, determining whether to add current coordinates by screening probabilities comprises:
distributing a random number to the current coordinate by using a random number distribution algorithm, wherein the value range of the random number is between 0 and 1;
and if the random number distributed to the current coordinate is smaller than the screening probability, determining the current coordinate as the adding coordinate.
5. The method of claim 1 or 2, after determining the current coordinates as joining coordinates to form a geofence, further comprising:
determining whether a next coordinate of the current coordinate is a joining coordinate forming the geofence according to a clockwise or counterclockwise direction of a closed outline formed by the plurality of coordinates in the list of coordinates.
6. The method of claim 1, wherein the reference coordinate is a joining coordinate that is closest in time to the current coordinate.
7. The method of claim 4, determining the current coordinate as a joining coordinate to form the geofence if it is determined that the current coordinate does not have the reference coordinate.
8. The method of claim 1, wherein determining whether the distance between the current coordinate and the reference coordinate is greater than or equal to the joining distance comprises: the joining distance is calculated by the distance between the plurality of coordinates in the coordinate list and a predetermined maximum number from the joining coordinates.
9. The method of claim 8, the distance comprising a manhattan distance.
10. A geo-fencing generation apparatus comprising:
a receiving unit, configured to receive a plurality of coordinates in a coordinate list, where the plurality of coordinates include a current coordinate, the coordinate list may include coordinates of a geofence in which a specific area has been formed, and the current coordinate includes a coordinate that belongs to the coordinate list and is determining whether to join the geofence;
a reference coordinate determining unit which determines a reference coordinate of the current coordinate, wherein the reference coordinate is an added coordinate which is closest to the current coordinate in time;
the distance judging unit is used for judging whether the distance between the current coordinate and the reference coordinate is greater than or equal to a joining distance, wherein the joining distance is a measure for judging whether the current coordinate is determined as a joining coordinate in distance;
the first determining unit is used for responding to the fact that the distance between the current coordinate and the reference coordinate is larger than or equal to the adding distance judged by the distance judging unit, and determining the current coordinate as the adding coordinate for forming the geo-fence;
and the generating unit is used for generating the geo-fence by utilizing the determined joining coordinates.
11. The apparatus of claim 10, further comprising:
a unit for calculating a screening probability, which is a measure for probabilistically judging whether the current coordinate is determined as the added coordinate;
and the second determining unit is used for responding to the judgment that the distance between the current coordinate and the reference coordinate is smaller than the adding distance by the distance judging unit and determining whether the current coordinate is the adding coordinate or not through the screening probability.
12. The apparatus of claim 10, wherein after the first determining unit determines that the current coordinate is the joining coordinate forming the geo-fence, it determines whether a next coordinate of the current coordinate is the joining coordinate forming the geo-fence according to a clockwise direction or a counterclockwise direction of a closed contour formed by the plurality of coordinates in the coordinate list.
13. The apparatus of claim 10, the reference coordinate being a joining coordinate closest in time to the current coordinate.
14. The apparatus of claim 10, further comprising: a third determination unit that determines the current coordinates as joining coordinates for forming the geofence in response to the reference coordinates unit determining that the reference coordinates do not exist.
15. The apparatus of claim 10, wherein the distance judging unit calculates the joining distance by a distance between the plurality of coordinates in the coordinate list and a predetermined maximum number from the joining coordinates.
16. The apparatus of claim 11, wherein the means for calculating the filtering probability calculates the filtering probability by adding a predetermined desired number of coordinates, adding an actual number of coordinates, and a number of the plurality of coordinates in the coordinate list.
17. The apparatus according to claim 11, wherein the second determining unit assigns a random number to the current coordinate using a random number assignment algorithm, wherein a value of the random number ranges from 0 to 1; and if the random number distributed to the current coordinate is smaller than the screening probability, determining the current coordinate as the adding coordinate.
18. The apparatus of any of claims 10 to 17, the distance comprising a manhattan distance.
19. A geo-fencing apparatus comprising:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to:
receiving a plurality of coordinates in a coordinate list, wherein the plurality of coordinates comprise a current coordinate;
determining a reference coordinate of the current coordinate;
judging whether the distance between the current coordinate and the reference coordinate is greater than or equal to a joining distance, wherein the joining distance is a measure for judging whether the current coordinate is determined as a joining coordinate in distance;
if the current coordinate is greater than or equal to the joining distance, determining the current coordinate as a joining coordinate for forming the geo-fence;
generating a geofence using the determined joining coordinates.
CN201710631406.3A 2017-07-28 2017-07-28 Geography fence generation method and its equipment Active CN107623897B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710631406.3A CN107623897B (en) 2017-07-28 2017-07-28 Geography fence generation method and its equipment
TW107116560A TWI674014B (en) 2017-07-28 2018-05-16 Geofence generation method and device thereof
PCT/CN2018/097275 WO2019020082A1 (en) 2017-07-28 2018-07-26 Geo-fence generating method and device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710631406.3A CN107623897B (en) 2017-07-28 2017-07-28 Geography fence generation method and its equipment

Publications (2)

Publication Number Publication Date
CN107623897A CN107623897A (en) 2018-01-23
CN107623897B true CN107623897B (en) 2019-10-15

Family

ID=61088241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710631406.3A Active CN107623897B (en) 2017-07-28 2017-07-28 Geography fence generation method and its equipment

Country Status (3)

Country Link
CN (1) CN107623897B (en)
TW (1) TWI674014B (en)
WO (1) WO2019020082A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623897B (en) * 2017-07-28 2019-10-15 阿里巴巴集团控股有限公司 Geography fence generation method and its equipment
CN108322890B (en) * 2018-05-15 2021-01-08 北京万兔思睿科技有限公司 Electronic fence range generation method and device
CN110324785B (en) * 2019-07-02 2021-03-16 北京百度网讯科技有限公司 Information recommendation method, device, equipment and computer readable storage medium
CN116668951B (en) * 2022-10-26 2024-04-23 荣耀终端有限公司 Method for generating geofence, electronic equipment and storage medium

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314798B (en) * 2010-07-01 2013-07-17 北京四维图新科技股份有限公司 Method and device for automatically simplifying shape points of polygonal surface elements of electronic map
CN102073981B (en) * 2011-02-23 2012-11-14 中国测绘科学研究院 Point group geographic entity selection method under the restriction of correlated elements
US20130212065A1 (en) * 2012-02-15 2013-08-15 Flybits, Inc. Zone Oriented Applications, Systems and Methods
US20140258201A1 (en) * 2013-03-05 2014-09-11 Qualcomm Incorporated Generating a geofence via an analysis of a gps fix utilization distribution
US9874452B2 (en) * 2013-03-14 2018-01-23 Ford Global Technologies, Llc Method and apparatus for enhanced driving experience including dynamic POI identification
CN103533501B (en) * 2013-10-15 2018-12-18 厦门雅迅网络股份有限公司 A kind of geography fence generation method
CN105718465B (en) * 2014-12-02 2019-04-09 阿里巴巴集团控股有限公司 Geography fence generation method and device
CN106162544B (en) * 2015-04-21 2019-09-03 阿里巴巴集团控股有限公司 A kind of generation method and equipment of geography fence
TWI616766B (en) * 2015-11-27 2018-03-01 Chunghwa Telecom Co Ltd Geographic fence automatic correction method
CN106840139B (en) * 2016-12-29 2020-06-02 南昌黑鲨科技有限公司 Electronic fence acquisition method and device and terminal
CN107623897B (en) * 2017-07-28 2019-10-15 阿里巴巴集团控股有限公司 Geography fence generation method and its equipment

Also Published As

Publication number Publication date
TW201911889A (en) 2019-03-16
TWI674014B (en) 2019-10-01
WO2019020082A1 (en) 2019-01-31
CN107623897A (en) 2018-01-23

Similar Documents

Publication Publication Date Title
CN107623897B (en) Geography fence generation method and its equipment
JP6692561B2 (en) Blockchain consensus method and device
JP6793838B2 (en) Blockchain-based data processing methods and equipment
US10545794B2 (en) Blockchain-based data processing method and equipment
TWI742332B (en) Information push method, device and equipment
CN110806847A (en) Distributed multi-screen display method, device, equipment and system
CN108540524A (en) A kind of method, equipment and readable medium for establishing social networks
CN107784090B (en) File sharing method and device and computer readable medium
US20200232855A1 (en) Method, Apparatus, Touch Chip and Electronic Device for Determining Temperature Status of Touch Screen
CN108280135B (en) Method and device for realizing visualization of data structure and electronic equipment
WO2023179182A1 (en) Device split screen adaptation processing
CN116719591A (en) Stock right map display method and device, storage system and electronic equipment
CN108769152B (en) Service refresh policy registration method, service refresh request method, device and equipment
CN107392408B (en) Credit score prompt information output method and device
CN117173321B (en) Method and device for selecting three-dimensional reconstruction texture view
CN117152040B (en) Point cloud fusion method and device based on depth map
CN111382037B (en) Application performance management information display method and device, equipment and storage medium
CN117972436B (en) Training method and training device for large language model, storage medium and electronic equipment
CN109615234B (en) Resource change condition determining method and device
CN117041980B (en) Network element management method and device, storage medium and electronic equipment
US20240195878A1 (en) Application migration method and apparatus, electronic device, and storage medium
CN116700869A (en) Page processing method and device of internet traffic (IoT) device
CN117172316A (en) Method for executing task based on knowledge graph obtained by entity alignment
CN116382537A (en) Method and device for confirming relationship between click position and traffic card area
CN116310033A (en) Rendering method and device, readable storage medium and electronic equipment

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1248957

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.