地理空间函数 - 转换、输入、解析

2025 年 8 月 1 日 | 阅读 5 分钟

ST_GEOGFROMGEOHASH

ST_GEOGFROMGEOHASH 返回表示 geohash 边界的 GEOGRAPHY 对象(多边形)。

可选的 precision 参数指定要应用于输入哈希的精度。例如,将 precision 设置为 5 会指示函数使用输入 geohash 的前五个字符。它使得与坐标、形状和空间关系等数据的高效工作成为可能。

另请参阅

语法

例如

下面的示例显示了哈希的 GEOGRAPHY 对象

ST_GEOGFROMGEOHASH, ST_GEOHASH

语法

Geohash 参数

返回值

该函数返回一个 GEOGRAPHY 对象,表示 geohash 中心处的点。

例如

下面的示例显示了哈希中心点的 GEOGRAPHY 对象

ST_GEOGRAPHYFROMWKB

语法

所需参数

二进制或 varchar 表达式

  • 参数必须是 WKB 或 EWKB 格式的文本或二进制表达式,表示一个合法的地理对象。
  • 字符串表达式需要十六进制格式(不带前导 0x)。

可选

Permit_invalid

  • 如果指定 TRUE,则即使输入形状无效且无法修复,函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。
  • 有关更多信息,请参阅 指定如何处理无效的地理形状。

ST_GEOGRAPHYFROMWKT

语法

所需参数包括:

varchar_expression

参数必须是 WKT 或 EWKT 格式的字符串表达式,表示一个合法的地理对象。

可选

Permit_invalid

如果指定 TRUE,则即使输入形状无效且无法修复,函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。有关更多信息,请参阅 指定如何处理无效的地理形状。

ST_GEOMETRYFROMWKB

所需参数

二进制或 varchar 表达式

  • 参数必须是 WKB 或 EWKB 格式的文本或二进制表达式,表示一个合法的地理对象。
  • 字符串表达式需要十六进制格式(不带前导 0x)。

Permit_invalid

  • 如果指定 TRUE,则即使输入形状无效且无法修复,函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。
  • 有关更多信息,请参阅 指定如何处理无效的地理形状。

ST_GEOMETRYFROMWKT

所需参数包括:

varchar_expression

参数必须是 WKT 或 EWKT 格式的字符串表达式,表示一个合法的地理对象。

Permit_invalid

如果指定 TRUE,则即使输入形状无效且无法修复,函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。有关更多信息,请参阅 指定如何处理无效的地理形状。

ST_GEOMETRYFROMWKB

所需参数

二进制或 varchar 表达式

  • 参数必须是 WKB 或 EWKB 格式的文本或二进制表达式,表示一个合法的地理对象。
  • 字符串表达式需要十六进制格式(不带前导 0x)。

Permit_invalid

如果指定 TRUE,则即使输入形状无效且无法修复,函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。有关更多信息,请参阅 指定如何处理无效的地理形状。

所需参数

varchar_expression

参数必须是 WKT 或 EWKT 格式的字符串表达式,表示一个合法的地理对象。

ST_GEOMFROMGEOHASH

geohash 的精度由其字符数决定。可选的 precision 参数指定要应用于输入哈希的精度。例如,将 precision 设置为 5 会指示函数使用输入 geohash 的前五个字符。

语法

例如

下面的示例显示了哈希的 GEOMETRY 对象

FROMGEOHASH ST_GEOMPOINT

语法

Geohash 参数

该函数返回一个 GEOMETRY 类型的点,该点是 geohash 的中心。

例如

下面的示例显示了 geohash 中心点的 GEOMETRY 对象

TO_GEOGRAPHY

语法

TO_Geometry

所需参数

varchar_expression

  • 参数必须是以下格式之一的字符串表达式,表示一个合法的几何对象。
  • WKT(常用文本)。
  • WKB(常用二进制)的十六进制表示形式,不带前导 0x。
  • EWKT(扩展常用文本)。

Variant_expression

参数需要是 GeoJSON 格式的对象。

geometry_expression

参数需要是 SRID 为 4326 的 GEOMETRY 类型表达式。

可选

Permit_invalid

如果指定 TRUE,则即使输入形状无效且无法修复,函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。有关更多信息,请参阅 指定如何处理无效的地理形状。

TRY_TO_GEOGRAPHY

所需参数包括:

varchar_expression

  • 参数必须是以下格式之一的字符串表达式,表示一个合法的几何对象。
  • WKT(常用文本)。
  • EWKT(扩展常用文本)。

Variant_expression

参数需要是 GeoJSON 格式的对象。

geography_expression

参数需要是 GEOGRAPHY 类型的表达式。

Permit_invalid

如果指定 TRUE,则即使输入形状无效且无法修复,函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。

TRY_TO_GEOMETRY

所需参数

varchar_expression

  • 参数必须是以下格式之一的字符串表达式,表示一个合法的几何对象。
  • WKT(常用文本)。
  • WKB(常用二进制)的十六进制表示形式,不带前导 0x。
  • EWKT(扩展常用文本)。

GeoJSON。

Variant_expression

参数需要是 GeoJSON 格式的对象。

可选

Permit_invalid

如果指定 TRUE,则即使输入形状无效且无法修复,函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。有关更多信息,请参阅 指定如何处理无效的地理形状。

varchar_expression

参数必须是以下格式之一的字符串表达式,表示一个合法的几何对象。

优点

  • 可扩展性:轻松管理大规模地理数据集。
  • 集成:合并非空间和地理数据的过程。
  • 性能:用于分析的地理空间函数已得到优化。
  • 可视化:导出结果以供 Tableau 或 QGIS(两种 GIS 程序)使用。

结论

总而言之,我们可以得出结论,它通过其可扩展性、性能和互操作性,简化了地理计算,如邻近分析、距离计算和空间连接。无论我们是在进行环境研究、优化配送路线还是分析城市基础设施,Snowflake 的地理功能都能提供强大的见解,同时又能与现代可视化工具和数据工作流完美融合。


下一主题