Kategorien:

Geodatenfunktionen

ST_GEOMFROMGEOHASH

Gibt ein GEOMETRY-Objekt für das Polygon zurück, das die Grenzen eines Geohash repräsentiert.

Die Anzahl der Zeichen in einem Geohash bestimmt die Genauigkeit. Das Entfernen von Zeichen vom Ende eines Geohash führt zu einem Geohash, der weniger genau ist und einen größeren rechteckigen Bereich identifiziert.

Das optionale Argument precision gibt die Genauigkeit an, die für den Eingabe-Geohash verwendet werden soll. Wenn Sie beispielsweise 5 für precision übergeben, wird angeben, dass die Funktion die ersten 5 Zeichen des Eingabe-Geohash verwenden soll.

Siehe auch:

ST_GEOHASH, ST_GEOMPOINTFROMGEOHASH

Syntax

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

Argumente

Benötigt:

geohash

Das Argument muss ein Geohash sein.

Optional:

precision

Die Anzahl der Zeichen, die im Geohash verwendet werden sollen. Sie können einen Wert von 1 bis 20 angeben.

Standardmäßig hat precision den Wert 20, wodurch ein Geohash mit einer Länge von 20 Zeichen erstellt wird.

Rückgabewerte

Gibt einen Wert vom Typ GEOMETRY zurück.

Beispiele

Das folgende Beispiel gibt das Objekt GEOMETRY für einen Geohash zurück:

SELECT ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q')
  AS geometry_from_geohash,
  ST_AREA(ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q'))
  AS area_of_geohash;
Copy
+---------------------------------+-----------------+
| 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"             |                 |
| }                               |                 |
+---------------------------------+-----------------+

Im folgenden Beispiel wird das Objekt GEOMETRY für einen weniger genauen Geohash zurückgegeben. Die Funktion verwendet die ersten 6 Zeichen aus dem Eingabe-Geohash:

SELECT ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6)
  AS geometry_from_less_precise_geohash,
  ST_AREA(ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6))
  AS area_of_geohash;
Copy
+------------------------------------+-----------------+
| 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"                |                 |
| }                                  |                 |
+------------------------------------+-----------------+