Positional information processing system, and client device and server device related to same

The integration of a hexagonal grid system with a single-level index system in the location information processing system addresses the computational complexity of the H3 system by using diagonal coordinates and central grid indexing, enhancing efficiency and reducing calculation burdens.

WO2025023233A1PCT designated stage expired Publication Date: 2025-01-30GENERAL INC ASSOCIATION HOKKAIDO REGIONAL RESEARCH
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/026265
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-26
Filing Date
2024-07-23
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

The existing H3 system, which combines a hexagonal grid system and a multi-level index system, faces significant computational load and complexity in processing location information, especially when handling 3D data like drone flight positions, due to the need for multiple level processing and grid rotations, leading to increased calculation burdens.

Method used

A location information processing system that employs a hexagonal grid system in conjunction with a single-level index system, eliminating the need for multi-level index processing and grid rotation, thereby simplifying calculations by using diagonal coordinates and indexing based on central grid coordinates.

Benefits of technology

This approach reduces the computational load and simplifies the processing of location information, making it more efficient and less resource-intensive compared to the traditional multi-level index system, while maintaining accurate identification of grid positions without the complexity of multiple level processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024026265_30012025_PF_FP_ABST
    Figure JP2024026265_30012025_PF_FP_ABST
Patent Text Reader

Abstract

[Problem] To provide: a positional information processing system that offers flexibility in aperture size and avoids complicated calculation; and a client device and a server device that are ancillary to said positional information processing system. [Solution] This positional information processing system has combined therein a hexagonal grid system and a single-level index system, and comprises: a client device 100 that transmits index values (A*, B*) allocated to a hexagonal grid corresponding to oblique coordinate values (a, b) representing the positional information of the host device, on the basis of oblique coordinate values (A, B) of said hexagonal grid; and a server device 200 that identifies, on the basis of the index values transmitted from the client device 100, coordinate values of a grid to which the client device 100 belongs and which corresponds to the index values.
Need to check novelty before this filing date? Find Prior Art

Description

Location information processing system, client device and server device related thereto

[0001] The present invention relates to a location information processing system, a client device and a server device associated therewith, and more particularly to a location information processing system that combines a hexagonal grid system and a single-level index system, and a client device and a server device associated therewith.

[0002] Uber Technologies, Inc. (hereinafter referred to as "Uber") is a company that provides various services such as ride-sharing, food delivery, and home delivery in the United States and many other countries and regions. For example, in order to provide better ride-sharing services to passengers, Uber optimally allocates a vehicle, taking into consideration costs, when a passenger requests a ride (Non-Patent Document 1).

[0003] This type of dispatching can be realized by processing the location information of client devices using a system developed by Uber called "H3" (hereinafter referred to as the "H3 system"), which combines a hexagonal grid system and a multi-level index system. The client devices here refer to devices with communication capabilities, such as car navigation systems installed in passenger vehicles under contract with Uber, and smartphones carried by drivers.

[0004] The H3 system has already been made open source, and the following explanations are given regarding technical matters such as (1) grids, (2) hierarchies or levels, and (3) indexes and indexing.

[0005] <Grid> Figure 5 is a diagram that shows a schematic diagram of large, medium, and small regular hexagonal grids ("grids" are also called "cells" by those skilled in the art, but will be referred to as "grids" in this specification) in the H3 system superimposed on map data of the entire Earth, and is an excerpt from Figure 1 in Non-Patent Document 1.

[0006] Strictly speaking, a sphere such as the Earth cannot be neatly covered with a regular hexagonal grid alone, so the grid in the H3 system also includes regular pentagonal grids, as shown in Figure 5. However, if the hexagonal grid is overlaid so that it is located in the area monitored by the H3 system, it is possible to process the location information of client devices in that area, so the inclusion of a regular pentagonal grid does not affect this processing.

[0007] <Hierarchy (Levels)> Figures 6(a) to 6(c) are schematic diagrams in which the regular hexagonal grids of various sizes shown in Figure 5 are broken down into levels according to their size, and correspond to Figure 8 in Non-Patent Document 1. Note that Figure 6(a) corresponds to the right-hand diagram of Figure 8 in Non-Patent Document 1, Figure 6(b) corresponds to the center diagram of Figure 8 in Non-Patent Document 1, and Figure 6(c) corresponds to the left-hand diagram of Figure 8 in Non-Patent Document 1. In this way, the H3 system employs multi-level grids when processing location information of client devices.

[0008] Furthermore, for example, the plurality of large grids 30 to 36 includes one large central grid 30 and six large peripheral grids 31 to 36, and this configuration is similar for grids of other sizes.

[0009] 6(a) to 6(c) show three types of grid sizes, large, medium, and small, but these are merely examples and the number of types may be two, four, or more. It should also be noted that the terms large, medium, and small are used in this specification in relative terms.

[0010] The rotation angle θ between the coordinate system of the small grids 10 to 16 and the coordinate system of the medium grids 20 to 26 is cos -1 (√3 / 2√7), and the rotation angle θ between the coordinate system of the medium-sized grids 20 to 26 and the coordinate system of the large-sized grids 30 to 36 is also cos -1 (√3 / 2√7)).

[0011] The circle (●) plots 17, 27, and 37 shown in Figures 6(a) to 6(c) are intended to illustrate the locations of client devices. In this example, the client device belongs to a large peripheral grid 31, a medium peripheral grid 26 within the large peripheral grid 31, and a small central grid 10 within the medium peripheral grid 26.

[0012] The location information of a client device may be fixed, such as when the device is stationary, or may be dynamic, such as when the device is moving. Therefore, the location information of a client device is subject to change from moment to moment, but for ease of understanding, the following explanation will be based on the assumption that the location information is, in principle, fixed.

[0013] FIG. 6( a ) shows small grids 10 to 16 including a small central grid 10 and small peripheral grids 11 to 16 arranged adjacent to the small central grid 10 , and a medium-sized grid 26 including these small grids 10 to 16 .

[0014] The length of one side of each of the small grids 10 to 16 (hereinafter, the term "length of one side" will be referred to as "resolution" as used by those skilled in the art) is, for example, 1 meter. The medium grid 26 is a regular hexagon with a vertex at a predetermined corresponding corner of the small surrounding grids 11 to 16.

[0015] As shown in FIG. 6A, the medium-sized grid 26 does not neatly fit all of the small grids 10 to 16, but it does include almost all of the small grids 10 to 16, and the areas of the small grids 10 to 16 and the medium-sized grid 26 are the same.

[0016] FIG. 6(b) shows medium-sized grids 20 to 26 including a medium-sized central grid 20 and medium-sized peripheral grids 21 to 26 arranged adjacent to the central grid 20, and a large grid 31 including the medium-sized grids 20 to 26.

[0017] The resolution of each of the medium-sized grids 20 to 26 is, for example, √7 m. The large-sized grid 31 is a regular hexagon with a vertex at a predetermined corresponding corner of the surrounding medium-sized grids 21 to 26.

[0018] As shown in FIG. 6B, the large grid 31 does not neatly fit all of the medium grids 20 to 26, but it does include almost all of the medium grids 20 to 26, and the areas of the medium grids 20 to 26 and the large grid 31 are the same.

[0019] Figure 6(c), like Figure 6(b), shows large grids 30-36 including a large central grid 30 and large peripheral grids 31-36 arranged adjacent to the large central grid 30, and an extra-large grid 40 including these large grids 30-36.

[0020] The resolution of each of the large grids 30 to 36 is, for example, 7 m. The extra-large grid 40 is a regular hexagon with a vertex at a predetermined corresponding corner of the surrounding large grids 31 to 36.

[0021] As shown in FIG. 6C, although not all of the large grids 30 to 36 are neatly contained within the extra-large grid 40, almost all of the large grids 30 to 36 are included, and the areas of the large grids 30 to 36 and the extra-large grid 40 are the same.

[0022] Here, three large grids 31, 30, and 34 are arranged in the upper right and lower left direction of FIG. 6C, and three large grids 36, 31, and 32, for example, are arranged in the upper left and lower right direction of FIG. 6C.

[0023] In Figure 6(c), it is easy to understand by considering imaginary lines extending radially from the center of the large central grid 30 to the large peripheral grids 31 to 36. Since the resolution of each of the large grids 30 to 36 is, for example, 7 m, it can be seen that the circular area that can be reliably monitored by the large grids 30 to 36 is a circular area with a radius of, for example, 14 m or less.

[0024] In addition, when the grid resolution at the first level shown in Fig. 6(a) is 1 m, the grid resolution at the second level shown in Fig. 6(b) is √7 m, and the grid resolution at the third level shown in Fig. 6(c) is 7 m. In this way, the grid resolution increases by √7 times with each increase in the number of levels, so the resolution at the nth level is √7 m.(n-1) It becomes m.

[0025] Fig. 7 is a diagram showing the relationship between the grid levels in Fig. 6 and map data for the state of California in the U.S. As shown in Fig. 7, the length of the shortest major road route connecting the centers of San Francisco and San Jose is approximately 48.4 miles (≈78 km).

[0026] In order to reliably monitor the location information of client devices in an area including these two cities, a circular area such as that shown in FIG. 7 must be secured. (n-1) It is necessary to prepare a grid with a level that satisfies "m>50 km", that is, to prepare a grid up to the 15th level.

[0027] <Index and Indexing> In the H3 system, an index refers to a unique identification number assigned to each grid that exists at each level, and indexing refers to assigning a unique identification number to each grid.

[0028] As mentioned above, in the H3 system, which uses multi-level indexing, if a specific grid on the first level is assigned an index value of "001", it is expected that a specific grid on the second level will also be assigned an index value of "001" that is the same as this.

[0029] Uber has not disclosed the full details of the index and indexing processes in the H3 system. However, based on the technical details disclosed by Uber in Non-Patent Document 1 and elsewhere, it is assumed that the H3 system performs the following processes regarding indexes and indexing:

[0030] First, we will explain oblique coordinates related to indexes and indexing. A client device can obtain location information indicating its own latitude and longitude using a Global Positioning System (GPS) function or the like. It is convenient to process location information indicating latitude and longitude in a Cartesian coordinate system, and this is usually the case.

[0031] However, in the case of the H3 system, since a hexagonal grid system is used, it is often easier to process the position information in an oblique coordinate system with oblique axes that form 120° angles with each other, which corresponds to the hexagonal shape of the grid, rather than processing it directly in a Cartesian coordinate system.

[0032] Figure 8 is an illustration of an oblique coordinate system for a multi-level hexagonal grid according to the H3 system, in which the large grids 30-36 are rotated -30 degrees from the state shown in Figure 6(c) for ease of explanation and understanding.

[0033] In FIG. 8, the origin (0,0) is set at the center coordinate of the large central grid 30, the number line extending from the origin to the right side of the drawing is the i-axis, and the number line extending from the origin in a direction at an angle of +120° to the i-axis is the j-axis.

[0034] Here, when scaling is performed so that one division on the i-axis and j-axis corresponds to the grid resolution, the central coordinate values ​​(A, B) of each of the large peripheral grids 31 to 36 can be expressed as (2, 1) for large peripheral grid 31, (1, -1) for large peripheral grid 32, (-1, -2) for large peripheral grid 33, (-2, -1) for large peripheral grid 34, (-1, 1) for large peripheral grid 35, and (1, 2) for large peripheral grid 36.

[0035] It is expected that a person skilled in the art would consider that when indexing each of the large grids 30 to 36, it would be convenient to use binary values ​​for the index, taking into account the processing in the client device and server device, which are computers, and that it would be convenient to use 3-bit values ​​that can express mutually distinguishable values ​​without any excess or deficiency, given that the number of grids in the large grids 30 to 36 is seven.

[0036] In this case, it is conceivable that a person skilled in the art would consider, for example, focusing on the ones digit of the codes of the large grids 30 to 36, and consider indexing using a 3-bit binary number, such as indexing the large central grid 30 as "000," the large peripheral grid 31 as "001," the large peripheral grid 32 as "010," ... and the large peripheral grid 36 as "110."

[0037] Then, if the correspondence between the center coordinate values ​​(A, B) of each grid and the corresponding index values ​​("000" to "010") is stored in a table memory or the like provided in the client device and the server device, for example, when the client device determines that its own device belongs to the large surrounding grid 31, it can identify that the corresponding index value is "001" by referring to the table memory or the like based on the center coordinate value (A, B) (2, 1) of the large surrounding grid 31. If the client device transmits the index value "001" to the server device, the server device can identify that the grid in question is the large surrounding grid 31 by referring to the table memory based on the received index value "001."

[0038] The explanation using Figure 8 also applies to the medium-sized grids 20 to 26 and the small grids 10 to 16, so the client device can specify index values ​​that become increasingly finer in the order of large grids 30 to 36, medium grids 20 to 26, and small grids 10 to 16.

[0039] In fact, if a client device determines that the grids to which it belongs are the large peripheral grid 31, the medium peripheral grid 26, and the small central grid 10, as illustrated in Figure 6, and identifies the individual index values ​​as "001," "110," and "000," then by sending the concatenated overall index value of "001110000" to the server device, the server device can identify that the large, medium, and small grids to which the client device belongs are the large peripheral grid 31, the medium peripheral grid 26, and the small central grid 10.

[0040] Therefore, for example, the server device can receive as an index value a 45-digit binary value of 3 bits x 15 levels transmitted from each of the client devices related to passenger vehicles traveling in California as shown in Figure 7, and identify a passenger vehicle that is suitable for the number of passengers at the time of the vehicle dispatch request, for example, from among the passenger vehicles closest to the person wishing to board, and issue dispatch instructions to the driver of that passenger vehicle.

[0041] https: / / www.uber.com / en-JP / blog / h3 /

[0042] However, in the H3 system, when performing processing expected for the index, each time the number of levels of the grid to be processed decreases, the following processing is required: (1) setting the coordinate origin of the oblique coordinate system to, for example, the center coordinate of the central grid of the new level, (2) rotating the grid of the new level relative to the oblique coordinate system by a rotation angle of cos(√3 / 2√7)), and (3) reducing the scale of the oblique coordinate system by a factor of 1 / √7 to match the new level.

[0043] Since processing these position information involves complex calculations, including irrational numbers, the load of the calculations on the H3 system is relatively large. Furthermore, the load increases as the number of levels increases because the amount of calculations increases. When processing three-dimensional position information, such as the flight position of a drone, the amount of calculations required is enormous compared to two-dimensional information, so it is necessary to avoid complex calculations.

[0044] Furthermore, in the explanation of the background art, an example was given in which the number of small grids, medium grids, and large grids included in each of the medium grid, large grid, and extra-large grid is "7" (this number is also referred to as the "aperture size" by those skilled in the art), but it would be more convenient and flexible to be able to process position information in cases of aperture sizes other than these.

[0045] Therefore, an object of the present invention is to provide a position information processing system that has flexibility in aperture size and avoids complex calculations, as well as a client device and a server device associated therewith.

[0046] In order to solve the above-mentioned problems, the present invention provides a location information processing system that combines a hexagonal grid system and a single-level index system, and that assigns an index (e.g., index (A) in this specification) to a hexagonal grid based on the coordinates (e.g., oblique coordinates (A, B) in this specification) of the hexagonal grid that correspond to location information of the device itself (e.g., orthogonal coordinate values ​​(x, y) or oblique coordinate values ​​(a, b) in this specification). * , B * )) and a server device (e.g., server device 200 in FIG. 1) that identifies, based on the index value transmitted from the client device, coordinate values ​​of a grid to which the client device belongs that correspond to the index value.

[0047] The client device may also include an indexing means (e.g., indexing means 120 in FIG. 1 ) that indexes the location information into oblique coordinate values ​​(e.g., oblique coordinates (a, b) in this specification) based on the shape of the grid from values ​​of orthogonal coordinates (e.g., orthogonal coordinates (x, y) in this specification) based on latitude and longitude, and an identification means (e.g., identification means 130 in FIG. 1 ) that identifies the value of the index based on values ​​of oblique coordinates assigned to a grid that includes the values ​​of the oblique coordinates indexed by the indexing means.

[0048] The server device may also include a receiving means (e.g., the receiving means 210 in FIG. 1 ) that receives the index value transmitted from the client device; and a first identifying means (e.g., the identifying means 220 in FIG. 1 ) that identifies the oblique coordinate value assigned to the grid corresponding to the index value based on information (e.g., the information shown in Table 1) indicating the correspondence between the oblique coordinate value assigned to each of the plurality of grids and the index value assigned to each of the grids and the index value received by the receiving means.

[0049] Alternatively, the server device may include a receiving means (e.g., the receiving means 210 in FIG. 1 ) that receives the index value transmitted from the client device, and a second identifying means (e.g., the identifying means 220 in FIG. 1 ) that identifies the oblique coordinate value assigned to the grid corresponding to the index value based on the remainder when the index value received by the receiving means is divided by 3.

[0050] Furthermore, the second specifying means may specify at least two values ​​(for example, "A" and "B") that constitute the value of the index. * " and "B * It is advisable to determine the values ​​of the oblique coordinates taking into account the relative magnitude of the

[0051] The aperture size of the hexagonal grid is 2 2(k-1) +1 to +2 2k In particular, 2 2k (where k is a positive integer).

[0052] Furthermore, the client device of the present invention may be a client device used in the above-mentioned position information processing system.

[0053] Furthermore, the server device of the present invention can be a server device used in a location information processing system.

[0054] According to the position information processing system of the present invention, the process of specifying index values ​​for each level, which was necessary in the H3 system, is not performed, so (1) setting the coordinate origin, (2) rotating the grid, and (3) adjusting the scale of the coordinate axes are not necessary, and therefore irrational numbers do not appear in the calculation formula, and complex calculations can be avoided. MODE FOR CARRYING OUT THE INVENTION

[0055] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0056] <Configuration and Overview> Fig. 1 is a block diagram showing a schematic configuration of a location information processing system according to an embodiment of the present invention. As shown in Fig. 1, the location information processing system according to this embodiment includes a client device 100, a server device 200, a database (hereinafter referred to as "DB") 300, and a network 400.

[0057] The location information processing system of this embodiment is similar to the H3 system in that it combines a hexagonal grid system with an index system, but differs in that the index system is not multi-level and the indexing method for the hexagonal grid is different from that assumed in the H3 system.

[0058] That is, in this embodiment, index-related processing is performed using a single-level index system rather than a multi-level index system, and indexing of the hexagonal grid is devised to reduce the computational load on the location information processing system when identifying the index value assigned to the grid to which the client device belongs.

[0059] In a typical indexing method in this embodiment, the center coordinates (A, B) of the central grid are set as the origin (0, 0) of the oblique coordinate system, one division of the coordinate axis is scaled to the resolution of the grid, for example, 1 m, and each peripheral grid is indexed based on the value of its center coordinates (A, B) (the values ​​of A and B are both "integers").

[0060] In the position information processing system of this embodiment, for example, the values ​​of the center coordinates of each grid (A, B) and the values ​​of each index indexed based on them (A, B) are stored. * , B * ) and (A * , B * The values ​​of the parameters are all "positive integers." The correspondence between the parameters is stored in the table memory of the client device 100 and the server device 200.

[0061] In this way, the client device 100 acquires its own location information based on the longitude and latitude that can be specified by the orthogonal coordinate values ​​(x, y), calculates the oblique coordinate values ​​(a, b) from the orthogonal coordinate values ​​(x, y) of the location information, and if it specifies the grid that contains the oblique coordinate values ​​(a, b), it can look up the corresponding index value (A, B) by referring to a table memory or the like based on the central coordinate values ​​(A, B) of the grid. * , B * ) can be identified.

[0062] The client device 100 receives the index value (A * , B * ) is transmitted to the server device 200 via the network 400. The server device 200 receives the index value (A * , B * ), the center coordinate values ​​(A, B) of the corresponding grid can be identified by referring to a table memory or the like.

[0063] It should be noted that, as will be described later, the position information processing system of this embodiment does not necessarily require the use of a table memory or the like to identify index values. It should also be noted that, instead of the central coordinates (A, B) of the central grid, it is also possible to take, for example, one of the corners as the origin (0, 0) of the oblique coordinate system.

[0064] From the above summary explanation, it can be seen that in the location information processing system of this embodiment, index-related processing is performed at a single level, rather than at multiple levels as is assumed in the H3 system, and therefore no complex calculations are required.

[0065] Next, the configuration of the location information processing system of this embodiment will be described. From the hardware perspective, the client device 100 may be, for example, a car navigation system installed in a passenger vehicle under contract with Uber, a smartphone owned by a driver of the passenger vehicle, or a smartphone owned by a passenger who shares the passenger vehicle. Therefore, although only one client device 100 is shown in FIG. 1, in reality, multiple devices exist on the network 400.

[0066] However, the client device 100 is not limited to the above examples as long as it has at least a location detection function such as a Global Navigation Satellite System (GNSS) including a Global Positioning System (GPS) function and a communication function such as a fifth-generation or sixth-generation mobile communication system that enables transmission and reception of data and information. Therefore, the client device 100 can also be a notebook computer, a personal digital assistant (PDA), a tablet terminal, a wearable device such as a smart watch, or the like.

[0067] From the software perspective, the client device 100 includes an acquisition unit 110, an identification unit 120, a specification unit 130, a transmission unit 140, and a reception unit 150, which will be described below. The processing in each of these units can be realized, for example, by cooperation between a central processing unit (CPU) and memory included in the client device 100.

[0068] The acquisition means 110 receives radio waves transmitted from a GPS satellite or a GNSS satellite at each predetermined sampling time that is consecutive in time, and acquires the Cartesian coordinate values ​​(x, y) of the location information indicating the latitude and longitude of the device itself.

[0069] The latitude and longitude may be based on the general equator or the international meridian, or may be based on a local location such as a specific region in a country.

[0070] The indexing means 120 uses a known method to mechanically index each oblique coordinate value (a, b) from each orthogonal coordinate value (x, y) sequentially acquired by the acquisition means 110, and also indexes the oblique coordinate value (A, B), which is, for example, the center coordinate of the grid to which each oblique coordinate value (a, b) belongs. The oblique coordinate value (A, B) may also be, for example, the value of the lower left corner of the small grid.

[0071] The oblique coordinate values ​​(a, b) are simply calculated mechanically from the Cartesian coordinate values ​​(x, y) that indicate latitude and longitude information, and are therefore not necessarily integers. In contrast, the oblique coordinate values ​​(A, B) are always integers if one division on the oblique coordinate axes is an integer multiple of the grid resolution, with the resolution being one unit. To avoid complex calculations, it is advisable to set both the division on the oblique coordinate axes and the grid resolution to, for example, 1 m, but the grid resolution may also be, for example, 2 m or 0.5 m.

[0072] The identifying means 130 identifies the index value (A, B) assigned to the grid, which is indexed based on the oblique coordinate values ​​(A, B) of the grid to which the device belongs, identified by the identifying means 120. * , B * ) is identified.

[0073] This specification process will be described in detail later with reference to FIGS. 2 to 4 and Tables 1 to 3, but will be briefly outlined here. However, if the oblique coordinate axes are scaled under the above conditions, the oblique coordinate values ​​(A, B) will become decimal values ​​that can be expressed as positive or negative integers, and therefore a binary value using two's complement notation can be determined. Then, a decimal value expressed as a positive integer can be determined from the value of a predetermined number of lower-order bits of these binary values. In this embodiment, the decimal value expressed as a positive integer is calculated as the index value (A * , B * )

[0074] The "predetermined number of lower bits" is the size of the grid aperture. 2(k-1) +1 to +2 2k (where k is a positive integer.) For example, if the aperture size is "7" as in the H3 system, then k=2.

[0075] For example, if the value of the oblique coordinates (A, B) is (-1, 1), then using two's complement notation for these values ​​will result in (111, 001). (The value of this complement notation is expressed as a 3-bit binary number, but when processed by a processor with a word length of 32 bits, a 32-bit two's complement notation can be used, and 29 more bits of 1 or 0 can be added to the upper bits.) Then, the decimal value (3, 1) expressed as a positive integer corresponding to the value of the last two digits (lower two bits) of these values ​​(11, 01) is used as the index value (A) in this embodiment. * , B * )

[0076] The transmitting means 140 transmits the value of the index identified by the identifying means 130 (A * , B * ) and the corresponding sampling time in its payload, and a packet including in its header a unique ID that can indicate the source assigned to the device itself and a server ID that can indicate the destination assigned to the server device 200, is transmitted to the server device 200 via the network 400.

[0077] The manner in which the transmitting means 140 transmits information to the server device 200 is not important. Therefore, for example, the value of the index specified by the arrival of the sampling time (A * , B * ) may be sent immediately thereafter in a pair with the sampling time, or several pairs of these may be sent together, or they may be sent in some other manner (for example, a packet without an ID if the ID can be identified by the server device 200).

[0078] The receiving means 150 of the client device 100 on the passenger vehicle side receives dispatch instructions, etc., sent from the server device 200 via the network 400 to the device itself, and the receiving means 150 of the client device 100 on the passenger side receives information identifying the passenger vehicle that has been instructed to be dispatched.

[0079] Note that client device 100 may also include means other than those shown in Fig. 1. Client device 100 may also include, for example, a storage means for storing an object to be transmitted to server device 200 in a memory or the like (not shown), and a retransmission means for retransmitting the object to be transmitted stored in the memory or the like in response to a request from server device 200 or when an ACK signal from server device 200 cannot be received.

[0080] In this way, if the pair of index value and corresponding sampling time to be sent from the client device 100 to the server device 200 is lost or corrupted on the network 400 for some reason and cannot be received correctly by the server device 200, a retransmission process can be performed.

[0081] From the hardware perspective, the server device 200 may be a business computer or the like, and from the software perspective, it comprises a receiving means 210, an identifying means 220, a calculating means 230, a storing means 240, and a transmitting means 250, which will be described below. The processing in each of these means can be realized, for example, by cooperation between a central processing unit (CPU) and memory provided in the client device 100.

[0082] It should be noted that the server device 200 does not necessarily have to integrate all of these means into one device, but may be separated into multiple devices, or the server device 200 may be provided with other means not shown.

[0083] The receiving means 210 receives the index value (A * , B * ) and the corresponding sampling time.

[0084] The identifying means 220 identifies the value of the index (A * , B * ) by referring to a table memory or the like (not shown), or by using the value (A * +B * ) by 3, the corresponding oblique coordinate values ​​(A, B) are identified based on the remainder.

[0085] The calculation means 230 calculates trajectory data of the client device 100 based on the values ​​(A, B) of a plurality of oblique coordinates that are consecutive in time and that are identified by the identification means 220 .

[0086] The storage means 240 stores in the DB 300 some or all of the various data contained in the packets received by the receiving means 210 and the trajectory data of the client device 100 calculated by the calculation means 230 .

[0087] For example, when a request for dispatch is sent from a client device 100 owned by a person wishing to board, the transmission means 250 refers to the DB 300 based on the oblique coordinate values ​​(A, B) of the client device 100 of the person wishing to board, selects as the vehicle to be dispatched a passenger vehicle related to the client device 100 that is, for example, closest to the position and that is suitable for the number of passengers at the time of the dispatch request, and transmits a dispatch instruction to that passenger vehicle.

[0088] The DB 300 stores, for each client device 100, the ID, sampling time, trajectory data, and the like, as a set of data.

[0089] The network 400 is a general term for various networks that interconnect the client device 100, the server device 200, and the DB 300, including a mobile phone line, an internet line, an intranet line, and the like.

[0090] Figure 2 is an explanatory diagram of processing related to a single-level index in the position information processing system of Figure 1. The aperture size of the large grid shown in Figure 2 is 7. Note that in this specification, even in the oblique coordinate system shown in Figure 2, the regions divided by the coordinate axes with coordinate values ​​of (+, +), (-, +), (-, -), (+, -) will be referred to as the first quadrant, second quadrant, third quadrant, and fourth quadrant, following the orthogonal coordinate system.

[0091] First, please refer to the small central grid 10 shown in Figure 2. (0,0) means the diagonal coordinate value (A,B) of the center point of the small central grid 10, and (000,000) means the value of the diagonal coordinate value (0,0) expressed in binary using two's complement notation.

[0092] In addition, for the small surrounding grids 15 and 16 in the first quadrant shown in Figure 2, the center coordinate values ​​(A, B) of the small surrounding grids 15 and 16 are (1, 2) and (2, 1), and the values ​​expressed in binary using two's complement notation are (001, 010) and (010, 001).

[0093] Table 1 summarizes the coordinates shown in FIG. 2. First, refer to the third line of Table 1. It shows that when the center coordinate values ​​(A, B) are (0, 0), the value expressed in binary using two's complement notation for these values ​​(0, 0) is (000, 000), the last two digits of these numbers are (00, 00), and the index value (A, B) expressed in positive decimal integer notation for these last two digits is (00, 00). * , B * ) is (0,0), and the value of the index (A * +B *) by 3, the remainder is "0", and the center coordinate value (A, B) is in the "first quadrant".

[0094] Strictly speaking, when the center coordinate value (A, B) is (0, 0), this part can be said to be special, not belonging to any of the first to fourth quadrants. However, since it has been found that the calculation process of the position information becomes smoother if this part is treated as belonging to the first quadrant, this is how it will be treated in this embodiment.

[0095] In addition, in the first and second rows of Table 1, when the center coordinate values ​​(A, B) are (1, 2) and (2, 1) in the first quadrant, the binary values ​​expressed using two's complement notation are (001, 010) and (010, 001), and the last two digits of these values ​​are (01, 10) and (10, 01), and the index value (A * , B * ) are (1, 2) and (2, 1), and the values ​​(A * +B * ) by 3, the remainder is "0", and the center coordinate value (A, B) is in the "first quadrant".

[0096] Furthermore, in the fourth row of Table 1, when the center coordinate value (A, B) is (-1, 1) in the second quadrant, the value expressed in binary using two's complement notation for these values ​​(-1, 1) is (111, 001), and the value of the last two digits of these numbers is (11, 01), and the value of the index expressed in positive decimal integers for these last two digits is (A * , B * ) is (3, 1), and the value of the index (A * +B * ) by 3, the remainder is "1" and the center coordinate value (A, B) is in the "second quadrant."

[0097] Similarly, Table 1 also provides a corresponding description of the coordinates for each of the small surrounding grids in quadrants 3-4 shown in FIG.

[0098] Here, the values ​​shown in the oblique coordinates (A, B) in Table 1 are mutually unique, and the index (A * , B * ) are also unique to each other, and there is a 1:1 correspondence between the values ​​in the same row.

[0099] Therefore, as described above, the values ​​of the oblique coordinates (A, B) and the index value (A * , B * If the client device 100 and the server device 200 are provided with a table memory or the like in which a set of the index value (A, B) and the oblique coordinate value (A, B) corresponding to the position of the client device 100 is stored, the client device 100 can obtain the index value (A, B) based on the oblique coordinate value (A, B) corresponding to the position of the client device 100. * , B * ) can be transmitted to the server device 200, and the server device 200 can receive the value of the index (A * , B * ) can be used to identify the oblique coordinate values ​​(A, B) corresponding to the point A.

[0100] Here, if you look at Table 1, especially the remarks column, you will see that "(A * +B * ) mod3=0, "(A, B)" belongs uniquely to the "first quadrant" in the oblique coordinate system, and "(A * +B * ) mod 3 = 2, then "(A, B)" belongs uniquely to the "third quadrant." * +B * ) mod 3=1, then (A, B) belongs to the second quadrant or the fourth quadrant.

[0101] That is, "(A * +B * If "(A, B)" is "0" or "2", the quadrant to which "(A, B)" belongs is uniquely determined. * +B * If "(A, B)" is "1", the quadrant to which "(A, B)" belongs cannot be uniquely determined. * " value is always "B * On the other hand, in the fourth quadrant, the value of* " value is always "B * " is smaller than the value of "(A * +B * ) mod 3" is "1", then "A * " and "B * By checking the size of "(A, B)", it is possible to easily identify the quadrant to which "(A, B)" belongs.

[0102] In addition, "(A * +B * ) mod 3 = 1, the relationship between "(A, B)" and "(A, B)" is that they belong to the "second quadrant" or the "fourth quadrant". * " or "B * This corresponds to the fact that the relationship between " and "A" or "B" is not "1:1" but "1:2".

[0103] Specifically, in the case of Table 1, the correspondence between "1:2" is as follows: * " etc. has a value of "3": "A" etc. has a value of "3" or "-1", * " etc. has a value of "2": "A" etc. has a value of "2" or "-2", * " etc. has a value of "1": "A" etc. has a value of "1" or "-3", * " etc. has a value of "0": "A" etc. has a value of "0" or "-4", and in the case of Table 2 and Table 3, depending on which quadrant (A, B) is in, "A" * " or "B * " and "A" or "B" have a correspondence relationship of "1:1" or "1:2".

[0104] When the correspondence is "1:1", it means that "(A * +B * ) mod 3" is synonymous with "0" and "1" in both Table 2 and Table 3, so the quadrant to which "(A, B)" belongs is uniquely determined. On the other hand, when the correspondence is "1:2", "(A * +B * ) mod 3" is the same as "2" in both Table 2 and Table 3, so "A * " and "B *By checking the size of "(A, B)", it is possible to easily identify the quadrant to which "(A, B)" belongs.

[0105] Fig. 3 is an explanatory diagram of processing related to a single-level index of another aperture size in the position information processing system of Fig. 1. While Fig. 2 shows an example in which the aperture size of the large grid is 7, Fig. 3 shows an example in which the aperture size of the large grid is 25.

[0106] Table 2 summarizes the explanations of the coordinates shown in FIG. 3 and corresponds to Table 1.

[0107] Looking at Table 2, in the grid with an aperture size of 25, as in Table 1, the values ​​shown in the oblique coordinates (A, B) are mutually unique, and the index (A * , B * ) are also unique to each other, and those values ​​in the same row also correspond one-to-one.

[0108] In addition, in the case of Table 2, "(A * +B * When "(A, B)" is "2", the quadrant in the oblique coordinate system to which "(A, B)" belongs is not uniquely determined. However, the quadrant to which "(A, B)" belongs is determined by "(A)" as in the case of Table 1. * +B * ) mod 3 is "2", then "A * " and "B * This can be identified by simply performing the simple process of checking the magnitude relationship with ".

[0109] By the way, as can be seen by comparing Table 1 and Table 2, the "(A * +B * The difference is that the value of "(A ) mod 3" is "1" in Table 1, whereas it is "2" in Table 2. This difference is due to the even or odd value of "k" relating to the aperture size of the grid, as mentioned above. * +B * ) mod 3 is "1" when k is odd and "2" when k is even.

[0110] Therefore, if the value of "k" relating to the grid aperture size or whether it is even or odd is shared between the client device 100 and the server device 200, the server device 200 can easily recognize the index value (A * , B * Based on "(A * +B * ) mod 3" is calculated, and if the value is "1" or "2", it is determined whether the center coordinates (A, B) of the corresponding grid belong to the second or fourth quadrant, or the third quadrant, taking into account whether "k" relating to the diameter size of the grid is even or odd. In the former case, "A" is calculated. * " and "B * By checking whether " is larger or smaller than ", it is possible to determine whether the quadrant to which the client device 100 belongs is the second quadrant or the fourth quadrant.

[0111] Fig. 4 is an explanatory diagram of processing related to indexes of other aperture sizes at a single level in the position information processing system of Fig. 1. Fig. 2 shows an example in which the aperture size of the large grid is 7, while Fig. 3 shows an example in which the aperture size of the large grid is 49.

[0112] Table 3 summarizes the explanations of the coordinates shown in FIG. 4 and corresponds to Table 1.

[0113] Looking at Table 3, in the grid with an aperture size of 49, the values ​​shown in the oblique coordinates (A, B) are mutually unique, just as in Table 1, and the index (A * , B * ) are also unique to each other, and those values ​​in the same row also correspond one-to-one.

[0114] Therefore, the server device 200 receives the values ​​of (A, B) in each row of Table 2 or Table 3 and the value (A * , B *) and the like. Alternatively, according to the above-mentioned identification method, regardless of whether the aperture size transmitted from the client device 100 is 7, 25, or 49, the client device 100 can determine the index value (A, B) based on the oblique coordinate values ​​(A, B) corresponding to the position of the client device. * , B * ) can be sent to the server device 200, and the server device 200 can * , B * ) can be used to identify the oblique coordinate values ​​(A, B) corresponding to the point A.

[0115] 1 is a block diagram showing a schematic configuration of a location information processing system according to an embodiment of the present invention. FIG. 2 is an explanatory diagram of processing related to a single-level index related to the location information processing system of FIG. 1. FIG. 3 is an explanatory diagram of processing related to a single-level index of another caliber size related to the location information processing system of FIG. 1. FIG. 4 is an explanatory diagram of processing related to a single-level index of another caliber size related to the location information processing system of FIG. 1. FIG. 5 is a schematic diagram showing large, medium, and small hexagonal grids overlaid on map data of the entire Earth in the H3 system. FIG. 6 is a schematic diagram showing the various large and small hexagonal grids shown in FIG. 5 decomposed into levels according to their size. FIG. 7 is a diagram showing the relationship between the levels of the grid in FIG. 6 and map data of the state of California in the United States. FIG. 8 is an explanatory diagram of an oblique coordinate system related to a multi-level hexagonal grid in the H3 system.

[0116] REFERENCE SIGNS LIST 100 Client device 110 Acquisition means 120 Identification means 130 Identification means 140 Transmission means 150 Reception means 200 Server device 210 Reception means 220 Identification means 230 Calculation means 240 Storage means 250 Transmission means 300 DB (database) 400 Network

Claims

1. A location information processing system that combines a hexagonal grid system and a single-level index system, comprising: a client device that transmits an index value assigned to a hexagonal grid based on the coordinate value of the grid that corresponds to the location information of the client device; and a server device that identifies the coordinate value of the grid to which the client device belongs that corresponds to the index value transmitted from the client device based on the index value.

2. The location information processing system of claim 1, wherein the client device is equipped with: an indexing means for indexing oblique coordinate values ​​based on the shape of the grid from orthogonal coordinate values ​​based on latitude and longitude of the location information; and an identification means for identifying the value of the index based on the oblique coordinate values ​​assigned to a grid that includes the oblique coordinate values ​​indexed by the indexing means.

3. The position information processing system of claim 1, wherein the server device comprises: a receiving means for receiving an index value transmitted from the client device; and an identifying means for identifying the oblique coordinate value assigned to the grid corresponding to the index value based on information indicating the correspondence between the oblique coordinate value assigned to each of the plurality of grids and the index value assigned to each of the grids and the index value received by the receiving means.

4. The position information processing system of claim 1, wherein the server device comprises: a receiving means for receiving an index value transmitted from the client device; and an identifying means for identifying the oblique coordinate value assigned to the grid corresponding to the index value based on the remainder when the index value received by the receiving means is divided by 3.

5. The aperture size of the hexagonal grid is 2 2(k-1) +1 to 2 2k 2. The position information processing system according to claim 1, 6. A client device for use in the position information processing system according to claim 1.

7. A server device used in the position information processing system according to claim 1.

Citation Information

Patent Citations

  • Vector data drawing method on full-sphere hexagon discrete grid

    CN102096946A

  • System and method for identifying a grid of geographic regions in a map

    JP2021508856A

  • Icosahedral modified generalized balanced ternary and aperture 3 hexagon tree

    US20050193365A1

  • Hexagon clustering of spatial data

    US20200320108A1

  • Systems and Methods for Generating Multi-Part Place Identifiers

    US20220107967A1