3

実行したいクエリは次のとおりです。

SELECT zcta.geoid10, ST_AsGeoJSON(ST_simplify(zcta.geom,500)) FROM zcta WHERE zcta.geoid10 = '90210'

ただし、Rails コンソールでこれを入力すると、次のようになります。

testquery = "SELECT zcta.geoid10, ST_AsGeoJSON(ST_simplify(zcta.geom,500)) FROM zcta WHERE zcta.geoid10 = '90210'"
Zcta.find_by_sql testquery

以下が返されます。

 => [#<Zcta >]

任意の列の結果を求める基本的なクエリを実行すると、期待どおりの応答が得られます。これは PostGIS 関数でのみ発生します。どうすればいいですか?

4

1 に答える 1

3

計算列にエイリアスを設定すると、返されたオブジェクトにメソッドが追加されます。

Zcta.
  select("*, ST_AsGeoJSON(ST_simplify(geom,500)) as my_geo").
  where(geoid10: '90210').each do |result|
    puts result.my_geo
  end
于 2013-04-08T11:32:11.270 に答える