我要运行的查询是:

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函数中发生。知道怎么办吗?

最佳答案

将计算列作为别名,您将得到一个添加到返回对象的方法。

Zcta.
  select("*, ST_AsGeoJSON(ST_simplify(geom,500)) as my_geo").
  where(geoid10: '90210').each do |result|
    puts result.my_geo
  end

关于ruby-on-rails - 如何在Rails中使用PostGIS功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15842818/

10-10 04:38