Ruby Sequeĺ 中的空间 where 子句
Spatial where clause in Ruby Sequeĺ
如何在 Ruby 中编写此 SQL 查询 Sequel:
SELECT
polygon.geometry, count(line)
FROM
polygon, line
WHERE
st_intersects(line.geometry, polygon.geometry)
GROUP BY
polygon.geometry
可能有更好的方法,但这是我的解决方案:
DB.from(:polygon, :line)
.where('st_intersects(line.geometry, polygon.geometry')
.select('polygon.geometry, count(line)')
.group_by(:polygon__geometry)
生成了 SQL 查询(我用 Oracle 数据库做了这个,但结果应该是一样的):
#<Sequel::Oracle::Dataset: "SELECT 'polygon.geometry, count(line)' FROM \"POLYGON\", \"LINE\" WHERE (st_intersects(line.geometry, polygon.geometry) GROUP BY \"POLYGON\".\"GEOMETRY\"">
DB[:polygon, :line].
select_group(:polygon__geometry).
select_append{count(line)}.
where{st_intersects(:line__geometry, :polygon__geometry)}
如何在 Ruby 中编写此 SQL 查询 Sequel:
SELECT
polygon.geometry, count(line)
FROM
polygon, line
WHERE
st_intersects(line.geometry, polygon.geometry)
GROUP BY
polygon.geometry
可能有更好的方法,但这是我的解决方案:
DB.from(:polygon, :line)
.where('st_intersects(line.geometry, polygon.geometry')
.select('polygon.geometry, count(line)')
.group_by(:polygon__geometry)
生成了 SQL 查询(我用 Oracle 数据库做了这个,但结果应该是一样的):
#<Sequel::Oracle::Dataset: "SELECT 'polygon.geometry, count(line)' FROM \"POLYGON\", \"LINE\" WHERE (st_intersects(line.geometry, polygon.geometry) GROUP BY \"POLYGON\".\"GEOMETRY\"">
DB[:polygon, :line].
select_group(:polygon__geometry).
select_append{count(line)}.
where{st_intersects(:line__geometry, :polygon__geometry)}