ST_GeomFromGeoHash - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

ST_GeomFromGeoHash

ST_GeomFromGeoHash construit un objet de géométrie à partir de la représentation geohash d’une géométrie d’entrée. ST_GeomFromGeoHash renvoie une géométrie bidimensionnelle (2D) avec l’identifiant de référence spatiale (SRID) égal à zéro (0). Pour plus d’informations sur le format geohash, consultez Geohash dans Wikipédia.

Syntaxe

ST_GeomFromGeoHash(geohash_string)
ST_GeomFromGeoHash(geohash_string, precision)

Arguments

geohash_string

Valeur de type de données VARCHAR ou expression qui correspond à un type VARCHAR, qui est une représentation geohash d’une géométrie.

precision

Valeur du type de données INTEGER qui représente la précision du geohash. La valeur est le nombre de caractères du geohash à utiliser à des fins de précision. Si la valeur n’est pas spécifiée, inférieure à zéro ou supérieure à la longueur de geohash_string, alors la longueur geohash_string est utilisée.

Type de retour

GEOMETRY

Si geohash_string est null, null est renvoyé.

Si geohash_string n’est pas valide, une erreur est renvoyée.

Exemples

Le code SQL suivant renvoie un polygone de haute précision.

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

Le code SQL suivant renvoie un point de haute précision.

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

Le code SQL suivant renvoie un polygone de faible précision.

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

Le code SQL suivant renvoie un polygone de précision 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))