Rails5, PostgreSQLを使って開発しております。
PostgreSQLのextensionでpostgisを使っており、これはDBに空間情報を保持することを可能にします。
例えば以下のようなリクエストを行うと、
SELECT ST_Distance(ST_GeographyFromText('Point(132.463495 34.393817)'), ST_GeographyFromText('Point(132.468527 34.393366)'));
以下のような結果を返してくれます。
st_distance -------------- 465.42186231 (1 row)
この機能をRails上でも使いたい
この、SQL文で返ってくるデータを、rails上で表示したいです。
具体的には、Rails上で指定した2地点間の距離を取得したいです。
そのためには地点1と地点2の位置情報を@lonlat1 @lonlat2
に代入して
SELECT ST_Distance(ST_GeographyFromText(@lonlat1), ST_GeographyFromText(@lonlat2));
をrails上で実行、戻り値の数値を取得したいのです。
何かこのように、sql文をrailsで実行し、戻り値を取得する方法はありますでしょうか?
whereやfind_byなどの、dbの情報を抜き出す際についてしか情報が見つからず、困っています。
宜しくお願いします。
あなたの回答
tips
プレビュー