BigQueryである2地点間の距離を求める方法 ①BigQueryの地理関数ST_GEOGPOINTとST_DISTANCEで求める ※完全な球体として表面上の距離を計算している ②JavaScriptのユーザー定義関数(UDF)で求める 早速、任意の位置情報を2列用意して実践してみた CREATE TEMP FUNCTION distance(lon1 FLOAT64, lat1 FLOAT64, lon2 FLOAT64, lat2 FLOAT64) RETURNS FLOAT64 LANGUAGE js AS """ lon1 *= Math.PI / 180; lat1 *= Math.PI / 180; lon2 *= Math.PI / 180; lat2 *= Math.PI / 180; return 6378.137 * Math.acos(Math.cos(lat1)