ST_GeomFromGeoHash - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog.

ST_GeomFromGeoHash

ST_GeomFromGeoHash construye un objeto geométrico a partir de la representación geohash de una geometría de entrada. ST_GeomFromGeoHash devuelve una geometría bidimensional (2D) con el identificador de referencia espacial (SRID) cero (0). Para obtener más información sobre el formato geohash, consulte Geohash en la Wikipedia.

Sintaxis

ST_GeomFromGeoHash(geohash_string)
ST_GeomFromGeoHash(geohash_string, precision)

Argumentos

geohash_string

Un valor del tipo de datos VARCHAR o una expresión que toma el valor de un tipo VARCHAR, es decir, una representación geohash de una geometría.

precisión

Un valor de tipo de datos INTEGER que representa la precisión del geohash. El valor es el número de caracteres del geohash que se utilizará como precisión. Si no se especifica el valor, es inferior a cero o es superior a la longitud de geohash_string, se utiliza la longitud de geohash_string.

Tipo de devolución

GEOMETRY

Si geohash_string es nulo, se devuelve el valor nulo.

Si geohash_string no es válido, se devuelve un error.

Ejemplos

El siguiente código SQL devuelve un polígono con precisión alta.

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))

El siguiente código SQL devuelve un punto con precisión alta.

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

El siguiente código SQL devuelve un polígono con precisión baja.

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))

El siguiente código SQL devuelve un polígono con una precisión de 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))