ST_GEOMFROMGEOHASH

ST_GEOMFROMGEOHASH

지오해시(geohash)의 경계를 나타내는 폴리곤에 해당하는 GEOMETRY 객체를 반환해요.

지오해시의 문자 수가 정밀도를 결정해요. 지오해시 끝에서 문자를 제거하면 정밀도가 낮아지고 더 넓은 직사각형 영역을 식별하는 지오해시가 돼요.

선택적 precision 인자는 입력 지오해시에 사용할 정밀도를 지정해요. 예를 들어 precision에 5를 전달하면 함수가 입력 지오해시의 처음 5개 문자를 사용함을 지정해요.

참고 항목:

  • ST_GEOHASH, ST_GEOMPOINTFROMGEOHASH

출처: Snowflake SQL Reference - ST_GEOMFROMGEOHASH

본문

구문

ST_GEOMFROMGEOHASH( <geohash> [, <precision> ] )

인자

필수:

geohash

  • 인자는 지오해시여야 해요.

선택:

precision

  • 지오해시에 사용할 문자 수예요. 1에서 20 사이의 값을 지정할 수 있어요. 기본적으로 precision은 20이며, 20자 길이의 지오해시를 생성해요.

반환

GEOMETRY 타입의 값을 반환해요.

예제

다음 예제는 지오해시에 대한 GEOMETRY 객체를 반환해요.

SELECT ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q')
  AS geometry_from_geohash,
  ST_AREA(ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q'))
  AS area_of_geohash;
+---------------------------------+-----------------+
| GEOMETRY_FROM_GEOHASH           | AREA_OF_GEOHASH |
|---------------------------------+-----------------|
| {                               | 5.492996255e-26 |
|   "coordinates": [              |                 |
|     [                           |                 |
|       [                         |                 |
|         -1.223061000000001e+02, |                 |
|         3.755416199999996e+01   |                 |
|       ],                        |                 |
|       [                         |                 |
|         -1.223061000000001e+02, |                 |
|         3.755416200000012e+01   |                 |
|       ],                        |                 |
|       [                         |                 |
|         -1.223060999999998e+02, |                 |
|         3.755416200000012e+01   |                 |
|       ],                        |                 |
|       [                         |                 |
|         -1.223060999999998e+02, |                 |
|         3.755416199999996e+01   |                 |
|       ],                        |                 |
|       [                         |                 |
|         -1.223061000000001e+02, |                 |
|         3.755416199999996e+01   |                 |
|       ]                         |                 |
|     ]                           |                 |
|   ],                            |                 |
|   "type": "Polygon"             |                 |
| }                               |                 |
+---------------------------------+-----------------+

다음 예제는 정밀도가 낮은 지오해시에 대한 GEOMETRY 객체를 반환해요. 함수는 입력 지오해시의 처음 6개 문자를 사용해요.

SELECT ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6)
  AS geometry_from_less_precise_geohash,
  ST_AREA(ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6))
  AS area_of_geohash;
+------------------------------------+-----------------+
| GEOMETRY_FROM_LESS_PRECISE_GEOHASH | AREA_OF_GEOHASH |
|------------------------------------+-----------------|
| {                                  | 6.034970284e-05 |
|   "coordinates": [                 |                 |
|     [                              |                 |
|       [                            |                 |
|         -1.223107910156250e+02,    |                 |
|         3.755126953125000e+01      |                 |
|       ],                           |                 |
|       [                            |                 |
|         -1.223107910156250e+02,    |                 |
|         3.755676269531250e+01      |                 |
|       ],                           |                 |
|       [                            |                 |
|         -1.222998046875000e+02,    |                 |
|         3.755676269531250e+01      |                 |
|       ],                           |                 |
|       [                            |                 |
|         -1.222998046875000e+02,    |                 |
|         3.755126953125000e+01      |                 |
|       ],                           |                 |
|       [                            |                 |
|         -1.223107910156250e+02,    |                 |
|         3.755126953125000e+01      |                 |
|       ]                            |                 |
|     ]                              |                 |
|   ],                               |                 |
|   "type": "Polygon"                |                 |
| }                                  |                 |
+------------------------------------+-----------------+

더 알아보기