【问题标题】:PostGIS Intersection multiple geometryPostGIS 交叉点多几何
【发布时间】:2017-06-19 13:38:25
【问题描述】:

我有一个 postgis 多边形表 (zipcode1) 和两点表 (pm253, blockpop)。我想将多边形表与两个点表相交并计算每个点表有多少点,总结一些其他属性来计算比率。如您在此处看到的,我可以针对单个表执行此操作:

SELECT zipcode1.gid, count(*) as totpm, sum(pm) as totsum, sum(pm)/count(*) as res 
FROM pm253, zipcode1 
WHERE st_intersects(st_buffer(zipcode1.geom, 100),pm253.geom) 
GROUP BY zipcode1.gid 

有什么建议吗?谢谢。

【问题讨论】:

    标签: postgis intersect


    【解决方案1】:

    尝试联合;

    SELECT 'zipcode1<->pm253' as tables, zipcode1.gid, count(*) as totpm, sum(pm) as totsum, sum(pm)/count(*) as res 
    FROM pm253, zipcode1 
    WHERE st_intersects(st_buffer(zipcode1.geom, 100),pm253.geom)  and zipcode1.geom&&pm253.geom -- to accelerate query
    GROUP BY zipcode1.gid 
    
    union
    
    SELECT 'zipcode1<->blockpop' as tables, zipcode1.gid, count(*) as totpm, sum(pm) as totsum, sum(pm)/count(*) as res 
    FROM blockpop, zipcode1 
    WHERE st_intersects(st_buffer(zipcode1.geom, 100),blockpop.geom)  and zipcode1.geom && blockpop.geom -- to accelerate query
    GROUP BY zipcode1.gid 
    

    【讨论】:

      猜你喜欢
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多