System and method for grid-based geo-fencing service

Disclosed are a system and method for a grid-based geo-fencing service. A grid-based geo-fencing service system includes a storage unit configured to store area information including one or more grids and a determination unit configured to receive location coordinates of a moving object and determine whether the moving object is present in an area with reference to the area information. According to embodiments of the present disclosure, it is possible to effectively reduce the amount of calculation needed by a geo-fencing service system to determine whether location-tracking data corresponds to a specified area and thus effectively respond to the processing of a large amount of location-tracking data collected in real time.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to and the benefit of Korean Patent Application No. 10-2015-0090396, filed on Jun. 25, 2015, the disclosure of which is incorporated herein by reference in its entirety.

BACKGROUND

Embodiments of the present disclosure relate to a location-tracking technology for a moving object, such as a vessel, an aircraft, etc.

2. Discussion of Related Art

With the advancement of a location-tracking technology, various application fields based on the location-tracking technology are also increasing in number, and also their accuracy is being enhanced. Geo-fencing is one of the application fields of such a location-tracking technology. “Geo-fencing” is a compound word of the words “geographic” and “fencing.” Geo-fencing is a service that informs of the current situation when a user enters or exits a specified area. For example, a geo-fencing service system specifies an area surrounded by a virtual barrier, which is called a geo-fence, and informs that the user enters or exits the specified area.

A conventional geo-fencing service system forms an area in the shape of a polygon (or a circle). However, in this case, there is a problem in that a significant amount of calculation is required to determine whether location-tracking data collected in real-time corresponds to the polygonal area.

SUMMARY

Embodiments of the present disclosure provide technical means for reducing the amount of calculation needed by a geo-fencing service system to determine whether location-tracking data corresponds to a specified area.

According to an aspect of the present disclosure, there is provided a grid-based geo-fencing service system including: a storage unit configured to store area information including one or more grids; and a determination unit configured to receive location coordinates of a moving object and determine whether the moving object is present in an area with reference to the area information.

Each of the grids may include a set of points with the same effective coordinates obtained by rounding down coordinates in the area to a predetermined effective decimal place.

The area information may include reference locations of the one or more grids and information on the effective decimal place.

The reference positions may be determined according to the effective coordinates of points included in each of the one or more grids.

The determination unit may round down the location coordinates of the moving object to the effective decimal place to generate query coordinates and may determine that the moving object is present in the area when the query coordinates are the same as some of the reference coordinates of the one or more grids.

The grid-based geo-fencing service system may further include a conversion unit configured to convert a polygonal area into the one or more grids.

The conversion unit may select one or more grids with reference to the sizes of the grids which are calculated using the effective decimal place and coordinates in the polygonal area such that the entire polygonal area is covered.

According to another aspect of the present disclosure, there is provided a geo-fencing service method in a grid-based geo-fencing service system, the geo-fencing service method including: receiving location coordinates of a moving object; and determining whether the moving object is present in an area with reference to area information including one or more grids.

Each of the grids may include a set of points with the same effective coordinates obtained by rounding down coordinates in the area to a predetermined effective decimal place.

The area information may include reference locations of the one or more grids and information on the effective decimal place.

The reference positions may be determined according to the effective coordinates of points included in each of the one or more grids.

The determining may include rounding down the location coordinates of the moving object to the effective decimal place to generate query coordinates and determining that the moving object is present in the area when the query coordinates are the same as some of the reference coordinates of the one or more grids.

The geo-fencing service method may further include, before receiving the location coordinates, converting a polygonal area into the one or more grids.

The converting may include selecting one or more grids with reference to the sizes of the grids which are calculated using the effective decimal place and coordinates in the polygonal area such that the entire polygonal area is covered.

According to still another aspect of the present disclosure, there is provided a computer program stored in a recording medium that is combined with hardware and configured to execute a method, the method including: receiving location coordinates of a moving object; and determining whether the moving object is present in an area with reference to area information including one or more grids.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. The following detailed description will be provided for better understanding a method, an apparatus, and/or a system disclosed in this specification. However, the embodiments are only exemplary, and the present disclosure is not limited thereto.

In describing embodiments of the present disclosure, when it is determined that a detailed description of known techniques associated with the present disclosure would unnecessarily obscure the gist of the present disclosure, the detailed description thereof will be omitted. Also, terms used herein are defined in consideration of the functions of the present disclosure and may be changed depending on a user, the intent of an operator, or a custom. Accordingly, the terms must be defined based on the following overall description of this specification. The terminology used herein is for the purpose of only describing embodiments of the present disclosure and should not be restrictive. The singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

FIG. 1is a block diagram for describing a geo-fencing service system100according to an embodiment of the present disclosure. The geo-fencing service system100according to an embodiment of the present disclosure may denote a computer device for receiving a query including location coordinates of a moving object, determining whether the received location coordinates are in a specified area, and sending the determination back. As shown inFIG. 1, the geo-fencing service system100according to an embodiment of the present disclosure includes a storage unit102and a determination unit104and may further include a conversion unit106if necessary.

The storage unit102stores and manages on one or more area information. According to an embodiment of the preset disclosure, each of the area information includes one or more grids.FIG. 2is an exemplary diagram for describing an area including one or more grids according to an embodiment of the present disclosure. The exemplary diagram ofFIG. 2shows an example in which a predetermined area adjacent to a sea on a map includes9grids. As shown, each grid included in the area has the same size and does not overlap the other grids.

FIG. 3enlarges a grid200among the grids shown in the exemplary diagram ofFIG. 2. According to an embodiment of the present disclosure, each grid included in the area may include a set of points with the same effective coordinates obtained by rounding down coordinates in the area to a predetermined effective decimal place. For example, assuming that the location coordinates are determined as latitude and longitude coordinates and the effective decimal place of the location coordinates is the third decimal place (that is, decimal places after the third decimal place are not effective), an effective latitude coordinate of latitude coordinates from 127.7480 to 127.7489 is 127.748, and an effective longitude of longitude coordinates from 32.3210 to 32.3219 is 32.321. In other words, the latitudes coordinates from 127.7480 to 127.7489 and the longitude coordinates from 32.3210 to 32.3219 constitute one grid.

In this case, the size of each grid included in an area is determined according to an effective decimal place of location coordinates. When, as described above, the effective decimal place of the location coordinates is the third decimal place, the grid is in the shape of a square with the size of 0.001×0.001.

The enlarged view ofFIG. 3illustrates only two-dimensional (2D) grids, but embodiments of the preset disclosure are not limited thereto. In some embodiments, the area may be a three-dimensional (3D) space rather than a 2D plane. For example, the area is represented by three coordinates including latitude, longitude, and altitude. A plurality of grids (i.e., 3D grids) may be formed by dividing the area into a plurality of rectangular parallelepipeds. In the following description, embodiments of the present disclosure will be mainly described on the basis of 2D areas and grids. It should be understood, however, that the embodiments may also be applied to 3D areas and grids without changing the technical spirit of the present disclosure.

In an embodiment, area information stored in the storage unit102may include a reference location and size information of each of one or more grids included in the area. In this case, the reference location may be determined according to effective coordinates of points included in each of the one or more grids. For example, for the grid200shown inFIG. 3, the effective coordinates are (32.321, 127.748).

In an embodiment of the present disclosure, the sizes of the grids may be set differently for each area. For example, the sizes of the grids may be decreased by increasing the range of the effective decimal place when a relatively high level of accuracy is required, and the sizes of the grids may be increased by decreasing the range of the effective decimal place when only a relatively low level of accuracy is needed.FIG. 4illustrates this. It can be seen that an area represented by reference numeral400has a smaller grid than an area indicated by reference numeral402.

Next, the determination unit104receives location coordinates of a moving object and determines whether the moving object is present in an area with reference to the area information. In an embodiment of the present disclosure, the moving object may include a pedestrian, an animal, etc. which moves while carrying a location-tracking device such as a smartphone or a wearable device including a GPS as well as any type of manned or unmanned moving means generally used to transport passengers or cargo including a vehicle, a vessel, an aircraft, a helicopter, a drone, etc.

In detail, the determination unit104may round down the location coordinates of the moving object to the effective decimal place to generate query coordinates and may determine that the moving object is present in the area when the query coordinates are the same as some of the reference coordinates of the one or more grids.

For example, assuming that location coordinates received from a specific moving object are (32.3217, 127.7483), the query coordinates generated from the location coordinates are (32.321, 127.748) when the effective decimal place is the third decimal place as described above. That is, since the location coordinates are the same as the reference coordinates of the grid200shown inFIG. 3, the determination unit104may determine that the location coordinates are inside the grid200.

A conventional geo-fencing system has an area shaped as a polygon, and stores vertex information of the polygon as index information. In this case, when a query about whether there are specific coordinates in the polygon is received, a calculation using a complicated function is needed for a relationship between the coordinates and the polygon. On the other hand, the geo-fencing service system100according to embodiments of the present disclosure is configured to convert the area into a plurality of grids and store reference coordinate information of each grid as index information. Accordingly, according to embodiments of the present disclosure, only by comparing the received coordinates with prestored reference coordinates without the complicated polygonal function calculation, to which area the coordinates belong may be obtained. Thus, it is possible to significantly reduce the amount of calculation compared to the conventional method.

The geo-fencing service system100according to an embodiment of the present disclosure may further include a conversion unit106configured to convert the polygonal area into the one or more grids. In an embodiment, the conversion unit106may convert a polygonal area into one or more grids by selecting one or more grids with reference to the sizes of the grids which are calculated using the effective decimal place and coordinates in the polygonal area such that the entire polygonal area is covered.

FIGS. 5 and 6are exemplary diagrams for describing an example in which a polygonal area is converted into grids in a geo-fencing service system100according to an embodiment of the present disclosure. For example, when there is a pentagonal area including points A, B, C, D, and E, as shown inFIG. 5, the conversion unit106converts the area into a set of grids with a predetermined size such that the entire pentagonal area is covered, as shown inFIG. 6.

In an embodiment, the storage unit102, the determination unit104, and the conversion unit106may be implemented on a computing device including at least one processor and a computer-readable recording medium connected with the processor. The computer-readable recording medium may be disposed inside or outside the processor and may be connected with the processor using various well-known means. The processor in the computing device may enable the computing device to operate according to an exemplary embodiment described in this specification. For example, the processor may execute an instruction stored in the computer-readable recording medium, and the instruction stored in the computer-readable recording medium may be configured to enable the computing device to perform operations according to an exemplary embodiment described in this specification when the instruction is executed by the processor.

FIG. 7is a flowchart for describing a geo-fencing service method700according to an embodiment of the present disclosure. The method shown inFIG. 7may be performed by, for example, the geo-fencing service system100. Although, in the shown flowchart, the method will be described to have a plurality of steps, at least some of the steps may be performed in different order, performed in combination, omitted, performed in sub-steps, or performed in addition to one or more steps that are not shown.

In S702, the determination unit104of the geo-fencing service system100receives location coordinates of a moving object.

In S704, the determination unit104determines whether the location of the moving object corresponds to any one of one or more grids included in the area with reference to area information stored in the storage unit102.

As described above, the grid may include a set of points with the same effective coordinates obtained by rounding down coordinates in the area to a predetermined effective decimal place. In addition, the area information may include reference locations of the one or more grids and information on the effective decimal place.

Thus, the determination unit104may round down the location coordinates of the moving object to the effective decimal place to generate query coordinates and may determine that the moving object is present in the area when the query coordinates are the same as some of the reference coordinates of the one or more grids.

In S706, the determination unit104sends back a result of the determination performed in S704.

According to embodiments of the present disclosure, it is possible to effectively reduce the amount of calculation needed by a geo-fencing service system to determine whether location-tracking data corresponds to a specified area and thus effectively respond to the processing of a large amount of location-tracking data collected in real time.

Embodiments of the present disclosure may include a program for performing methods described in this specification on a computer and a computer-readable recording medium including the program. The computer-readable recording medium may include a program instruction, a local data file, a local data structure, or a combination thereof. The medium may be designed and configured specifically for the present disclosure or can be typically available in the field of computer software. Examples of the computer-readable recording medium include a magnetic medium, such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium, such as a CD-ROM, a DVD, etc., and a hardware device specially configured to store and perform a program instruction, such as a ROM, a RAM, a flash memory, etc. Examples of the program include a high-level language code executable by a computer with an interpreter, in addition to a machine language code made by a compiler.

Although exemplary embodiments of the present disclosure have been described in detail, it will be understood by those skilled in the art that various changes may be made without departing from the spirit or scope of the present disclosure. Thus, the scope of the present disclosure is to be determined by the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.