名稱

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

[Note]

ST_GeoHash 需要輸入幾何使用地理 (lon/lat) 坐標。

此方法支援圓弧字串和曲線。

範例

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