我已经加载了一个函数hex_grid,它可以正常工作see here,但是现在我有了一个六角形网格,我想将多边形层中重叠质心点的所有值加起来。我已经使用了语句来使事情保持整洁,两个select语句都按预期工作,加入时出现了我的问题,显然我做错了什么,但我看不到,任何帮助将不胜感激。这是代码。十六进制和点都在相同的crs中。
with hex AS(
SELECT hex_grid(
1,
(ST_XMIN(sa.geom)),
(ST_YMIN(sa.geom)),
(ST_XMAX(sa.geom)),
(ST_YMAX(sa.geom)),
32635, 32635, 32635) as geom_h
FROM geodata.study_area sa),
points AS(
SELECT count(*) as count, ST_Centroid(su.geom) AS geom_p
FROM clas.survey_unit su
group by su.geom
)
SELECT hex.geom_h, points.count
FROM hex
JOIN points
ON ST_Contains(points.geom_p, hex.geom_h)
group by hex.geom_h, points.count;
答案 0 :(得分:1)
sub
首先应具有包含点的多边形
ST_Contains