适用于: Databricks SQL
 Databricks SQL  Databricks Runtime 17.1 及更高版本
 Databricks Runtime 17.1 及更高版本
Important
此功能目前以公共预览版提供。
表示一个几何对象,如点、线串、多边形等,其坐标参考系统是欧几里得的,适用于第一个(X)和第二个(Y)坐标,以及(如果存在的话)它的 Z 坐标。 基础坐标参考系统由 GEOMETRY 类型的 SRID 值描述。 如果基础坐标引用系统未知,则使用值 0 。 X、Y、(可选)Z 坐标的单位是 SRID 隐含的(除非 SRID 值 0 ,在这种情况下取决于用户的使用上下文)。
Note
Iceberg 表不支持 GEOMETRY 列。
Syntax
GEOMETRY ( { srid | ANY } )
Limits
类型为 GEOMETRY(ANY) 的列可以存储每行其 SRID 值不同的几何图形。
无法永久保存 GEOMETRY(ANY) 类型的列。
支持大约 11000 个 SRID 值。 详细了解 SRID。
如果用户尝试定义GEOMETRY具有不受支持的 SRID 值的列,用户将收到ST_INVALID_SRID_VALUE错误。
Literals
有关如何创建 GEOMETRY 值的详细信息,请参阅:
- 
              
              st_geomfromgeojson函数
- 
              
              st_geomfromtext函数
- 
              
              st_geomfromwkb函数
- 
              
              st_geomfromwkt函数
- 
              
              to_geometry函数
- 
              
              try_to_geometry函数
Notes
- 若要将 GEOMETRY值转换为地理空间标准或广泛使用的格式之一,可以使用:- 
              
              st_asbinary函数用于以 WKB 格式导出GEOMETRY。
- 
              
              st_asewkb函数用于以扩展 WKB (EWKB) 格式导出GEOMETRY。
- 
              
              st_asewkt函数用于以扩展 WKT (EWKT) 格式导出GEOMETRY。
- 
              
              st_asgeojson函数用于以 GeoJSON 格式导出GEOMETRY。
- 
              
              st_astext函数 以 WKT 格式导出GEOMETRY。
 
- 
              
              
Examples
> SELECT hex(st_asbinary(st_geomfromtext('POINT(1 2)')));
  0101000000000000000000f03f0000000000000040
> SELECT st_asewkt(st_geomfromwkb(X'0101000000000000000000f03f0000000000000040'));
  POINT(1 2)
> SELECT st_asgeojson(st_geomfromtext('POINT(1 2)'));
  {"type":"Point","coordinates":[[1,2]]}
> SELECT st_astext(st_geomfromgeojson('{"type":"Point","coordinates":[[1,2]]}'));
  POINT(1 2)
> SELECT st_astext(to_geometry('{"type":"Point","coordinates":[[1,2]]}'));
  POINT(1 2)
> SELECT try_to_geometry('not a geometry value');
  NULL