Name

ST_GeoHash — Retourne une représentation GeoHash de la géométrie.

Synopsis

text ST_GeoHash(geometry geom, integer maxchars=full_precision_of_point);

Description

Calcule une représentation GeoHash d'une géométrie. Un GeoHash encode un point géographique sous forme de texte qui peut être trié et recherché en fonction du préfixe. Un GeoHash plus court est une représentation moins précise d'un point. Il peut être considéré comme une boîte qui contient le point.

Les valeurs géométriques non ponctuelles dont l'étendue n'est pas nulle peuvent également être mises en correspondance avec des codes GeoHash. La précision du code dépend de l'étendue géographique de la géométrie.

Si maxchars n'est pas spécifié, le code GeoHash renvoyé correspond à la plus petite cellule contenant la géométrie d'entrée. Les points renvoient un GeoHash avec 20 caractères de précision (ce qui est suffisant pour contenir la double précision de l'entrée). D'autres types géométriques peuvent renvoyer un GeoHash avec moins de précision, en fonction de l'étendue de la géométrie. Les géométries plus grandes sont représentées avec moins de précision, les plus petites avec plus de précision. La boîte déterminée par le code GeoHash contient toujours l'élément d'entrée.

Si maxchars est spécifié, le code GeoHash renvoyé comporte au maximum ce nombre de caractères. Il correspond à une représentation (éventuellement) de moindre précision de la géométrie d'entrée. Pour les non-points, le point de départ du calcul est le centre de la boîte de délimitation de la géométrie.

Disponibilité : 1.4.0

[Note]

ST_GeoHash exige que la géométrie d'entrée soit en coordonnées géographiques (lon/lat).

Cette méthode prend en charge les types Circular String et Curve.

Exemples

SELECT ST_GeoHash( ST_Point(-126,48) );

         st_geohash
----------------------
 c0w3hf1s70w3hf1s70w3

SELECT ST_GeoHash( ST_Point(-126,48), 5);

 st_geohash
------------
 c0w3h

-- This line contains the point, so the GeoHash is a prefix of the point code
SELECT ST_GeoHash('LINESTRING(-126 48, -126.1 48.1)'::geometry);

 st_geohash
------------
 c0w3