开发者社区 > 博文 > 【JUSTQL Reference】DAL介绍之Geohash操作
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

【JUSTQL Reference】DAL介绍之Geohash操作

  • 京东城市JUST团队
  • 2021-01-26
  • IP归属:未知
  • 38880浏览

1.1.1.1 查询polygon内的Geohash

语法:

1.   SELECT st_getWithinGeoHashes/getIntersectGeoHashes(polygon, hashLength)

功能

          给定一个geoHash长度和一个polygon,找出这个polygon内包含或者相交的所有geohash格子

参数

          polygon 查询的polygon,可以通过udf构建

          hashlength 指定geohash长度

示例:

1.   select st_getIntersectGeoHashes(st_geomFromWKT('POLYGON ((114.11073 22.61801, 114.12073 22.62801 , 114.13073 22.65801, 114.11073 22.67801, 114.18073 22.64801, 114.11073 22.61801))'), 6)  

1.1.1.2 Geohash格子的合并

语法

1. st_aggregateGeoHashes(collect_list(geohash_column))

功能

          根据用户传入的一系列geoHash String,返回合并相邻geoHash后的polygons

input

          collect_list(geohash_column) collect_listspark sql内置UDF,获取一列的所有元素集合

          geohash_column表的geohash String列列名

output

          Polygon对象集合

example

1. select st_aggregateGeoHashes(collect_list(geohash)) from nt_grid01

1.1.1.3 Geohash映射到polygon

语法

1. st_projectGeoHashToPolygon(geohash_columns,polygons)

功能

          传入一个list polygon 返回geoHash对应的polygon, st_projectGeoHashToPolygon(geohash_columns,polygons)

Input

          geohash_column: geohash所在的表的列名, polygons: polygon集合

Output

          geohash对应所在的polygon,如果geohash不位于polygons中任何一个polygon,则返回null

Example

select ST_projectGeoHashToPolygon(

geohash,

st_aggregateGeoHashes(array('wtwhcfr','wtwhcgg','wtwhcfy','wtwhcuc'))

)

from nt_grid01

共0条评论