ST_GeoHash — 返回几何体的 GeoHash 表示。
text ST_GeoHash(geometry geom, integer maxchars=full_precision_of_point);
计算几何体的 GeoHash 表示。GeoHash 将地理点编码为可排序且可基于前缀搜索的文本形式。较短的 GeoHash 是点的不太精确的表示。它可以被认为是一个包含该点的框。
具有非零范围的非点几何值也可以映射到 GeoHash 代码。代码的精度取决于几何体的地理范围。
如果未指定 maxchars,则返回的 GeoHash 代码是包含输入几何体的最小单元格的代码。点返回具有 20 个字符精度的 GeoHash(大约足以容纳输入的完整双精度)。其他几何类型可能会返回精度较低的 GeoHash,具体取决于几何体的范围。较大的几何体以较低的精度表示,较小的几何体以较高的精度表示。由 GeoHash 代码确定的框始终包含输入要素。
如果指定了 maxchars,则返回的 GeoHash 代码最多具有那么多字符。它映射到输入几何体的(可能)较低精度的表示。对于非点,计算的起点是几何体边界框的中心。
可用性:1.4.0
|
|
|
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