Hello,

 

The following  query should work well with your data :

 

Select poly_id, count(*) as nb_point from

                (select poly_id, point_id from table_point, table_poly

                Where st_contains(point_geom, poly_geom)

                ) as foo

Group by poly_id

 

Hugues.

 

De : [email protected] 
[mailto:[email protected]] De la part de Carsten Hogertz
Envoyé : samedi 16 mars 2013 16:53
À : PostGIS Users Discussion
Objet : [postgis-users] Count Points in Polygon with Postgis

 

I've got a simple problem: I want to count the number of points within a set of 
polygons.

I have a SQL already but it only gives back the gid of the polygone that 
actually contains points.

My tables: a polygon layer with 19.000 rows and a point layer with 450 rows.

The following SQL 

select grid.gid, count(*) AS totale FROM grid, kioskdhd3 WHERE 
st_contains(grid.geom,kioskdhd3.geom) GROUP BY grid.gid;

return only some 320 polygons that actually contain points. But I want all 
polygons returned, even thought the number of points is 0.

Of course it has to do with my WHERE-clause. Where do I have to put in my 
st_contains?

Thank you Carsten

_______________________________________________
postgis-users mailing list
[email protected]
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users

Reply via email to