全部产品
阿里云办公

地理位置函数

更新时间:2017-11-02 11:48:59

UDF_SYS_GEO_IN_CYCLE

  1. 作用:用于做基于地理位置的经纬度画圈

  2. 格式:UDF_SYS_GEO_IN_CYCLE(longitude, latitude, point, radius)

    • 第一个参数为经度列名称, 类型float
    • 第二个参数为纬度列名称, 类型float
    • 第三个参数为圆圈中心点的位置,格式=>”经度,维度”, =>”120.85979,30.011984”
    • 第四个参数为圆圈的半径,单位米
  3. 返回:返回一个boolean值

  4. 使用说明:

  1. select count(*) from db_name.usertag where udf_sys_geo_in_cycle(longitude,latitude, "120.85979,30.011984", 5000)=true

求以”120.85979,30.011984”为中心点,半径为5km的圆圈内的人数

  1. select longitude,latitude from db_name.usertag where udf_sys_geo_in_cycle(longitude,latitude, "120.85979,30.011984", 5000)=true order by longitude

UDF_SYS_GEO_IN_RECTANGLE

  1. 作用:用于做基于地理位置的经纬度画矩形

  2. 格式:UDF_SYS_GEO_IN_RECTANGLE(longitude, latitude, pointA, pointB)

    • 第一个参数为经度列名称, 类型float
    • 第二个参数为纬度列名称, 类型float
    • 第三个参数为矩形的左下角坐标,格式=>”经度,维度”, =>”120.85979,30.011984”
    • 第四个参数为矩形的右上角坐标,格式=>”经度,维度”, =>”120.88450,31.21011”
  3. 返回:返回一个boolean值

  4. 使用说明:

  1. select count(*) from db_name.usertag where udf_sys_geo_in_rectangle(longitude,latitude, "120.85979,30.011984", "120.88450,31.21011")=true

求以”120.85979,30.011984”和””120.88450,31.21011””为2个斜角构成的矩形圈内的人数

UDF_SYS_GEO_DISTANCE

  1. 作用:用作一个经纬度列和一个固定的坐标点的距离计算

  2. 格式:UDF_SYS_GEO_DISTANCE(longitude, latitude, pointA)

    • 第一个参数为经度列名称, 类型float
    • 第二个参数为纬度列名称, 类型float
    • 第三个参数为固定坐标点的经纬度,格式=>”经度,维度”, =>”120.85979,30.011984”
  3. 返回:返回一个int值,单位为米(M)

  4. 使用说明:

  1. select count(*) from db_name.usertag where udf_sys_geo_in_rectangle(longitude,latitude, "120.85979,30.011984", "120.88450,31.21011")=true

求以”120.85979,30.011984”和””120.88450,31.21011””为2个斜角构成的矩形圈内的人数