ST_GeomFromGeoHash - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

ST_GeomFromGeoHash

ST_GeomFromGeoHash genera un oggetto di geometria a partire dalla rappresentazione geohash di una geometria in input. ST_GeomFromGeoHash restituisce una geometria bidimensionale (2D) con l'identificatore di riferimento spaziale (SRID) pari a zero (0). Per ulteriori informazioni sul formato geohash, consulta la voce Geohash su Wikipedia.

Sintassi

ST_GeomFromGeoHash(geohash_string)
ST_GeomFromGeoHash(geohash_string, precision)

Argomenti

geohash_string

Un valore del tipo di dati VARCHAR o un'espressione che restituisce un tipo VARCHAR, ovvero una rappresentazione in formato geohash di una geometria.

precision

Un valore del tipo di dati INTEGER che rappresenta il livello di precisione del geohash. Il valore è il numero di caratteri del geohash da utilizzare come livello di precisione. Se il valore non è specificato, è minore di zero o è maggiore della lunghezza di geohash_string, viene utilizzata la lunghezza di geohash_string.

Tipo restituito

GEOMETRY

Se il valore di geojson_string è null, viene restituito un valore nullo.

Se il valore di geojson_string non è valido, viene restituito un errore.

Esempi

Il seguente SQL restituisce un poligono con precisione elevata.

SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz0'));
st_asewkt ----------------------- POLYGON((-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646))

Il seguente SQL restituisce un punto con precisione elevata.

SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz00'));
st_asewkt ----------------------- POINT(-115.172816 36.114646)

Il seguente SQL restituisce un poligono con precisione bassa.

SELECT ST_AsText(ST_GeomFromGeoHash('9qq'));
st_asewkt ----------------------- POLYGON((-115.3125 35.15625,-115.3125 36.5625,-113.90625 36.5625,-113.90625 35.15625,-115.3125 35.15625))

Il seguente SQL restituisce un poligono con precisione 3.

SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz0', 3));
st_asewkt ----------------------- POLYGON((-115.3125 35.15625,-115.3125 36.5625,-113.90625 36.5625,-113.90625 35.15625,-115.3125 35.15625))