File: geolocation_search.rst

package info (click to toggle)
groonga 9.0.0-1%2Bdeb10u1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 101,496 kB
  • sloc: ansic: 608,707; ruby: 35,042; xml: 23,643; cpp: 10,319; sh: 7,453; yacc: 5,968; python: 3,033; makefile: 2,609; perl: 133
file content (52 lines) | stat: -rw-r--r-- 1,463 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
.. -*- rst -*-

.. highlightlang:: none

Geolocation search
==================

Groonga supports geolocation search. It uses index for
search. It means that you can search by geolocation fast
like fulltext search.

Supported features
------------------

Groonga supports only point as data type. Line, surface and
so on aren't supported yet. Here is a feature list:

#. Groonga can store a point to a column.
#. Groonga can search records that have a point in the specified rectangle.
#. Groonga can search records that have a point in the specified circle.
#. Groonga can calculate distance between two points.
#. Groonga can sort records by distance from the specified
   point in ascending order.

Here are use cases for Groonga's geolocation search:

* You list McDonald's around a station.
* You list KFC around the current location sort by distance
  from the current location in ascending order with distance.

Here are not use cases:

* You search McDonald's in a city. (Groonga doesn't support
  geolocation search by a shape except a rectangle and a
  circle.)
* You store a region instead of a point as a lake
  record. (A column can't has geolocation data except a
  point.)

The following figures show about Groonga's geolocation
search features.

Here is a figure that only has records. A black point
describes a record. The following figures shows how records
are treated.

.. image:: /images/geo-points.png
   :alt: only records


Coming soon...