- Kategorien:
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:
Syntax¶
ST_GEOMFROMGEOHASH( <geohash> [, <precision> ] )
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
bis20
angeben.Standardmäßig hat
precision
den Wert20
, 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;
+---------------------------------+-----------------+
| 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;
+------------------------------------+-----------------+
| 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" | |
| } | |
+------------------------------------+-----------------+