【发布时间】:2019-01-22 08:46:02
【问题描述】:
我已经加载了一个函数 hex_grid,它工作正常see here 但现在我有一个六边形网格,我想将多边形层中重叠质心点的所有值相加。我使用 with 语句让事情变得有点整洁,两个 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;
【问题讨论】:
标签: sql postgresql postgis