Name

ST_GeoHash — 返回几何图形的 GeoHash 表示形式。

Synopsis

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

描述

计算几何图形的 GeoHash 表示。 GeoHash 将地理点编码为可基于前缀排序和搜索的文本形式。 较短的 GeoHash 是点的不太精确的表示。 它可以被认为是一个包含点的盒子。

具有非零范围的非点几何值也可以映射到 GeoHash 代码。 代码的精度取决于几何的地理范围。

如果未指定 maxchars,则返回的 GeoHash 代码适用于包含输入几何图形的最小单元格。 Points 返回精度为 20 个字符的 GeoHash(大约足以容纳输入的完整双精度)。 其他几何类型可能会返回精度较低的 GeoHash,具体取决于几何形状的范围。 较大的几何图形的精度较低,较小的几何图形的精度较高。 由 GeoHash 代码确定的框始终包含输入特征。

如果指定了maxchars参数,则返回的GeoHash代码最多包含指定数量的字符。它映射到输入几何体的(可能)较低精度表示。对于非点几何体,计算的起始点是几何体边界框的中心点。

可用性:1.4.0

[Note]

ST_GeoHash 要求输入几何图形采用地理(经度/纬度)坐标。

此方法支持圆形字符串和曲线。

示例

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