Kategorien:

Geodatenfunktionen, Konvertierungsfunktionen

ST_GEOGFROMGEOHASH

Gibt ein GEOGRAPHY-Objekt für das Polygon zurück, das die Grenzen eines Geohash darstellt.

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 angegeben, dass die Funktion die ersten 5 Zeichen des Eingabe-Geohash verwenden soll.

Siehe auch:

ST_GEOHASH, ST_GEOGPOINTFROMGEOHASH

Syntax

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

Argumente

Erforderlich:

geohash

Das Argument muss ein Geohash sein.

Optional:

precision

Die Anzahl der Zeichen, die vom Eingabe-Geohash verwendet werden sollen. Wenn Sie beispielsweise 5 für precision übergeben, verwendet die Funktion die ersten 5 Zeichen im Geohash.

Sie können einen Wert von 1 bis 20 angeben.

Standardmäßig hat precision den Wert 20, wodurch die Funktion bis zu den ersten 20 Zeichen des Geohash verwendet.

Rückgabewerte

Gibt einen Wert vom Typ GEOGRAPHY zurück.

Beispiele

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

SELECT ST_GEOGFROMGEOHASH('9q9j8ue2v71y5zzy0s4q')
    AS geography_from_geohash,
    ST_AREA(ST_GEOGFROMGEOHASH('9q9j8ue2v71y5zzy0s4q'))
    AS area_of_geohash;
+---------------------------------+-----------------+
| GEOGRAPHY_FROM_GEOHASH          | AREA_OF_GEOHASH |
|---------------------------------+-----------------|
| {                               |  5.48668572e-16 |
|   "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"             |                 |
| }                               |                 |
+---------------------------------+-----------------+
Copy

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

SELECT ST_GEOGFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6)
    AS geography_from_less_precise_geohash,
    ST_AREA(ST_GEOGFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6))
    AS area_of_geohash;
+-------------------------------------+-----------------+
| GEOGRAPHY_FROM_LESS_PRECISE_GEOHASH | AREA_OF_GEOHASH |
|-------------------------------------+-----------------|
| {                                   | 591559.75661851 |
|   "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"                 |                 |
| }                                   |                 |
+-------------------------------------+-----------------+
Copy