计算表A中存在于表B正方形区域中的点数 - SQL + QGIS

Posted

技术标签:

【中文标题】计算表A中存在于表B正方形区域中的点数 - SQL + QGIS【英文标题】:count number of points in table A that exist in a square area in table B - SQL + QGIS 【发布时间】:2022-01-01 04:40:19 【问题描述】:

我有一个表 A,它在空间中存在散点。表 B 有许多平方周长。我想要一个 SQL 代码,它将编写一个表,其中包含表 A 中落在表 B 的平方周长内的点数。

我正在 QGIS 中编写此 SQL。

这就是问题的样子:

其中:A 表的圆点为蓝色,方块为 B 表。

输出应该是这样的:

索赔单元# |数

1 = 9, 2 = 0, 3 = 0,

等等……

到目前为止我有:

select "TENURE_NUM", count(*) from Samples the Station_ID,但我不知道下一步该做什么,我正在尝试在线查看示例但我之前从未真正使用过 SQL。

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

据我了解,以下 SQL 请求可能是您工作的解决方案:

-- Select the columns for output table
-- a = dots , b = square
SELECT
   b.number,
   count(a.*) as nbr_of_dots
FROM a, b

-- Condition for intersection and group for each square

WHERE st_intersects(a.geom,b.geom)
GROUP BY b.geom,b.id;

【讨论】:

以上是关于计算表A中存在于表B正方形区域中的点数 - SQL + QGIS的主要内容,如果未能解决你的问题,请参考以下文章

SQL:选择表 A 中不在表 B 中的所有唯一值

查找存在于两个不同表中的单个行

表A中一条记录的两个字段都对应于表B的同一个字段 如何查询?SQL, thinkphp[5]

MYSQL 计算某些值作为值存在于表的字段中的次数

查找表 B 中相对于表 A 日期的最新值

仅返回表 B 中存在的表 A 的一个值