Article Outline
ST_DISTANCE関数
TOC
Collection Outline
[BIGQUERY] 分析入門
[BIGQUERY] SQL
■ 句(節)
■ 演算子
■ BigQuery特有
■ 関数
- approx_count_distinct() - 集計近似
- coalesce()
- countif()
- extract()
- greatest()
- ifnull()
- last_day()
- lead() / lag()
- left() / right()
- lower()
- nullif()
- parse_date()
- row_number() - 番号付
- safe_cast()
- split()
- st_distance()
- nth_value()
- first_value() / last_value()
- percentile_()
データ型
■ エラー
- error
- Resources exceeded during query execution: Not enough resources for query planning - too many subqueries or query is too complex
[BIGQUERY] ADVANCE
[BIGQUERY] ML
[BIGQUERY] DS
■ DS100ノック
■
[BIGQUERY] GA
|| st_distance()
緯度・経度を用いて、位置関係を調査したい。
select
*
, row_number() over(partition by SHOPOWNER_ID order by X_METERS) as DIS_NUM
from (
select distinct
r.SHOPOWNER_ID = i.SHOPOWNER_ID as DISTINCTFLG
# 対象会員の予約店舗
, r.SHOPOWNER_ID
, r.CLINIC_NAME
, r.SHOP_LATITUDE
, r.SHOP_LONGITUDE
# レコメンド用店舗
, i.SHOPOWNER_ID as MED_SHOPOWNER_ID
, i.CLINIC_NAME as MED_CLINIC_NAME
, i.SHOP_LATITUDE as MED_SHOP_LATITUDE
, i.SHOP_LONGITUDE as MED_SHOP_LONGITUDE
, i.CATALOG_ID as MED_CATALOG_ID
, st_distance(
st_geogpoint(r.SHOP_LONGITUDE, r.SHOP_LATITUDE)
, st_geogpoint(i.SHOP_LONGITUDE, i.SHOP_LATITUDE)
) as X_METERS
from
med_rsv_member r
left join
med_info_prep i using(INTEGRATION_ID)
)
where
X_METERS <= 1000
and DISTINCTFLG is false
|| cf.
- BigQuery GIS による天文データのクエリ - GoogleCloud
- 地理関数 - GoogleCloud
- BigQueryで測定系の地理関数を確認してみた(BigQuery GIS) - DevelopersIO
- メモ:BigQueryで2点間の距離を計算する - Qiita
- SQLで2点間の緯度経度から距離を測定する方法 - ueblog
- SQLで緯度・経度から2点間の距離を算出する - OC TechNote