- 类别:
ST_GEOHASH¶
返回 GEOGRAPHY 或 GEOMETRY 对象的 地理哈希 (link removed)。地理哈希是一个短的 base32 字符串,用于标识包含世界上某个位置的大圆矩形。
地理哈希中的字符数决定了精度。从地理哈希末尾删除字符会导致地理哈希精度降低,并且标识较大的矩形区域。
ST_GEOHASH 返回长度为 20 个字符的地理哈希。可选 precision 实参指定返回的地理哈希的精度。例如,把 5 传递给 precision 将返回一个不太精确的较短地理哈希(5 个字符长)。
备注
对于不是点的地理空间对象,该函数可能会返回精度较低的地理哈希,而不考虑 precision 的默认值或指定值。
在这些情况下,精度由地理空间对象的边界框确定。ST_GEOHASH 首先确定边界框左下角和右上角的地理哈希,然后返回这两个地理哈希共有的前缀。
语法¶
实参¶
必填:
geography_expression实参必须是 GEOGRAPHY 类型的表达式。
geometry_expression实参必须是 GEOMETRY 且 SRID 为 4326 类型的表达式。
可选:
precision要在地理哈希中使用的字符数。您可以指定一个介于
1和20之间的值。默认情况下,
precision是20,这会生成一个长度为 20 个字符的地理哈希。
返回¶
返回指定对象的地理哈希( STRING 类型的值)。
如果对象是多边形,并且边界框的两个点不共享相同的地理哈希前缀,则该函数可能会返回一个空字符串。
示例¶
以下示例返回 GEOGRAPHY 点的地理哈希:
以下示例返回精度较低的同一 GEOGRAPHY 点的地理哈希:
以下示例返回 GEOMETRY 点的地理哈希:
以下示例显示了共享相同前缀的两个地理哈希,这表示这两个 GEOGRAPHY 点彼此靠近。
以下示例返回多边形的地理哈希。此多边形的边界框的左下角和右上角与前面示例中使用的两个 GEOGRAPHY 点相同。如此示例所示,ST_GEOHASH 返回边界框左下角和右上角的地理哈希共有的前缀。