h3_kringdistances
函数
适用于:砖的SQL砖运行时11.2及以上
返回所有H3细胞内(表示为长整数或字符串)网格的距离k
从原点H3细胞,连同他们的距离原点H3细胞。
返回
数组与两个字段命名结构,命名cellid
和距离
分别在第一个字段的结构是一个H3细胞ID(表示为一个长整数或字符串)和第二个字段的结构是其距离原点H3细胞(表示为一个整数)。H3细胞的类型id的输出是一样的类型h3CellIdExpr
。
返回数组中的元素排序对他们距离原点H3细胞。相对应的元素返回数组中相同的距离可能会以任何顺序返回。函数返回NULL如果任何一个输入的表达式是NULL。函数部分验证关于输入参数是否有效的H3细胞ID,必要但不充分条件之间的有效的H3 ID,它的价值是0 x08001fffffffffff
和0 x08ff3b6db6db6db6
。函数定义的行为如果输入细胞ID不是一个有效的细胞ID。如果网格距离的值是零,返回的数组包含一个值等于输入H3细胞ID。
错误条件
如果
h3CellIdExpr
是一个字符串,不能转换为长整型数字或对应于一个长整型数字值小于0 x08001fffffffffff
或比0 x08ff3b6db6db6db6
,该函数返回H3_INVALID_CELL_ID如果
kExpr
是负的,函数返回H3_INVALID_GRID_DISTANCE_VALUE
例子
——简单的例子,第一个参数是一个长整型数字。>选择h3_kringdistances (599686042433355775 1) [{“cellid”: 599686042433355775,“距离”:0},{“cellid”: 599686030622195711,“距离”:1},{“cellid”: 599686044580839423,“距离”:1},{“cellid”: 599686038138388479,“距离”:1},{“cellid”: 599686043507097599,“距离”:1},{“cellid”: 599686015589810175,“距离”:1},{“cellid”: 599686014516068351,“距离”:1}]——简单的例子,第一个参数是一个字符串。>选择h3_kringdistances (' 85283473 fffffff ', 1) [{“cellid”:“85283473 fffffff”,“距离”:0},{“cellid”:“85283447 fffffff”,“距离”:1},{“cellid”:“8528347 bfffffff”,“距离”:1},{“cellid”:“85283463 fffffff”,“距离”:1},{“cellid”:“85283477 fffffff”,“距离”:1},{“cellid”:“8528340 ffffffff”,“距离”:1},{“cellid”:“8528340 bfffffff”,“距离”:1}]——首先输入一个无效的H3细胞ID。>选择h3_kringdistances (0,0) [H3_INVALID_CELL_ID] 0不是有效的H3细胞ID——第二次输入是一个无效的网格距离值。>选择h3_kringdistances (' 85283473 fffffff ', 1) [H3_INVALID_GRID_DISTANCE_VALUE] H3网格距离1必须是非负数