Tengo una tabla PostGIS de polygons
así:
polygon_id | polygon_geom
Y otra de points
así:
point_id | polygon_id | point_geom
Quiero encontrar todos los puntos de la points
que se encuentran dentro de un polígono específico del polygons
mesa. He probado esta consulta:
SELECT points.point_id FROM points, polygons WHERE St_contains((SELECT polygons.polygon_geom FROM polygons WHERE polygons.polygon_id = 2905), points.point_geom) = 't';
Espero que el 21 point_id
pero en su lugar me da todo el polygon
con cada línea repetida 21 veces. ¿Cómo puedo obtener sólo las 21 filas de la tabla points
¿Mesa? Y además, ¿cómo puedo entonces asignar el polygon_id
que estos puntos están dentro a la points.polygon_id
para esas 21 filas del points
¿Mesa?
EDIT: Si utilizo esta consulta para comprobar si una polygon
está en otra del polygon
esta consulta funciona perfectamente. Así que siento que estoy cerca, pero fundamentalmente malentendido algo.
EDIT 2: cambiado polygon.id
columna a polygon.polygon_id