現場で役立つデータ分析を学ぶ

データ分析大学

BigQuery

BigQuery 複雑な緯度経度の範囲を指定する方法

更新日:

方法は?

WHERE文に下記の命令を記載するだけ。緯度経度は10進数。最後に、最初に指定した「経度1 緯度1」を入力することで範囲が閉じられる。

ST_COVERS(ST_GEOGFROMTEXT('POLYGON((経度1 緯度1,経度2 緯度2,~,経度1 緯度1))'),
ST_GEOGPOINT(経度のカラム名,緯度のカラム名))

SELECT
  time,latitude,longitude
FROM
  data
WHERE
  --error回避のため日本の範囲を指定
  latitude BETWEEN 23
  AND 46
  AND longitude BETWEEN 123
  AND 148
  --複雑な範囲を指定 
  AND ST_COVERS(ST_GEOGFROMTEXT('POLYGON((139.598915 35.687744,
    139.598909 35.687584,139.598915 35.687744))'),
    ST_GEOGPOINT(longitude,
      latitude))

エラー回避(ST_GeogPoint failed: Latitude must be between -90 and 90 degrees.)のために日本の範囲を先に指定している。

参考サイト





データ分析備忘録より記事を移管中

-BigQuery

Copyright© データ分析大学 , 2020 All Rights Reserved Powered by STINGER.