方法は?
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.)のために日本の範囲を先に指定している。
参考サイト
データ分析備忘録より記事を移管中